24 lines
510 B
Swift
24 lines
510 B
Swift
import Foundation
|
|
|
|
public struct SourceID: Hashable, Codable, Sendable {
|
|
public let raw: UUID
|
|
|
|
public init(_ raw: UUID = UUID()) {
|
|
self.raw = raw
|
|
}
|
|
}
|
|
|
|
public struct EntityID: Hashable, Codable, Sendable {
|
|
public let source: SourceID
|
|
public let remote: String
|
|
|
|
public init(source: SourceID, remote: String) {
|
|
self.source = source
|
|
self.remote = remote
|
|
}
|
|
}
|
|
|
|
public enum EntityKind: String, Codable, Sendable {
|
|
case artist, album, track, playlist, station
|
|
}
|