Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Add the package to your `Package.swift` dependencies:

```swift
dependencies: [
.package(url: "git@github.com:appwrite/sdk-for-apple.git", from: "12.1.0"),
.package(url: "git@github.com:appwrite/sdk-for-apple.git", from: "13.0.0"),
],
```

Expand Down
4 changes: 2 additions & 2 deletions Sources/Appwrite/Client.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ open class Client {
"x-sdk-name": "Apple",
"x-sdk-platform": "client",
"x-sdk-language": "apple",
"x-sdk-version": "12.1.0",
"x-sdk-version": "13.0.0",
"x-appwrite-response-format": "1.8.0"
]

Expand Down Expand Up @@ -354,7 +354,7 @@ open class Client {

if let warning = response.headers["x-appwrite-warning"].first {
warning.split(separator: ";").forEach { warning in
print("Warning: \(warning)")
fputs("Warning: \(warning)\n", stderr)
}
}

Expand Down
12 changes: 12 additions & 0 deletions Sources/AppwriteEnums/ExecutionStatus.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Foundation

public enum ExecutionStatus: String, CustomStringConvertible {
case waiting = "waiting"
case processing = "processing"
case completed = "completed"
case failed = "failed"

public var description: String {
return rawValue
}
}
11 changes: 11 additions & 0 deletions Sources/AppwriteEnums/ExecutionTrigger.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import Foundation

public enum ExecutionTrigger: String, CustomStringConvertible {
case http = "http"
case schedule = "schedule"
case event = "event"

public var description: String {
return rawValue
}
}
2 changes: 1 addition & 1 deletion Sources/AppwriteModels/Document.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ open class Document<T : Codable>: Codable {
createdAt: map["$createdAt"] as? String ?? "",
updatedAt: map["$updatedAt"] as? String ?? "",
permissions: map["$permissions"] as? [String] ?? [],
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map, options: []))
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map["data"] as? [String: Any] ?? map, options: []))
)
}
}
25 changes: 13 additions & 12 deletions Sources/AppwriteModels/Execution.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import Foundation
import JSONCodable
import AppwriteEnums

/// Execution
open class Execution: Codable {
Expand Down Expand Up @@ -44,10 +45,10 @@ open class Execution: Codable {
public let deploymentId: String

/// The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.
public let trigger: String
public let trigger: AppwriteEnums.ExecutionTrigger

/// The status of the function execution. Possible values can be: `waiting`, `processing`, `completed`, or `failed`.
public let status: String
public let status: AppwriteEnums.ExecutionStatus

/// HTTP request method type.
public let requestMethod: String
Expand Down Expand Up @@ -87,8 +88,8 @@ open class Execution: Codable {
permissions: [String],
functionId: String,
deploymentId: String,
trigger: String,
status: String,
trigger: AppwriteEnums.ExecutionTrigger,
status: AppwriteEnums.ExecutionStatus,
requestMethod: String,
requestPath: String,
requestHeaders: [Headers],
Expand Down Expand Up @@ -129,8 +130,8 @@ open class Execution: Codable {
self.permissions = try container.decode([String].self, forKey: .permissions)
self.functionId = try container.decode(String.self, forKey: .functionId)
self.deploymentId = try container.decode(String.self, forKey: .deploymentId)
self.trigger = try container.decode(String.self, forKey: .trigger)
self.status = try container.decode(String.self, forKey: .status)
self.trigger = AppwriteEnums.ExecutionTrigger(rawValue: try container.decode(String.self, forKey: .trigger))!
self.status = AppwriteEnums.ExecutionStatus(rawValue: try container.decode(String.self, forKey: .status))!
self.requestMethod = try container.decode(String.self, forKey: .requestMethod)
self.requestPath = try container.decode(String.self, forKey: .requestPath)
self.requestHeaders = try container.decode([Headers].self, forKey: .requestHeaders)
Expand All @@ -152,8 +153,8 @@ open class Execution: Codable {
try container.encode(permissions, forKey: .permissions)
try container.encode(functionId, forKey: .functionId)
try container.encode(deploymentId, forKey: .deploymentId)
try container.encode(trigger, forKey: .trigger)
try container.encode(status, forKey: .status)
try container.encode(trigger.rawValue, forKey: .trigger)
try container.encode(status.rawValue, forKey: .status)
try container.encode(requestMethod, forKey: .requestMethod)
try container.encode(requestPath, forKey: .requestPath)
try container.encode(requestHeaders, forKey: .requestHeaders)
Expand All @@ -174,8 +175,8 @@ open class Execution: Codable {
"$permissions": permissions as Any,
"functionId": functionId as Any,
"deploymentId": deploymentId as Any,
"trigger": trigger as Any,
"status": status as Any,
"trigger": trigger.rawValue as Any,
"status": status.rawValue as Any,
"requestMethod": requestMethod as Any,
"requestPath": requestPath as Any,
"requestHeaders": requestHeaders.map { $0.toMap() } as Any,
Expand All @@ -197,8 +198,8 @@ open class Execution: Codable {
permissions: map["$permissions"] as! [String],
functionId: map["functionId"] as! String,
deploymentId: map["deploymentId"] as! String,
trigger: map["trigger"] as! String,
status: map["status"] as! String,
trigger: ExecutionTrigger(rawValue: map["trigger"] as! String)!,
status: ExecutionStatus(rawValue: map["status"] as! String)!,
requestMethod: map["requestMethod"] as! String,
requestPath: map["requestPath"] as! String,
requestHeaders: (map["requestHeaders"] as! [[String: Any]]).map { Headers.from(map: $0) },
Expand Down
2 changes: 1 addition & 1 deletion Sources/AppwriteModels/Preferences.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ open class Preferences<T : Codable>: Codable {

public static func from(map: [String: Any] ) -> Preferences {
return Preferences(
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map, options: []))
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map["data"] as? [String: Any] ?? map, options: []))
)
}
}
2 changes: 1 addition & 1 deletion Sources/AppwriteModels/Row.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ open class Row<T : Codable>: Codable {
createdAt: map["$createdAt"] as! String,
updatedAt: map["$updatedAt"] as! String,
permissions: map["$permissions"] as! [String],
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map, options: []))
data: try! JSONDecoder().decode(T.self, from: JSONSerialization.data(withJSONObject: map["data"] as? [String: Any] ?? map, options: []))
)
}
}