Skip to content

Commit 06b231c

Browse files
authored
Pass encrypted phone number (#110)
1 parent 7fce8e6 commit 06b231c

File tree

3 files changed

+17
-25
lines changed

3 files changed

+17
-25
lines changed

graphql/schemas/operations.graphql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ mutation SubmitLnurlPayInvoice($id: String!, $invoice: String) {
169169
submit_lnurl_pay_invoice(id: $id, invoice: $invoice)
170170
}
171171

172-
mutation RequestPhoneNumberVerification($number: String!) {
173-
request_phone_number_verification(number: $number)
172+
mutation RequestPhoneNumberVerification($encryptedNumber: String!, $number: String!) {
173+
request_phone_number_verification(encryptedNumber: $encryptedNumber, number: $number)
174174
}
175175

176176
mutation VerifyPhoneNumber($number: String!, $otp: String!) {
@@ -179,6 +179,6 @@ mutation VerifyPhoneNumber($number: String!, $otp: String!) {
179179

180180
query VerifiedPhoneNumber {
181181
verified_phone_number {
182-
phoneNumber
182+
encryptedPhoneNumber
183183
}
184184
}

graphql/schemas/schema_wallet_read.graphql

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ type TokenContainer {
264264
refreshToken: String
265265
}
266266

267+
type VerifiedPhoneNumberResponse {
268+
encryptedPhoneNumber: String!
269+
}
270+
267271
scalar Void
268272

269273
type WalletAcl {
@@ -721,24 +725,16 @@ type mutation_root {
721725
recover_backup(schemaName: String!): RecoverBackupResponse
722726
refresh_session(refreshToken: String!): TokenContainer
723727
refresh_session_v2(refreshToken: String!): SessionPermit
724-
"""
725-
Allows registering even if a previous registration is verified or pending verification.
726-
"""
727-
request_phone_number_verification(number: String!): Void
728-
729-
"""
730-
If a distinct phone number was previously registered, expire it in case this
731-
new one gets verified.
732-
"""
733-
verify_phone_number(number: String!, otp: String!): Void
734728
register_notification_token(language: String!, notificationToken: String!): Token
735729
register_topup(email: String, orderId: String!): RegisterTopupResponse
736730
report_payment_telemetry(events: PaymentTelemetryEventsInput, telemetryId: String!): ReportPaymentTelemetryResponse
731+
request_phone_number_verification(encryptedNumber: String!, number: String!): Void
737732
start_prepared_session(challenge: String!, challengeSignature: String!, challengeSignatureType: ChallengeSignatureType, preparedPermissionToken: String!): TokenContainer
738733
start_prepared_session_v2(challenge: String!, challengeSignature: String!, challengeSignatureType: ChallengeSignatureType, preparedPermissionToken: String!): SessionPermit
739734
start_session(authPubKey: String!, challenge: String!, challengeSignature: String!, challengeSignatureType: ChallengeSignatureType, signedAuthPubKey: String!, walletPubKey: String!): TokenContainer
740735
start_session_v2(authPubKey: String!, challenge: String!, challengeSignature: String!, challengeSignatureType: ChallengeSignatureType, signedAuthPubKey: String!, walletPubKey: String!): SessionPermit
741736
submit_lnurl_pay_invoice(id: String!, invoice: String): Void
737+
verify_phone_number(number: String!, otp: String!): Void
742738
}
743739

744740
scalar numeric
@@ -826,12 +822,6 @@ type query_root {
826822
"""fetch data from the table: "country" using primary key columns"""
827823
country_by_pk(countryCode: String!): country
828824

829-
"""
830-
Returns the PhoneNumberResponse corresponding to the VERIFIED registration.
831-
If there's no VERIFIED registration, it returns null.
832-
"""
833-
verified_phone_number: PhoneNumberResponse
834-
835825
"""
836826
fetch data from the table: "currency"
837827
"""
@@ -884,6 +874,7 @@ type query_root {
884874
notification_service_version: String
885875
payment_service_version: String
886876
prepare_wallet_session(challenge: String!, ownerPubKeyId: String!, signature: String!): String
877+
sms_service_version: String
887878

888879
"""
889880
fetch data from the table: "token"
@@ -931,6 +922,7 @@ type query_root {
931922
"""fetch data from the table: "topup" using primary key columns"""
932923
topup_by_pk(id: uuid!): topup
933924
topup_service_version: String
925+
verified_phone_number: VerifiedPhoneNumberResponse
934926

935927
"""
936928
fetch data from the table: "wallet_acl"
@@ -956,10 +948,6 @@ type query_root {
956948
wallet_acl_by_pk(id: uuid!): wallet_acl
957949
}
958950

959-
type PhoneNumberResponse {
960-
phoneNumber: String!
961-
}
962-
963951
enum service_enum {
964952
LIPA_WALLET
965953
POCKET_EXCHANGE

pigeon/src/lib.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,17 @@ pub async fn request_phone_number_verification(
4848
backend_url: &str,
4949
auth: &Auth,
5050
number: String,
51+
encrypted_number: String,
5152
) -> graphql::Result<()> {
5253
let token = auth.query_token().await?;
5354
let client = build_async_client(Some(&token))?;
5455
let _data = post::<RequestPhoneNumberVerification>(
5556
&client,
5657
backend_url,
57-
request_phone_number_verification::Variables { number },
58+
request_phone_number_verification::Variables {
59+
encrypted_number,
60+
number,
61+
},
5862
)
5963
.await?;
6064
Ok(())
@@ -86,5 +90,5 @@ pub async fn query_verified_phone_number(
8690
let data =
8791
post::<VerifiedPhoneNumber>(&client, backend_url, verified_phone_number::Variables {})
8892
.await?;
89-
Ok(data.verified_phone_number.map(|n| n.phone_number))
93+
Ok(data.verified_phone_number.map(|n| n.encrypted_phone_number))
9094
}

0 commit comments

Comments
 (0)