Skip to content

Commit 972bc95

Browse files
author
Guilherme Souza
authored
Async/Await (#25)
* Add support for latests gotrue version and drop support for older OS versions * Update packages * Update packages * Set gotrue-swift package to verison 0.0.3
1 parent 8cffb60 commit 972bc95

File tree

4 files changed

+84
-134
lines changed

4 files changed

+84
-134
lines changed

Package.resolved

Lines changed: 50 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
// swift-tools-version:5.3
1+
// swift-tools-version:5.5
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33

44
import PackageDescription
55

66
let package = Package(
77
name: "Supabase",
88
platforms: [
9+
.iOS(.v13),
10+
.macCatalyst(.v13),
911
.macOS(.v10_15),
10-
.iOS(.v11),
11-
.tvOS(.v11),
12-
.watchOS(.v3),
12+
.watchOS(.v6),
13+
.tvOS(.v13),
1314
],
1415
products: [
1516
.library(
@@ -18,7 +19,7 @@ let package = Package(
1819
)
1920
],
2021
dependencies: [
21-
.package(name: "GoTrue", url: "https://github.com/supabase/gotrue-swift.git", .exact("0.0.3")),
22+
.package(url: "https://github.com/supabase-community/gotrue-swift", .exactItem("0.0.3")),
2223
.package(
2324
name: "SupabaseStorage", url: "https://github.com/supabase/storage-swift.git", .exact("0.0.1")
2425
),
@@ -30,11 +31,12 @@ let package = Package(
3031
targets: [
3132
.target(
3233
name: "Supabase",
33-
dependencies: ["GoTrue", "SupabaseStorage", "Realtime", "PostgREST"]
34-
),
35-
.testTarget(
36-
name: "SupabaseTests",
37-
dependencies: ["Supabase"]
38-
),
34+
dependencies: [
35+
.product(name: "GoTrue", package: "gotrue-swift"),
36+
"SupabaseStorage",
37+
"Realtime",
38+
"PostgREST",
39+
]
40+
)
3941
]
4042
)

Sources/Supabase/SupabaseClient.swift

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Foundation
12
import GoTrue
23
import PostgREST
34
import Realtime
@@ -16,29 +17,29 @@ import SupabaseStorage
1617
///
1718
/// For more usage information read the README.md
1819
public class SupabaseClient {
19-
private var supabaseUrl: String
20+
private var supabaseURL: URL
2021
private var supabaseKey: String
2122
private var schema: String
22-
private var restUrl: String
23-
private var realtimeUrl: String
24-
private var authUrl: String
25-
private var storageUrl: String
23+
private var restURL: URL
24+
private var realtimeURL: URL
25+
private var authURL: URL
26+
private var storageURL: URL
2627

27-
/// Auth client for Supabase
28-
public var auth: GoTrueClient
28+
/// Auth client for Supabase.
29+
public let auth: GoTrueClient
2930

3031
/// Storage client for Supabase.
3132
public var storage: SupabaseStorageClient {
3233
var headers: [String: String] = defaultHeaders
3334
headers["Authorization"] = "Bearer \(auth.session?.accessToken ?? supabaseKey)"
34-
return SupabaseStorageClient(url: storageUrl, headers: headers)
35+
return SupabaseStorageClient(url: storageURL.absoluteString, headers: headers)
3536
}
3637

3738
/// Database client for Supabase.
3839
public var database: PostgrestClient {
3940
var headers: [String: String] = defaultHeaders
4041
headers["Authorization"] = "Bearer \(auth.session?.accessToken ?? supabaseKey)"
41-
return PostgrestClient(url: restUrl, headers: headers, schema: schema)
42+
return PostgrestClient(url: restURL.absoluteString, headers: headers, schema: schema)
4243
}
4344

4445
/// Realtime client for Supabase
@@ -48,31 +49,30 @@ public class SupabaseClient {
4849

4950
/// Init `Supabase` with the provided parameters.
5051
/// - Parameters:
51-
/// - supabaseUrl: Unique Supabase project url
52+
/// - supabaseURL: Unique Supabase project url
5253
/// - supabaseKey: Supabase anonymous API Key
5354
/// - schema: Database schema name, defaults to `public`
5455
/// - autoRefreshToken: Toggles whether `Supabase.auth` automatically refreshes auth tokens. Defaults to `true`
5556
public init(
56-
supabaseUrl: String,
57+
supabaseURL: URL,
5758
supabaseKey: String,
5859
schema: String = "public",
5960
autoRefreshToken: Bool = true
6061
) {
61-
self.supabaseUrl = supabaseUrl
62+
self.supabaseURL = supabaseURL
6263
self.supabaseKey = supabaseKey
6364
self.schema = schema
64-
restUrl = "\(supabaseUrl)/rest/v1"
65-
realtimeUrl = "\(supabaseUrl)/realtime/v1"
66-
authUrl = "\(supabaseUrl)/auth/v1"
67-
storageUrl = "\(supabaseUrl)/storage/v1"
65+
restURL = supabaseURL.appendingPathComponent("/rest/v1")
66+
realtimeURL = supabaseURL.appendingPathComponent("/realtime/v1")
67+
authURL = supabaseURL.appendingPathComponent("/auth/v1")
68+
storageURL = supabaseURL.appendingPathComponent("/storage/v1")
6869

69-
defaultHeaders = ["X-Client-Info": "supabase-swift/0.0.5", "apikey": supabaseKey]
70+
defaultHeaders = ["X-Client-Info": "supabase-swift/0.0.4", "apikey": supabaseKey]
7071

7172
auth = GoTrueClient(
72-
url: authUrl,
73-
headers: defaultHeaders,
74-
autoRefreshToken: autoRefreshToken
73+
url: authURL,
74+
headers: defaultHeaders
7575
)
76-
realtime = RealtimeClient(endPoint: realtimeUrl, params: defaultHeaders)
76+
realtime = RealtimeClient(endPoint: realtimeURL.absoluteString, params: defaultHeaders)
7777
}
7878
}

Tests/SupabaseTests/SupabaseTests.swift

Lines changed: 0 additions & 97 deletions
This file was deleted.

0 commit comments

Comments
 (0)