Skip to content

Commit a4c56f1

Browse files
committed
Upgraded request data.
1 parent c497562 commit a4c56f1

File tree

11 files changed

+97
-14
lines changed

11 files changed

+97
-14
lines changed

Package.swift

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,25 @@ import PackageDescription
55
let SwiftBoost: Target.Dependency = .product(name: "SwiftBoost", package: "SwiftBoost")
66

77
let package = Package(
8-
name: "FirebaseWrapper",
8+
name: "Firewrap",
99
defaultLocalization: "en",
1010
platforms: [.iOS(.v13), .macCatalyst(.v13), .macOS(.v10_13), .tvOS(.v12), .watchOS(.v7)],
1111
products: [
12-
.library(
12+
/*.library(
1313
name: "FirebaseWrapper",
1414
targets: ["FirebaseWrapper"]
15+
),*/
16+
.library(
17+
name: "FirewrapAuth",
18+
targets: ["FirewrapAuth"]
1519
),
1620
.library(
17-
name: "FirebaseWrapperRemoteConfig",
18-
targets: ["FirebaseWrapperRemoteConfig"]
21+
name: "FirewrapDatabase",
22+
targets: ["FirewrapDatabase"]
1923
),
2024
.library(
21-
name: "FirebaseWrapperAuth",
22-
targets: ["FirebaseWrapperAuth"]
25+
name: "FirewrapRemoteConfig",
26+
targets: ["FirewrapRemoteConfig"]
2327
)
2428
],
2529
dependencies: [
@@ -29,25 +33,32 @@ let package = Package(
2933
],
3034
targets: [
3135
.target(
32-
name: "FirebaseWrapper",
36+
name: "Firewrap",
3337
dependencies: [
3438
SwiftBoost,
3539
.product(name: "FirebaseAnalytics", package: "firebase-ios-sdk"),
3640
]
3741
),
3842
.target(
39-
name: "FirebaseWrapperRemoteConfig",
43+
name: "FirewrapAuth",
4044
dependencies: [
41-
.product(name: "FirebaseRemoteConfig", package: "firebase-ios-sdk"),
42-
.target(name: "FirebaseWrapper")
45+
.product(name: "FirebaseAuth", package: "firebase-ios-sdk"),
46+
.product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"),
47+
.target(name: "Firewrap")
4348
]
4449
),
4550
.target(
46-
name: "FirebaseWrapperAuth",
51+
name: "FirewrapDatabase",
4752
dependencies: [
48-
.product(name: "FirebaseAuth", package: "firebase-ios-sdk"),
49-
.product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"),
50-
.target(name: "FirebaseWrapper")
53+
.product(name: "FirebaseFirestore", package: "firebase-ios-sdk"),
54+
.target(name: "Firewrap")
55+
]
56+
),
57+
.target(
58+
name: "FirewrapRemoteConfig",
59+
dependencies: [
60+
.product(name: "FirewrapRemoteConfig", package: "firebase-ios-sdk"),
61+
.target(name: "Firewrap")
5162
]
5263
)
5364
]
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import Foundation
2+
import FirebaseFirestore
3+
4+
public enum FWFirestoreSource {
5+
6+
case `default`
7+
case server
8+
case cache
9+
10+
var firebaseValue: FirestoreSource {
11+
switch self {
12+
case .default: return .default
13+
case .server: return .server
14+
case .cache: return .cache
15+
}
16+
}
17+
}
18+
19+
public class FirebaseDocument {
20+
21+
public let path: String
22+
23+
public init(_ path: String) {
24+
self.path = path
25+
}
26+
27+
public func set(_ data: [String : Any], merge: Bool) {
28+
let db = Firestore.firestore()
29+
db.document(path).setData(data, merge: merge)
30+
}
31+
32+
public func get(_ source: FWFirestoreSource = .default, completion: @escaping (([String : Any]?) -> Void)) {
33+
let db = Firestore.firestore()
34+
db.document(path).getDocument(source: source.firebaseValue) { document, error in
35+
if error == nil {
36+
completion(nil)
37+
return
38+
}
39+
completion(document?.data())
40+
}
41+
}
42+
43+
public func delete(_ completion: @escaping (Bool) -> Void) {
44+
let db = Firestore.firestore()
45+
db.document(path).delete { error in
46+
completion(error == nil)
47+
}
48+
}
49+
50+
public func observe(_ handler: () -> Void) {
51+
52+
}
53+
}
54+
55+
class FirebaseCollection {
56+
57+
func getDocument(id: String) -> FirebaseDocument? {
58+
return nil
59+
}
60+
61+
func getDocument(where field: String, equal: Any) -> FirebaseDocument? {
62+
return nil
63+
}
64+
65+
func getDocuments() -> [FirebaseDocument]? {
66+
return nil
67+
}
68+
69+
func observe(_ handler: () -> Void) {
70+
71+
}
72+
}

0 commit comments

Comments
 (0)