2018-05-18
This commit is contained in:
parent
99654fdc1d
commit
995e0e57e5
13
log.md
13
log.md
@ -256,4 +256,15 @@ Holiday
|
||||
|
||||
Started BRIDGE-970 - E2E Swagger tests
|
||||
|
||||
##### 2018-05-17 // Wednesday #####
|
||||
##### 2018-05-17 // Wednesday #####
|
||||
|
||||
Sprint planning
|
||||
|
||||
BRIDGE-973 - Make sure it works
|
||||
|
||||
##### 2018-05-18 // Thursday #####
|
||||
|
||||
BRIDGE-973 - Make sure it work
|
||||
|
||||
Started THX-1138 - Rule can be confirmed with different user / different payee instrument
|
||||
|
||||
|
11
tasks/bridge-1138/checkin.md
Normal file
11
tasks/bridge-1138/checkin.md
Normal file
@ -0,0 +1,11 @@
|
||||
BRIDGE-1138 Rule can be confirmed with different user / different payee instrument
|
||||
|
||||
# Summary
|
||||
|
||||
controllers/rules/activate.js Update was modified to search for {_id: ruleID, 'Rule.PayeeID': userID}, as the update was allowing anyone to confirm and activate any rule.
|
||||
|
||||
Updated controllers/rules/activate.spec.js
|
||||
|
||||
# Test Plan
|
||||
|
||||
* Run All tests
|
74
tasks/bridge-1138/do.md
Normal file
74
tasks/bridge-1138/do.md
Normal file
@ -0,0 +1,74 @@
|
||||
```
|
||||
Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1
|
||||
|
||||
```
|
||||
|
||||
Payee Account
|
||||
```
|
||||
|
||||
{
|
||||
"description": "Silver Carpenter Inc. account.",
|
||||
"receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
response:
|
||||
|
||||
{
|
||||
"key": "96ecc2d0-750d-452d-980b-2518cd5a34e0",
|
||||
"ID": "5afd9e0d9043d33a97cbbf95"
|
||||
}
|
||||
|
||||
|
||||
|
||||
credit card;
|
||||
|
||||
{
|
||||
"cardUsageKey": "69de2ccb-8e8d-421f-972d-86209d4862cc",
|
||||
"cardID": "5afd9e329043d33a97cbbf99"
|
||||
}
|
||||
|
||||
|
||||
|
||||
Test oit works:
|
||||
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd9e329043d33a97cbbf99",
|
||||
"key": "69de2ccb-8e8d-421f-972d-86209d4862cc"
|
||||
},
|
||||
"payeeID": "79a26d981246978135edadf1",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1: do a proper one
|
||||
|
||||
{
|
||||
"ID": "5afda4269677c63b78a810a7"
|
||||
}
|
||||
|
||||
|
||||
Imporper one:
|
||||
|
||||
{
|
||||
"ID": "5afda59799d1553c66d41eae"
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
"cardUsageKey": "f7bdd4c3-65f2-4fe9-8d1b-0d5068c3d5b8",
|
||||
"cardID": "5afda5ce99d1553c66d41eb1"
|
||||
}
|
||||
|
||||
{
|
||||
"key": "f7bdd4c3-65f2-4fe9-8d1b-0d5068c3d5b8",
|
||||
"ID": "5afda5ce99d1553c66d41eb1"
|
||||
}
|
63
tasks/bridge-1138/ugh.md
Normal file
63
tasks/bridge-1138/ugh.md
Normal file
@ -0,0 +1,63 @@
|
||||
```
|
||||
{
|
||||
"_id" : ObjectId("5afd9f0d9043d33a97cbbf9c"),
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"LastUpdate" : ISODate("2018-05-17T15:26:05.119Z"),
|
||||
"Trigger" : {
|
||||
"Stage" : "paymentComplete",
|
||||
"Type" : "ruleIdInRtp"
|
||||
},
|
||||
"Rule" : {
|
||||
"PayeeID" : "5afd9e0d9043d33a97cbbf95",
|
||||
"PercentageShare" : 2,
|
||||
"PayerInstrument" : {
|
||||
"_id" : ObjectId("5afd9e329043d33a97cbbf99"),
|
||||
"AccountType" : "Credit/Debit Payment Card",
|
||||
"ReceivingAccount" : 0,
|
||||
"PaymentsAccount" : 1,
|
||||
"CreditDebitCardInfo" : {
|
||||
"CardPANEncrypted" : "3::bcfb5b1164b3f2d648cd9458617e6adcfe4d510e366478ef85087cd29f0ebc66a6cad954a0e135870e65e03bd1c983a1e5937a20e8ff76796f9e328ec261c14c664da34a59aed52e9234c791b73d29bf",
|
||||
"CardExpiryEncrypted" : "3::91649834c20428047752c5b5a0aa3ab026481d090b25508430a4b1a6cda88753427788951070f48f0ced4659c35b4f09fc725d7689ea4812aeca157a71b17149",
|
||||
"CardValidFromEncrypted" : "3::80b473f12062388f3be88ac199c897412bbb10187e1821b5d46dd3bba4a37b895d5d114532ce6f4e8e6d85de4642794602badfcf60623d34a0d225990f27f882",
|
||||
"IssueNumberEncrypted" : "3::606ab0b5113f0dcfa13d9a390fd499deab36971aa90b2aa74cb521eb7e0b67ba995757b548ffd726ab43135fab3746a4e9aa5c282d8c4607e82811008d37b6d9",
|
||||
"NameOnAccount" : "John E Doe",
|
||||
"CardPAN" : "4*** **** **** *111",
|
||||
"Email" : "a@b.com",
|
||||
"FirstName" : "John",
|
||||
"LastName" : "Doe",
|
||||
"address" : {
|
||||
"_id" : ObjectId("5afd9e329043d33a97cbbf98"),
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"AddressDescription" : "",
|
||||
"BuildingNameFlat" : "Flat 20",
|
||||
"Address1" : "Victoria House",
|
||||
"Address2" : "15 The Street",
|
||||
"Town" : "Christchurch",
|
||||
"County" : "Dorset",
|
||||
"PostCode" : "BH23 6AA",
|
||||
"Country" : "",
|
||||
"PhoneNumber" : "+44 123 1110000",
|
||||
"ResidentTo" : "",
|
||||
"ResidentFrom" : "",
|
||||
"DateAdded" : ISODate("2018-05-17T15:22:26.187Z"),
|
||||
"LastUpdate" : ISODate("2018-05-17T15:22:26.187Z"),
|
||||
"LastVersion" : 1
|
||||
}
|
||||
},
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"VendorID" : "Visa",
|
||||
"VendorAccountName" : "Credit/Debit Card",
|
||||
"Description" : "BloggsCo Inc. account.",
|
||||
"IconLocation" : "VISA_CREDIT.png",
|
||||
"APIVersion" : "7.6.4-dev",
|
||||
"Integrity" : null,
|
||||
"LastUpdate" : ISODate("2018-05-17T15:22:26.187Z"),
|
||||
"LastVersion" : 1
|
||||
},
|
||||
"PayeeInstrument" : null
|
||||
},
|
||||
"Status" : "Created",
|
||||
"LastVersion" : 1
|
||||
}
|
||||
|
||||
```
|
440
tasks/bridge-973/work.md
Normal file
440
tasks/bridge-973/work.md
Normal file
@ -0,0 +1,440 @@
|
||||
# Acceptance Criteria #
|
||||
|
||||
The following acceptance criteria tests were performed on DEV.
|
||||
|
||||
|
||||
## 1. User successfully confirms and activates a rule ##
|
||||
|
||||
Re-authorise with :
|
||||
|
||||
```
|
||||
Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1
|
||||
|
||||
```
|
||||
|
||||
Payee Account
|
||||
```
|
||||
|
||||
{
|
||||
"description": "Silver Carpenter Inc. account.",
|
||||
"receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
created world pay
|
||||
```
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
created credit card
|
||||
```
|
||||
{
|
||||
"cardUsageKey": "9ca8b121-5543-4629-b53d-087d650ad17a",
|
||||
"cardID": "5afd5759fb887d13c5f32aa9"
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd5759fb887d13c5f32aa9",
|
||||
"key": "9ca8b121-5543-4629-b53d-087d650ad17a"
|
||||
},
|
||||
"payeeID": "5afd571bfb887d13c5f32aa5",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
created rule id
|
||||
```
|
||||
{
|
||||
"ID": "5afd5880fb887d13c5f32aac"
|
||||
}
|
||||
```
|
||||
|
||||
/receivables/rules/{objectID} Confirm a rule in our favour
|
||||
|
||||
ObjectID: 5afd5880fb887d13c5f32aac
|
||||
```
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
```
|
||||
|
||||
Response code **Code 200**
|
||||
|
||||
```
|
||||
{
|
||||
"_id" : ObjectId("5afd5880fb887d13c5f32aac"),
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"LastUpdate" : ISODate("2018-05-17T10:34:30.131Z"),
|
||||
"Trigger" : {
|
||||
"Stage" : "paymentComplete",
|
||||
"Type" : "ruleIdInRtp"
|
||||
},
|
||||
"Rule" : {
|
||||
"PayeeID" : "5afd571bfb887d13c5f32aa5",
|
||||
"PercentageShare" : 2,
|
||||
"PayerInstrument" : {
|
||||
"_id" : ObjectId("5afd5759fb887d13c5f32aa9"),
|
||||
"AccountType" : "Credit/Debit Payment Card",
|
||||
"ReceivingAccount" : 0,
|
||||
"PaymentsAccount" : 1,
|
||||
"CreditDebitCardInfo" : {
|
||||
"CardPANEncrypted" : "3::993f7cc9b0d92aace06ee198cbb9491220241faee0186ee42d59c8cd6e63ce59521e07914466daad3ea07f3d8a5a625d070032c3e25c865487c2db7c682cba8822b4c1f7e1728cda54e7fb2578fe5871",
|
||||
"CardExpiryEncrypted" : "3::5b0b083cb527fcb0948b48a6a2fd17d99703cb9ce8af3e0b5479fa8020422aae97c1b0b0ae2ac29a068066d7236b5959653396fedc329f25446c2121a575de76",
|
||||
"CardValidFromEncrypted" : "3::aa50a37353fd5a6360cf8f2c42a9d0010824a022f564f708c46d6a7a2e7978c2053a23de5a4101b6947c576800be29ac7289f984d9f94cfcf1a49cacd8d5a45c",
|
||||
"IssueNumberEncrypted" : "3::1570a87022f074b0920dce5c38038740d8c33960c8fea69854a44384dbd924e127eb06366fc864e0cb7325e5622763676d24b13f5455bf7337a45f0aec33c3fd",
|
||||
"NameOnAccount" : "Bob Bobbington",
|
||||
"CardPAN" : "4*** **** **** *111",
|
||||
"Email" : "a@b.com",
|
||||
"FirstName" : "Bob",
|
||||
"LastName" : "Bobbington",
|
||||
"address" : {
|
||||
"_id" : ObjectId("5afd5759fb887d13c5f32aa8"),
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"AddressDescription" : "",
|
||||
"BuildingNameFlat" : "Flat 20",
|
||||
"Address1" : "Victoria House",
|
||||
"Address2" : "15 The Street",
|
||||
"Town" : "Christchurch",
|
||||
"County" : "Dorset",
|
||||
"PostCode" : "BH23 6AA",
|
||||
"Country" : "",
|
||||
"PhoneNumber" : "+44 123 1110000",
|
||||
"ResidentTo" : "",
|
||||
"ResidentFrom" : "",
|
||||
"DateAdded" : ISODate("2018-05-17T10:20:09.531Z"),
|
||||
"LastUpdate" : ISODate("2018-05-17T10:20:09.531Z"),
|
||||
"LastVersion" : 1
|
||||
}
|
||||
},
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"VendorID" : "Visa",
|
||||
"VendorAccountName" : "Credit/Debit Card",
|
||||
"Description" : "Bobs account.",
|
||||
"IconLocation" : "VISA_CREDIT.png",
|
||||
"APIVersion" : "7.6.4-3121ed79e06cb111db8a6632564a062e633d485d",
|
||||
"Integrity" : null,
|
||||
"LastUpdate" : ISODate("2018-05-17T10:20:09.531Z"),
|
||||
"LastVersion" : 1
|
||||
},
|
||||
"PayeeInstrument" : {
|
||||
"_id" : ObjectId("5afd571bfb887d13c5f32aa5"),
|
||||
"AccountType" : "Worldpay Online Payments Account",
|
||||
"ReceivingAccount" : 1,
|
||||
"PaymentsAccount" : 0,
|
||||
"WorldpayOnlinePaymentsInfo" : {
|
||||
"ServiceKeyEncrypted" : "3::2d9cb94eea114811464269fce613fa9c2176fa8e742d059ff889367a275852811d02a6a126703ead7dbe6dcacebe60e9aa60613a3858a24540862e1aeef5e57c763c48af749e359c24406eac01b78270945530325bb96f203ee6e0549ea3fb76",
|
||||
"ServiceKey" : "T_S_********-****-****-****-********4bfb"
|
||||
},
|
||||
"UserID" : "79a26d981246978135edadf1",
|
||||
"VendorID" : "Worldpay",
|
||||
"VendorAccountName" : "Worldpay Online Payments",
|
||||
"Description" : "Silver Carpenter Inc. account.",
|
||||
"IconLocation" : "worldpay-account.png",
|
||||
"APIVersion" : "7.6.4-3121ed79e06cb111db8a6632564a062e633d485d",
|
||||
"Integrity" : null,
|
||||
"LastUpdate" : ISODate("2018-05-17T10:19:07.848Z"),
|
||||
"LastVersion" : 1
|
||||
}
|
||||
},
|
||||
"Status" : "Activated",
|
||||
"LastVersion" : 2
|
||||
}
|
||||
```
|
||||
|
||||
## 2. I have supplied a saved instrument and the instrument ID is invalid ##
|
||||
|
||||
Create a new rule
|
||||
|
||||
```
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd5759fb887d13c5f32aa9",
|
||||
"key": "9ca8b121-5543-4629-b53d-087d650ad17a"
|
||||
},
|
||||
"payeeID": "5afd571bfb887d13c5f32aa5",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
created rule id
|
||||
```
|
||||
{
|
||||
"ID": "5afd5e0afb887d13c5f32ab2"
|
||||
}
|
||||
```
|
||||
|
||||
/receivables/rules/{objectID} Confirm a rule in our favour
|
||||
|
||||
ObjectID: `5afd5e0afb887d13c5f32ab2`
|
||||
|
||||
```
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32bad"
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Result: 400
|
||||
Error: Bad Request
|
||||
|
||||
{
|
||||
"code": 600,
|
||||
"info": "The instrument could not be found, has no access or has expired."
|
||||
}
|
||||
```
|
||||
|
||||
## 3. I have supplied a saved payment instrument and the instrument does not belong to me ##
|
||||
|
||||
Re-authorise with :
|
||||
|
||||
```
|
||||
Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU2
|
||||
|
||||
```
|
||||
|
||||
Create a new world pay merchant
|
||||
|
||||
```
|
||||
{
|
||||
"description": "Greenock Tin Inc. account.",
|
||||
"receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb"
|
||||
}
|
||||
|
||||
```
|
||||
Created:
|
||||
|
||||
```
|
||||
{
|
||||
"key": "9de916f0-70f0-4199-88ab-14fd4375d9bc",
|
||||
"ID": "5afd749f59ab4014b6179d55"
|
||||
}
|
||||
```
|
||||
|
||||
Re-authorise with :
|
||||
|
||||
```
|
||||
Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1
|
||||
|
||||
```
|
||||
|
||||
Create a new rule
|
||||
|
||||
```
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd5759fb887d13c5f32aa9",
|
||||
"key": "9ca8b121-5543-4629-b53d-087d650ad17a"
|
||||
},
|
||||
"payeeID": "5afd571bfb887d13c5f32aa5",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Results:
|
||||
```
|
||||
{
|
||||
"ID": "5afd761c59ab4014b6179d58"
|
||||
}
|
||||
```
|
||||
Try to confirm the rule with someone elses instrument details
|
||||
```
|
||||
ObjectID: 5afd761c59ab4014b6179d58
|
||||
|
||||
{
|
||||
"key": "9de916f0-70f0-4199-88ab-14fd4375d9bc",
|
||||
"ID": "5afd749f59ab4014b6179d55"
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Code 400
|
||||
Error: Bad Request
|
||||
Response body
|
||||
{
|
||||
"code": 600,
|
||||
"info": "The instrument could not be found, has no access or has expired."
|
||||
}
|
||||
```
|
||||
|
||||
## 4. I have supplied a saved instrument and the encryption key is not correct ##
|
||||
|
||||
Using rule created in step 2:
|
||||
|
||||
Created rule id
|
||||
```
|
||||
{
|
||||
"ID": "5afd5e0afb887d13c5f32ab2"
|
||||
}
|
||||
```
|
||||
|
||||
/receivables/rules/{objectID} Confirm a rule in our favour
|
||||
|
||||
```
|
||||
ObjectID: 5afd5e0afb887d13c5f32ab2
|
||||
|
||||
{
|
||||
"key": "badbadba-dbad-badb-adba-dbadbadbadba",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Code 401
|
||||
Undocumented
|
||||
Error: Unauthorized
|
||||
Response body
|
||||
{
|
||||
"code": 602,
|
||||
"info": "The instrument could not be decrypted."
|
||||
}
|
||||
```
|
||||
|
||||
## 5. the Rule does not exist ##
|
||||
|
||||
Use
|
||||
|
||||
```
|
||||
ObjectID: 000000000000000badbadbad
|
||||
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
Code 400
|
||||
Error: Bad Request
|
||||
Response body
|
||||
{
|
||||
"code": 627,
|
||||
"info": "The Rule doesn't exist or you don't have permission to access it."
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## 6. My UserID is not the same as the Payee Instrument's UserID ##
|
||||
|
||||
Payee Account
|
||||
```
|
||||
|
||||
{
|
||||
"description": "Alaska-Zinc Inc. account.",
|
||||
"receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
{
|
||||
"key": "55c2de8e-ef07-4232-903c-efc67041261c",
|
||||
"ID": "5afd78c059ab4014b6179d61"
|
||||
}
|
||||
|
||||
Create a rule for this payee account
|
||||
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd5759fb887d13c5f32aa9",
|
||||
"key": "9ca8b121-5543-4629-b53d-087d650ad17a"
|
||||
},
|
||||
"payeeID": "5afd78c059ab4014b6179d61",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
|
||||
results:
|
||||
|
||||
{
|
||||
"ID": "5afd78f459ab4014b6179d64"
|
||||
}
|
||||
|
||||
|
||||
Try to confirm with a different payee account
|
||||
|
||||
Using Silver Carpenter account:
|
||||
|
||||
created world pay
|
||||
```
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
```
|
||||
|
||||
ObjectID: 5afd78f459ab4014b6179d64
|
||||
|
||||
{
|
||||
"key": "768f07ca-5006-475f-812a-46be3cba88e8",
|
||||
"ID": "5afd571bfb887d13c5f32aa5"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"trigger": {
|
||||
"stage": "paymentComplete",
|
||||
"type": "ruleIdInRtp"
|
||||
},
|
||||
"rule": {
|
||||
"payerInstrument": {
|
||||
"ID": "5afd5759fb887d13c5f32aa9",
|
||||
"key": "9ca8b121-5543-4629-b53d-087d650ad17a"
|
||||
},
|
||||
"payeeID": "5afd571bfb887d13c5f32aa5",
|
||||
"percentageShare": 2
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
"ID": "5afd79ff59ab4014b6179d68"
|
||||
}
|
||||
|
||||
Re autorize
|
||||
Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU2
|
||||
|
||||
|
||||
Use worldpay account created in step 3
|
||||
|
||||
{
|
||||
"key": "9de916f0-70f0-4199-88ab-14fd4375d9bc",
|
||||
"ID": "5afd749f59ab4014b6179d55"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user