|
|
|
|
@ -14,24 +14,22 @@ class DataAccess: SyncedModelObject, SyncedStorable { |
|
|
|
|
static func relationships() -> [Relationship] { return [] } |
|
|
|
|
|
|
|
|
|
var id: String = Store.randomId() |
|
|
|
|
var owner: String |
|
|
|
|
var sharedWith: [String] |
|
|
|
|
var modelName: String |
|
|
|
|
var modelId: String |
|
|
|
|
var grantedAt: Date = Date() |
|
|
|
|
|
|
|
|
|
init(owner: String, sharedWith: [String], modelName: String, modelId: String) { |
|
|
|
|
self.owner = owner |
|
|
|
|
self.sharedWith = sharedWith |
|
|
|
|
self.modelName = modelName |
|
|
|
|
self.modelId = modelId |
|
|
|
|
super.init() |
|
|
|
|
self.relatedUser = owner |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Codable implementation |
|
|
|
|
enum CodingKeys: String, CodingKey { |
|
|
|
|
case id |
|
|
|
|
case owner |
|
|
|
|
case sharedWith |
|
|
|
|
case modelName |
|
|
|
|
case modelId |
|
|
|
|
@ -41,7 +39,6 @@ class DataAccess: SyncedModelObject, SyncedStorable { |
|
|
|
|
required init(from decoder: Decoder) throws { |
|
|
|
|
let container = try decoder.container(keyedBy: CodingKeys.self) |
|
|
|
|
id = try container.decode(String.self, forKey: .id) |
|
|
|
|
owner = try container.decode(String.self, forKey: .owner) |
|
|
|
|
sharedWith = try container.decode([String].self, forKey: .sharedWith) |
|
|
|
|
modelName = try container.decode(String.self, forKey: .modelName) |
|
|
|
|
modelId = try container.decode(String.self, forKey: .modelId) |
|
|
|
|
@ -52,7 +49,6 @@ class DataAccess: SyncedModelObject, SyncedStorable { |
|
|
|
|
override func encode(to encoder: Encoder) throws { |
|
|
|
|
var container = encoder.container(keyedBy: CodingKeys.self) |
|
|
|
|
try container.encode(id, forKey: .id) |
|
|
|
|
try container.encode(owner, forKey: .owner) |
|
|
|
|
try container.encode(sharedWith, forKey: .sharedWith) |
|
|
|
|
try container.encode(modelName, forKey: .modelName) |
|
|
|
|
try container.encode(modelId, forKey: .modelId) |
|
|
|
|
@ -63,14 +59,10 @@ class DataAccess: SyncedModelObject, SyncedStorable { |
|
|
|
|
func copy(from other: any Storable) { |
|
|
|
|
guard let dataAccess = other as? DataAccess else { return } |
|
|
|
|
self.id = dataAccess.id |
|
|
|
|
self.owner = dataAccess.owner |
|
|
|
|
self.sharedWith = dataAccess.sharedWith |
|
|
|
|
self.modelName = dataAccess.modelName |
|
|
|
|
self.modelId = dataAccess.modelId |
|
|
|
|
self.grantedAt = dataAccess.grantedAt |
|
|
|
|
// self.lastHierarchyUpdate = dataAccess.lastHierarchyUpdate |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// var lastHierarchyUpdate: Date |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|