purple: update client to work with damus-api post express refactor
these changes were made to adapt the client-side to the new improvements done to the Purple API server (See https://github.com/damus-io/api/issues/1) Testing ------- PASS Device: iPhone 15 Pro simulator iOS: 17.2 Damus: This commit damus-api: bda56590be7eb47e21dfd61ab94b17f6a8595d0c Server: Ubuntu 22.04 (VM) Setup: 1. On the server, delete the `mdb` database files to start from scratch 2. Enable subscriptions support via developer settings with localhost test mode and restart app 3. Get Damus Purple (Purchase it via Xcode test environment) 4. Start server with mock parameters (Run `npm run dev`) 5. Restart app Steps ----- 1. Post something 2. Gold star should appear beside your name 3. Look at the server logs. There should be some requests to create the account (POST), to send the receipt (POST), and to get account status. Those three requests should have returned HTTP status 200. Signed-off-by: Daniel D’Aquino <daniel@daquino.me> Reviewed-by: William Casarin <jb55@jb55.com> Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
William Casarin
parent
5ca5420ce2
commit
39b6dfb47e
@@ -62,17 +62,14 @@ class DamusPurple: StoreObserverDelegate {
|
||||
|
||||
func create_account(pubkey: Pubkey) async throws {
|
||||
let url = environment.get_base_url().appendingPathComponent("accounts")
|
||||
let payload: [String: String] = [
|
||||
"pubkey": pubkey.hex()
|
||||
]
|
||||
let encoded_payload = try JSONEncoder().encode(payload)
|
||||
|
||||
Log.info("Creating account with Damus Purple server", for: .damus_purple)
|
||||
|
||||
let (data, response) = try await make_nip98_authenticated_request(
|
||||
method: .post,
|
||||
url: url,
|
||||
payload: encoded_payload,
|
||||
payload: nil,
|
||||
payload_type: nil,
|
||||
auth_keypair: self.keypair
|
||||
)
|
||||
|
||||
@@ -81,7 +78,7 @@ class DamusPurple: StoreObserverDelegate {
|
||||
case 200:
|
||||
Log.info("Created an account with Damus Purple server", for: .damus_purple)
|
||||
default:
|
||||
Log.error("Error in creating account with Damus Purple. HTTP status code: %d", for: .damus_purple, httpResponse.statusCode)
|
||||
Log.error("Error in creating account with Damus Purple. HTTP status code: %d; Response: %s", for: .damus_purple, httpResponse.statusCode, String(data: data, encoding: .utf8) ?? "Unknown")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,6 +107,7 @@ class DamusPurple: StoreObserverDelegate {
|
||||
method: .post,
|
||||
url: url,
|
||||
payload: receiptData,
|
||||
payload_type: .binary,
|
||||
auth_keypair: self.keypair
|
||||
)
|
||||
|
||||
@@ -118,7 +116,7 @@ class DamusPurple: StoreObserverDelegate {
|
||||
case 200:
|
||||
Log.info("Sent in-app purchase receipt to Damus Purple server successfully", for: .damus_purple)
|
||||
default:
|
||||
Log.error("Error in sending in-app purchase receipt to Damus Purple. HTTP status code: %d", for: .damus_purple, httpResponse.statusCode)
|
||||
Log.error("Error in sending in-app purchase receipt to Damus Purple. HTTP status code: %d; Response: %s", for: .damus_purple, httpResponse.statusCode, String(data: data, encoding: .utf8) ?? "Unknown")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user