Initial commit
This commit is contained in:
17
WhiteNights/Models/Article.swift
Normal file
17
WhiteNights/Models/Article.swift
Normal file
@ -0,0 +1,17 @@
|
||||
import Foundation
|
||||
|
||||
struct Article: Decodable, Identifiable, Equatable {
|
||||
let id: Int
|
||||
let body: String
|
||||
let heading: String
|
||||
let service_name: String?
|
||||
var isReviewArticle: Bool? = false
|
||||
|
||||
init(id: Int, body: String, heading: String, service_name: String? = nil, isReviewArticle: Bool = false) {
|
||||
self.id = id
|
||||
self.body = body
|
||||
self.heading = heading
|
||||
self.service_name = service_name
|
||||
self.isReviewArticle = isReviewArticle
|
||||
}
|
||||
}
|
8
WhiteNights/Models/ArticleMedia.swift
Normal file
8
WhiteNights/Models/ArticleMedia.swift
Normal file
@ -0,0 +1,8 @@
|
||||
import Foundation
|
||||
|
||||
struct ArticleMedia: Decodable, Identifiable {
|
||||
let id: String
|
||||
let filename: String
|
||||
let media_name: String
|
||||
let media_type: Int
|
||||
}
|
11
WhiteNights/Models/Route.swift
Normal file
11
WhiteNights/Models/Route.swift
Normal file
@ -0,0 +1,11 @@
|
||||
struct Route: Decodable, Identifiable {
|
||||
let id: Int
|
||||
let routeNumber: String
|
||||
let routeSysNumber: String
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case id
|
||||
case routeNumber = "route_number"
|
||||
case routeSysNumber = "route_sys_number"
|
||||
}
|
||||
}
|
33
WhiteNights/Models/SightModel.swift
Normal file
33
WhiteNights/Models/SightModel.swift
Normal file
@ -0,0 +1,33 @@
|
||||
import Foundation
|
||||
|
||||
struct SightModel: Decodable, Identifiable {
|
||||
let id: Int
|
||||
let address: String
|
||||
let city: String?
|
||||
let city_id: Int
|
||||
let latitude: Double
|
||||
let longitude: Double
|
||||
let left_article: Int
|
||||
let name: String
|
||||
let preview_media: String?
|
||||
let thumbnail: String
|
||||
let video_preview: String?
|
||||
let watermark_lu: String
|
||||
let watermark_rd: String
|
||||
|
||||
var previewMediaURL: URL? {
|
||||
guard let preview_media = preview_media else { return nil }
|
||||
return URL(string: preview_media)
|
||||
}
|
||||
|
||||
var videoPreviewURL: URL? {
|
||||
guard let video_preview = video_preview else { return nil }
|
||||
return URL(string: video_preview)
|
||||
}
|
||||
}
|
||||
|
||||
struct SightContent: Decodable {
|
||||
let name: String
|
||||
let preview_media: String
|
||||
let video_preview: String?
|
||||
}
|
6
WhiteNights/Models/Station.swift
Normal file
6
WhiteNights/Models/Station.swift
Normal file
@ -0,0 +1,6 @@
|
||||
import Foundation
|
||||
|
||||
struct Station: Codable, Identifiable {
|
||||
var id: Int
|
||||
var name: String
|
||||
}
|
27
WhiteNights/Models/StopModels.swift
Normal file
27
WhiteNights/Models/StopModels.swift
Normal file
@ -0,0 +1,27 @@
|
||||
import Foundation
|
||||
|
||||
// MARK: - Stop
|
||||
struct Stop: Identifiable, Codable {
|
||||
let id: Int
|
||||
let name: String
|
||||
}
|
||||
|
||||
// MARK: - StopDetail
|
||||
struct StopDetail: Identifiable, Codable {
|
||||
let id: Int
|
||||
let name: String
|
||||
let transfers: Transfers
|
||||
}
|
||||
|
||||
// MARK: - Transfers
|
||||
struct Transfers: Codable {
|
||||
let tram: String?
|
||||
let trolleybus: String?
|
||||
let bus: String?
|
||||
let train: String?
|
||||
let metroRed: String?
|
||||
let metroGreen: String?
|
||||
let metroBlue: String?
|
||||
let metroPurple: String?
|
||||
let metroOrange: String?
|
||||
}
|
22
WhiteNights/Models/WeaherModel.swift
Normal file
22
WhiteNights/Models/WeaherModel.swift
Normal file
@ -0,0 +1,22 @@
|
||||
import Foundation
|
||||
|
||||
struct WeatherResponse: Codable {
|
||||
let currentWeather: CurrentWeatherItem?
|
||||
let forecast: [ForecastItem]
|
||||
}
|
||||
|
||||
struct CurrentWeatherItem: Codable {
|
||||
let temperatureCelsius: Double
|
||||
let description: String
|
||||
let humidity: Int
|
||||
let windSpeed: Double
|
||||
}
|
||||
|
||||
struct ForecastItem: Codable {
|
||||
let date: String
|
||||
let description: String
|
||||
let humidity: Int
|
||||
let windSpeed: Double
|
||||
let minTemperatureCelsius: Double
|
||||
let maxTemperatureCelsius: Double
|
||||
}
|
Reference in New Issue
Block a user