WIP
This commit is contained in:
@@ -20,11 +20,18 @@ class DataStore: ObservableObject {
|
||||
public private(set) var allMuscles: [Muscle]?
|
||||
public private(set) var allEquipment: [Equipment]?
|
||||
public private(set) var allExercise: [Exercise]?
|
||||
public private(set) var allNSFWVideos: [NSFWVideo]?
|
||||
|
||||
@Published public private(set) var status = DataStoreStatus.idle
|
||||
|
||||
private let fetchAllDataQueue = DispatchGroup()
|
||||
|
||||
public func randomVideoFor(gender: String) -> String? {
|
||||
return allNSFWVideos?.filter({
|
||||
$0.genderValue == gender
|
||||
}).randomElement()?.videoFile ?? nil
|
||||
}
|
||||
|
||||
public var workoutsUniqueUsers: [RegisteredUser]? {
|
||||
guard let workouts = allWorkouts else {
|
||||
return nil
|
||||
@@ -41,6 +48,7 @@ class DataStore: ObservableObject {
|
||||
fetchAllDataQueue.enter()
|
||||
fetchAllDataQueue.enter()
|
||||
fetchAllDataQueue.enter()
|
||||
fetchAllDataQueue.enter()
|
||||
|
||||
fetchAllDataQueue.notify(queue: .main) {
|
||||
self.status = .idle
|
||||
@@ -73,7 +81,7 @@ class DataStore: ObservableObject {
|
||||
switch result {
|
||||
case .success(let model):
|
||||
self.allEquipment = model.sorted(by: {
|
||||
$0.name ?? "a" < $1.name ?? "a"
|
||||
$0.name < $1.name
|
||||
})
|
||||
case .failure(let error):
|
||||
print(error)
|
||||
@@ -92,6 +100,16 @@ class DataStore: ObservableObject {
|
||||
}
|
||||
self.fetchAllDataQueue.leave()
|
||||
})
|
||||
|
||||
AllNSFWVideosFetchable().fetch(completion: { result in
|
||||
switch result {
|
||||
case .success(let model):
|
||||
self.allNSFWVideos = model
|
||||
case .failure(let error):
|
||||
print(error)
|
||||
}
|
||||
self.fetchAllDataQueue.leave()
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user