Merge iOS and Mac app into one
This commit is contained in:
86
ABS Client/Audiobookshelf swift/Models/APIResponses.swift
Normal file
86
ABS Client/Audiobookshelf swift/Models/APIResponses.swift
Normal file
@@ -0,0 +1,86 @@
|
||||
import Foundation
|
||||
|
||||
struct LoginResponseDTO: Decodable {
|
||||
let user: UserDTO
|
||||
}
|
||||
|
||||
struct UserDTO: Decodable {
|
||||
let id: String
|
||||
let username: String?
|
||||
let token: String
|
||||
}
|
||||
|
||||
struct LibrariesResponseDTO: Decodable {
|
||||
let libraries: [LibraryDTO]
|
||||
}
|
||||
|
||||
struct LibraryDTO: Decodable {
|
||||
let id: String
|
||||
let name: String
|
||||
let mediaType: String?
|
||||
}
|
||||
|
||||
struct LibraryItemsResponseDTO: Decodable {
|
||||
let results: [LibraryItemDTO]
|
||||
let total: Int?
|
||||
}
|
||||
|
||||
struct LibraryItemDTO: Decodable {
|
||||
let id: String
|
||||
let mediaType: String?
|
||||
let media: MediaDTO?
|
||||
}
|
||||
|
||||
struct MediaDTO: Decodable {
|
||||
let metadata: MetadataDTO?
|
||||
let duration: Double?
|
||||
let audioFiles: [AudioFileDTO]?
|
||||
let episodes: [EpisodeDTO]?
|
||||
}
|
||||
|
||||
struct MetadataDTO: Decodable {
|
||||
let title: String?
|
||||
let authorName: String?
|
||||
let author: String?
|
||||
let description: String?
|
||||
}
|
||||
|
||||
struct EpisodeDTO: Decodable {
|
||||
let id: String
|
||||
let title: String?
|
||||
let subtitle: String?
|
||||
let pubDate: String?
|
||||
let publishedAt: Double?
|
||||
let season: String?
|
||||
let episode: String?
|
||||
let duration: Double?
|
||||
let audioFile: AudioFileDTO?
|
||||
}
|
||||
|
||||
struct AudioFileDTO: Decodable {
|
||||
let ino: String
|
||||
let index: Int?
|
||||
let metadata: AudioFileMetadataDTO?
|
||||
let duration: Double?
|
||||
|
||||
struct AudioFileMetadataDTO: Decodable {
|
||||
let filename: String?
|
||||
let ext: String?
|
||||
}
|
||||
}
|
||||
|
||||
struct ProgressResponseDTO: Decodable {
|
||||
let id: String?
|
||||
let libraryItemId: String?
|
||||
let episodeId: String?
|
||||
let currentTime: Double?
|
||||
let duration: Double?
|
||||
let isFinished: Bool?
|
||||
let lastUpdate: Double?
|
||||
}
|
||||
|
||||
struct MeResponseDTO: Decodable {
|
||||
let id: String?
|
||||
let username: String?
|
||||
let mediaProgress: [ProgressResponseDTO]?
|
||||
}
|
||||
Reference in New Issue
Block a user