From f863ee42bc09fe283a7998ef5fb3bebd9ce7ecc2 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 17 Apr 2025 19:55:59 +0100 Subject: [PATCH 1/2] fix: remove content-type from GET requests --- README.md | 4 +- Sources/Appwrite/Client.swift | 7 +- Sources/Appwrite/Services/Account.swift | 36 ++--- Sources/Appwrite/Services/Avatars.swift | 28 +--- Sources/Appwrite/Services/Databases.swift | 54 +++---- Sources/Appwrite/Services/Functions.swift | 44 ++---- Sources/Appwrite/Services/Health.swift | 132 ++++-------------- Sources/Appwrite/Services/Locale.swift | 32 ++--- Sources/Appwrite/Services/Messaging.swift | 52 ++----- Sources/Appwrite/Services/Storage.swift | 28 +--- Sources/Appwrite/Services/Teams.swift | 20 +-- Sources/Appwrite/Services/Users.swift | 44 ++---- Sources/AppwriteEnums/CreditCard.swift | 1 + Sources/AppwriteEnums/Name.swift | 4 +- Sources/AppwriteEnums/OAuthProvider.swift | 1 + .../databases/update-float-attribute.md | 4 +- .../databases/update-integer-attribute.md | 4 +- ...e-dump.md => get-queue-stats-resources.md} | 2 +- docs/examples/health/get-queue.md | 11 -- 19 files changed, 134 insertions(+), 374 deletions(-) rename docs/examples/health/{get-queue-usage-dump.md => get-queue-stats-resources.md} (82%) delete mode 100644 docs/examples/health/get-queue.md diff --git a/README.md b/README.md index e2cdc33..1c71da7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Swift Package Manager](https://img.shields.io/github/v/release/appwrite/sdk-for-swift.svg?color=green&style=flat-square) ![License](https://img.shields.io/github/license/appwrite/sdk-for-swift.svg?style=flat-square) -![Version](https://img.shields.io/badge/api%20version-1.6.1-blue.svg?style=flat-square) +![Version](https://img.shields.io/badge/api%20version-1.6.2-blue.svg?style=flat-square) [![Build Status](https://img.shields.io/travis/com/appwrite/sdk-generator?style=flat-square)](https://travis-ci.com/appwrite/sdk-generator) [![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite) [![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord) @@ -33,7 +33,7 @@ Add the package to your `Package.swift` dependencies: ```swift dependencies: [ - .package(url: "git@github.com:appwrite/sdk-for-swift.git", from: "8.0.0"), + .package(url: "git@github.com:appwrite/sdk-for-swift.git", from: "8.0.1"), ], ``` diff --git a/Sources/Appwrite/Client.swift b/Sources/Appwrite/Client.swift index 22ed536..a035df1 100644 --- a/Sources/Appwrite/Client.swift +++ b/Sources/Appwrite/Client.swift @@ -21,7 +21,7 @@ open class Client { "x-sdk-name": "Swift", "x-sdk-platform": "server", "x-sdk-language": "swift", - "x-sdk-version": "8.0.0", + "x-sdk-version": "8.0.1", "x-appwrite-response-format": "1.6.0" ] @@ -197,8 +197,11 @@ open class Client { /// @return Client /// open func setEndpoint(_ endPoint: String) -> Client { - self.endPoint = endPoint + if !endPoint.hasPrefix("http://") && !endPoint.hasPrefix("https://") { + fatalError("Invalid endpoint URL: \(endPoint)") + } + self.endPoint = endPoint return self } diff --git a/Sources/Appwrite/Services/Account.swift b/Sources/Appwrite/Services/Account.swift index 3a05228..629614a 100644 --- a/Sources/Appwrite/Services/Account.swift +++ b/Sources/Appwrite/Services/Account.swift @@ -21,9 +21,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.User = { response in return AppwriteModels.User.from(map: response as! [String: Any]) @@ -217,9 +215,7 @@ open class Account: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.IdentityList = { response in return AppwriteModels.IdentityList.from(map: response as! [String: Any]) @@ -310,9 +306,7 @@ open class Account: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -585,9 +579,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MfaFactors = { response in return AppwriteModels.MfaFactors.from(map: response as! [String: Any]) @@ -617,9 +609,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MfaRecoveryCodes = { response in return AppwriteModels.MfaRecoveryCodes.from(map: response as! [String: Any]) @@ -886,9 +876,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Preferences = { response in return AppwriteModels.Preferences.from(map: response as! [String: Any]) @@ -1074,9 +1062,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.SessionList = { response in return AppwriteModels.SessionList.from(map: response as! [String: Any]) @@ -1321,9 +1307,7 @@ open class Account: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Session = { response in return AppwriteModels.Session.from(map: response as! [String: Any]) @@ -1591,9 +1575,7 @@ open class Account: Service { "project": client.config["project"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.redirect( method: "GET", diff --git a/Sources/Appwrite/Services/Avatars.swift b/Sources/Appwrite/Services/Avatars.swift index 04eb51a..6c70f98 100644 --- a/Sources/Appwrite/Services/Avatars.swift +++ b/Sources/Appwrite/Services/Avatars.swift @@ -44,9 +44,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -90,9 +88,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -122,9 +118,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -169,9 +163,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -214,9 +206,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -267,9 +257,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -307,9 +295,7 @@ open class Avatars: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", diff --git a/Sources/Appwrite/Services/Databases.swift b/Sources/Appwrite/Services/Databases.swift index 41899d1..58f88b0 100644 --- a/Sources/Appwrite/Services/Databases.swift +++ b/Sources/Appwrite/Services/Databases.swift @@ -28,9 +28,7 @@ open class Databases: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.DatabaseList = { response in return AppwriteModels.DatabaseList.from(map: response as! [String: Any]) @@ -101,9 +99,7 @@ open class Databases: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Database = { response in return AppwriteModels.Database.from(map: response as! [String: Any]) @@ -207,9 +203,7 @@ open class Databases: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.CollectionList = { response in return AppwriteModels.CollectionList.from(map: response as! [String: Any]) @@ -294,9 +288,7 @@ open class Databases: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Collection = { response in return AppwriteModels.Collection.from(map: response as! [String: Any]) @@ -411,9 +403,7 @@ open class Databases: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.AttributeList = { response in return AppwriteModels.AttributeList.from(map: response as! [String: Any]) @@ -893,9 +883,9 @@ open class Databases: Service { /// @param String collectionId /// @param String key /// @param Bool required + /// @param Double default /// @param Double min /// @param Double max - /// @param Double default /// @param String newKey /// @throws Exception /// @return array @@ -905,9 +895,9 @@ open class Databases: Service { collectionId: String, key: String, `required`: Bool, - min: Double, - max: Double, `default`: Double? = nil, + min: Double? = nil, + max: Double? = nil, newKey: String? = nil ) async throws -> AppwriteModels.AttributeFloat { let apiPath: String = "/databases/{databaseId}/collections/{collectionId}/attributes/float/{key}" @@ -1005,9 +995,9 @@ open class Databases: Service { /// @param String collectionId /// @param String key /// @param Bool required + /// @param Int default /// @param Int min /// @param Int max - /// @param Int default /// @param String newKey /// @throws Exception /// @return array @@ -1017,9 +1007,9 @@ open class Databases: Service { collectionId: String, key: String, `required`: Bool, - min: Int, - max: Int, `default`: Int? = nil, + min: Int? = nil, + max: Int? = nil, newKey: String? = nil ) async throws -> AppwriteModels.AttributeInteger { let apiPath: String = "/databases/{databaseId}/collections/{collectionId}/attributes/integer/{key}" @@ -1435,9 +1425,7 @@ open class Databases: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -1549,9 +1537,7 @@ open class Databases: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.DocumentList = { response in return AppwriteModels.DocumentList.from(map: response as! [String: Any]) @@ -1594,6 +1580,7 @@ open class Databases: Service { /// collection resource using either a [server /// integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) /// API or directly from your database console. + /// /// /// @param String databaseId /// @param String collectionId @@ -1643,6 +1630,7 @@ open class Databases: Service { /// collection resource using either a [server /// integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) /// API or directly from your database console. + /// /// /// @param String databaseId /// @param String collectionId @@ -1696,9 +1684,7 @@ open class Databases: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Document = { response in return AppwriteModels.Document.from(map: response as! [String: Any]) @@ -1869,9 +1855,7 @@ open class Databases: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.IndexList = { response in return AppwriteModels.IndexList.from(map: response as! [String: Any]) @@ -1957,9 +1941,7 @@ open class Databases: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Index = { response in return AppwriteModels.Index.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Functions.swift b/Sources/Appwrite/Services/Functions.swift index c56935e..3a84d39 100644 --- a/Sources/Appwrite/Services/Functions.swift +++ b/Sources/Appwrite/Services/Functions.swift @@ -28,9 +28,7 @@ open class Functions: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.FunctionList = { response in return AppwriteModels.FunctionList.from(map: response as! [String: Any]) @@ -156,9 +154,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.RuntimeList = { response in return AppwriteModels.RuntimeList.from(map: response as! [String: Any]) @@ -186,9 +182,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.SpecificationList = { response in return AppwriteModels.SpecificationList.from(map: response as! [String: Any]) @@ -218,9 +212,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Function = { response in return AppwriteModels.Function.from(map: response as! [String: Any]) @@ -368,9 +360,7 @@ open class Functions: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.DeploymentList = { response in return AppwriteModels.DeploymentList.from(map: response as! [String: Any]) @@ -462,9 +452,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Deployment = { response in return AppwriteModels.Deployment.from(map: response as! [String: Any]) @@ -640,9 +628,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -674,9 +660,7 @@ open class Functions: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.ExecutionList = { response in return AppwriteModels.ExecutionList.from(map: response as! [String: Any]) @@ -763,9 +747,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Execution = { response in return AppwriteModels.Execution.from(map: response as! [String: Any]) @@ -825,9 +807,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.VariableList = { response in return AppwriteModels.VariableList.from(map: response as! [String: Any]) @@ -900,9 +880,7 @@ open class Functions: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Variable = { response in return AppwriteModels.Variable.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Health.swift b/Sources/Appwrite/Services/Health.swift index 6957a34..f8103a4 100644 --- a/Sources/Appwrite/Services/Health.swift +++ b/Sources/Appwrite/Services/Health.swift @@ -20,9 +20,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -49,9 +47,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthAntivirus = { response in return AppwriteModels.HealthAntivirus.from(map: response as! [String: Any]) @@ -79,9 +75,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -112,9 +106,7 @@ open class Health: Service { "domain": domain ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthCertificate = { response in return AppwriteModels.HealthCertificate.from(map: response as! [String: Any]) @@ -141,9 +133,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -170,39 +160,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] - - let converter: (Any) -> AppwriteModels.HealthStatus = { response in - return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) - } - - return try await client.call( - method: "GET", - path: apiPath, - headers: apiHeaders, - params: apiParams, - converter: converter - ) - } - - /// - /// Check the Appwrite queue messaging servers are up and connection is - /// successful. - /// - /// @throws Exception - /// @return array - /// - open func getQueue( - ) async throws -> AppwriteModels.HealthStatus { - let apiPath: String = "/health/queue" - - let apiParams: [String: Any] = [:] - - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -234,9 +192,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -269,9 +225,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -306,9 +260,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -340,9 +292,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -377,9 +327,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -411,9 +359,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -445,9 +391,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -479,9 +423,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -513,9 +455,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -547,9 +487,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -566,24 +504,22 @@ open class Health: Service { /// /// Get the number of metrics that are waiting to be processed in the Appwrite - /// internal queue server. + /// stats resources queue. /// /// @param Int threshold /// @throws Exception /// @return array /// - open func getQueueUsage( + open func getQueueStatsResources( threshold: Int? = nil ) async throws -> AppwriteModels.HealthQueue { - let apiPath: String = "/health/queue/usage" + let apiPath: String = "/health/queue/stats-resources" let apiParams: [String: Any?] = [ "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -599,25 +535,23 @@ open class Health: Service { } /// - /// Get the number of projects containing metrics that are waiting to be - /// processed in the Appwrite internal queue server. + /// Get the number of metrics that are waiting to be processed in the Appwrite + /// internal queue server. /// /// @param Int threshold /// @throws Exception /// @return array /// - open func getQueueUsageDump( + open func getQueueUsage( threshold: Int? = nil ) async throws -> AppwriteModels.HealthQueue { - let apiPath: String = "/health/queue/usage-dump" + let apiPath: String = "/health/queue/stats-usage" let apiParams: [String: Any?] = [ "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -649,9 +583,7 @@ open class Health: Service { "threshold": threshold ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthQueue = { response in return AppwriteModels.HealthQueue.from(map: response as! [String: Any]) @@ -678,9 +610,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -707,9 +637,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthStatus = { response in return AppwriteModels.HealthStatus.from(map: response as! [String: Any]) @@ -742,9 +670,7 @@ open class Health: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.HealthTime = { response in return AppwriteModels.HealthTime.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Locale.swift b/Sources/Appwrite/Services/Locale.swift index a15f09a..b9d2682 100644 --- a/Sources/Appwrite/Services/Locale.swift +++ b/Sources/Appwrite/Services/Locale.swift @@ -25,9 +25,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Locale = { response in return AppwriteModels.Locale.from(map: response as! [String: Any]) @@ -55,9 +53,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LocaleCodeList = { response in return AppwriteModels.LocaleCodeList.from(map: response as! [String: Any]) @@ -85,9 +81,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.ContinentList = { response in return AppwriteModels.ContinentList.from(map: response as! [String: Any]) @@ -115,9 +109,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.CountryList = { response in return AppwriteModels.CountryList.from(map: response as! [String: Any]) @@ -145,9 +137,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.CountryList = { response in return AppwriteModels.CountryList.from(map: response as! [String: Any]) @@ -175,9 +165,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.PhoneList = { response in return AppwriteModels.PhoneList.from(map: response as! [String: Any]) @@ -206,9 +194,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.CurrencyList = { response in return AppwriteModels.CurrencyList.from(map: response as! [String: Any]) @@ -236,9 +222,7 @@ open class Locale: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LanguageList = { response in return AppwriteModels.LanguageList.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Messaging.swift b/Sources/Appwrite/Services/Messaging.swift index b43f9a0..0ded4ce 100644 --- a/Sources/Appwrite/Services/Messaging.swift +++ b/Sources/Appwrite/Services/Messaging.swift @@ -27,9 +27,7 @@ open class Messaging: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MessageList = { response in return AppwriteModels.MessageList.from(map: response as! [String: Any]) @@ -477,9 +475,7 @@ open class Messaging: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Message = { response in return AppwriteModels.Message.from(map: response as! [String: Any]) @@ -540,9 +536,7 @@ open class Messaging: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -576,9 +570,7 @@ open class Messaging: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.TargetList = { response in return AppwriteModels.TargetList.from(map: response as! [String: Any]) @@ -612,9 +604,7 @@ open class Messaging: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.ProviderList = { response in return AppwriteModels.ProviderList.from(map: response as! [String: Any]) @@ -1689,9 +1679,7 @@ open class Messaging: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Provider = { response in return AppwriteModels.Provider.from(map: response as! [String: Any]) @@ -1751,9 +1739,7 @@ open class Messaging: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -1787,9 +1773,7 @@ open class Messaging: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -1823,9 +1807,7 @@ open class Messaging: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.TopicList = { response in return AppwriteModels.TopicList.from(map: response as! [String: Any]) @@ -1895,9 +1877,7 @@ open class Messaging: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Topic = { response in return AppwriteModels.Topic.from(map: response as! [String: Any]) @@ -1997,9 +1977,7 @@ open class Messaging: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -2036,9 +2014,7 @@ open class Messaging: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.SubscriberList = { response in return AppwriteModels.SubscriberList.from(map: response as! [String: Any]) @@ -2111,9 +2087,7 @@ open class Messaging: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Subscriber = { response in return AppwriteModels.Subscriber.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Storage.swift b/Sources/Appwrite/Services/Storage.swift index 206b0e1..8d0a7f3 100644 --- a/Sources/Appwrite/Services/Storage.swift +++ b/Sources/Appwrite/Services/Storage.swift @@ -28,9 +28,7 @@ open class Storage: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.BucketList = { response in return AppwriteModels.BucketList.from(map: response as! [String: Any]) @@ -121,9 +119,7 @@ open class Storage: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Bucket = { response in return AppwriteModels.Bucket.from(map: response as! [String: Any]) @@ -247,9 +243,7 @@ open class Storage: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.FileList = { response in return AppwriteModels.FileList.from(map: response as! [String: Any]) @@ -347,9 +341,7 @@ open class Storage: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.File = { response in return AppwriteModels.File.from(map: response as! [String: Any]) @@ -457,9 +449,7 @@ open class Storage: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -526,9 +516,7 @@ open class Storage: Service { "session": client.config["session"] ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", @@ -557,9 +545,7 @@ open class Storage: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] return try await client.call( method: "GET", diff --git a/Sources/Appwrite/Services/Teams.swift b/Sources/Appwrite/Services/Teams.swift index b20c3bd..6b410ee 100644 --- a/Sources/Appwrite/Services/Teams.swift +++ b/Sources/Appwrite/Services/Teams.swift @@ -29,9 +29,7 @@ open class Teams: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.TeamList = { response in return AppwriteModels.TeamList.from(map: response as! [String: Any]) @@ -148,9 +146,7 @@ open class Teams: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Team = { response in return AppwriteModels.Team.from(map: response as! [String: Any]) @@ -288,9 +284,7 @@ open class Teams: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MembershipList = { response in return AppwriteModels.MembershipList.from(map: response as! [String: Any]) @@ -396,9 +390,7 @@ open class Teams: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Membership = { response in return AppwriteModels.Membership.from(map: response as! [String: Any]) @@ -552,9 +544,7 @@ open class Teams: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Preferences = { response in return AppwriteModels.Preferences.from(map: response as! [String: Any]) diff --git a/Sources/Appwrite/Services/Users.swift b/Sources/Appwrite/Services/Users.swift index 787f346..2dea649 100644 --- a/Sources/Appwrite/Services/Users.swift +++ b/Sources/Appwrite/Services/Users.swift @@ -29,9 +29,7 @@ open class Users: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.UserList = { response in return AppwriteModels.UserList.from(map: response as! [String: Any]) @@ -307,9 +305,7 @@ open class Users: Service { "search": search ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.IdentityList = { response in return AppwriteModels.IdentityList.from(map: response as! [String: Any]) @@ -792,9 +788,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.User = { response in return AppwriteModels.User.from(map: response as! [String: Any]) @@ -1038,9 +1032,7 @@ open class Users: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.LogList = { response in return AppwriteModels.LogList.from(map: response as! [String: Any]) @@ -1070,9 +1062,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MembershipList = { response in return AppwriteModels.MembershipList.from(map: response as! [String: Any]) @@ -1187,9 +1177,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MfaFactors = { response in return AppwriteModels.MfaFactors.from(map: response as! [String: Any]) @@ -1222,9 +1210,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.MfaRecoveryCodes = { response in return AppwriteModels.MfaRecoveryCodes.from(map: response as! [String: Any]) @@ -1493,9 +1479,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Preferences = { response in return AppwriteModels.Preferences.from(map: response as! [String: Any]) @@ -1601,9 +1585,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.SessionList = { response in return AppwriteModels.SessionList.from(map: response as! [String: Any]) @@ -1787,9 +1769,7 @@ open class Users: Service { "queries": queries ] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.TargetList = { response in return AppwriteModels.TargetList.from(map: response as! [String: Any]) @@ -1870,9 +1850,7 @@ open class Users: Service { let apiParams: [String: Any] = [:] - let apiHeaders: [String: String] = [ - "content-type": "application/json" - ] + let apiHeaders: [String: String] = [:] let converter: (Any) -> AppwriteModels.Target = { response in return AppwriteModels.Target.from(map: response as! [String: Any]) diff --git a/Sources/AppwriteEnums/CreditCard.swift b/Sources/AppwriteEnums/CreditCard.swift index 0922fbc..688c5a4 100644 --- a/Sources/AppwriteEnums/CreditCard.swift +++ b/Sources/AppwriteEnums/CreditCard.swift @@ -17,6 +17,7 @@ public enum CreditCard: String, CustomStringConvertible { case visa = "visa" case mIR = "mir" case maestro = "maestro" + case rupay = "rupay" public var description: String { return rawValue diff --git a/Sources/AppwriteEnums/Name.swift b/Sources/AppwriteEnums/Name.swift index 3db0d91..2694464 100644 --- a/Sources/AppwriteEnums/Name.swift +++ b/Sources/AppwriteEnums/Name.swift @@ -6,8 +6,8 @@ public enum Name: String, CustomStringConvertible { case v1Audits = "v1-audits" case v1Mails = "v1-mails" case v1Functions = "v1-functions" - case v1Usage = "v1-usage" - case v1UsageDump = "v1-usage-dump" + case v1StatsResources = "v1-stats-resources" + case v1StatsUsage = "v1-stats-usage" case v1Webhooks = "v1-webhooks" case v1Certificates = "v1-certificates" case v1Builds = "v1-builds" diff --git a/Sources/AppwriteEnums/OAuthProvider.swift b/Sources/AppwriteEnums/OAuthProvider.swift index e00ba46..4c4ec6e 100644 --- a/Sources/AppwriteEnums/OAuthProvider.swift +++ b/Sources/AppwriteEnums/OAuthProvider.swift @@ -15,6 +15,7 @@ public enum OAuthProvider: String, CustomStringConvertible { case dropbox = "dropbox" case etsy = "etsy" case facebook = "facebook" + case figma = "figma" case github = "github" case gitlab = "gitlab" case google = "google" diff --git a/docs/examples/databases/update-float-attribute.md b/docs/examples/databases/update-float-attribute.md index 54a6065..7e246a7 100644 --- a/docs/examples/databases/update-float-attribute.md +++ b/docs/examples/databases/update-float-attribute.md @@ -12,9 +12,9 @@ let attributeFloat = try await databases.updateFloatAttribute( collectionId: "", key: "", required: false, - min: 0, - max: 0, default: 0, + min: 0, // optional + max: 0, // optional newKey: "" // optional ) diff --git a/docs/examples/databases/update-integer-attribute.md b/docs/examples/databases/update-integer-attribute.md index 0a8d545..d502b8c 100644 --- a/docs/examples/databases/update-integer-attribute.md +++ b/docs/examples/databases/update-integer-attribute.md @@ -12,9 +12,9 @@ let attributeInteger = try await databases.updateIntegerAttribute( collectionId: "", key: "", required: false, - min: 0, - max: 0, default: 0, + min: 0, // optional + max: 0, // optional newKey: "" // optional ) diff --git a/docs/examples/health/get-queue-usage-dump.md b/docs/examples/health/get-queue-stats-resources.md similarity index 82% rename from docs/examples/health/get-queue-usage-dump.md rename to docs/examples/health/get-queue-stats-resources.md index df4c043..3c34966 100644 --- a/docs/examples/health/get-queue-usage-dump.md +++ b/docs/examples/health/get-queue-stats-resources.md @@ -7,7 +7,7 @@ let client = Client() let health = Health(client) -let healthQueue = try await health.getQueueUsageDump( +let healthQueue = try await health.getQueueStatsResources( threshold: 0 // optional ) diff --git a/docs/examples/health/get-queue.md b/docs/examples/health/get-queue.md deleted file mode 100644 index b7da587..0000000 --- a/docs/examples/health/get-queue.md +++ /dev/null @@ -1,11 +0,0 @@ -import Appwrite - -let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint - .setProject("") // Your project ID - .setKey("") // Your secret API key - -let health = Health(client) - -let healthStatus = try await health.getQueue() - From 9ca0bc51458f26360b793bb42a7075d391e025b2 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 17 Apr 2025 20:38:42 +0100 Subject: [PATCH 2/2] chore: major version bump --- README.md | 2 +- Sources/Appwrite/Client.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1c71da7..2cebae4 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Add the package to your `Package.swift` dependencies: ```swift dependencies: [ - .package(url: "git@github.com:appwrite/sdk-for-swift.git", from: "8.0.1"), + .package(url: "git@github.com:appwrite/sdk-for-swift.git", from: "9.0.0"), ], ``` diff --git a/Sources/Appwrite/Client.swift b/Sources/Appwrite/Client.swift index a035df1..5486170 100644 --- a/Sources/Appwrite/Client.swift +++ b/Sources/Appwrite/Client.swift @@ -21,7 +21,7 @@ open class Client { "x-sdk-name": "Swift", "x-sdk-platform": "server", "x-sdk-language": "swift", - "x-sdk-version": "8.0.1", + "x-sdk-version": "9.0.0", "x-appwrite-response-format": "1.6.0" ]