From baa08516df3eed79bc93a93158df0ab8a9712e32 Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Fri, 18 Jul 2025 14:33:17 -0700 Subject: [PATCH 1/2] Pass inDispute var during listAdminTransfers --- .../operations/GetAdminTransferOperation.kt | 1 + .../operations/ListAdminTransfersOperation.kt | 13 +++++++------ openapi.yml | 7 +++++++ sam/inputs/get-admin-transfer.json | 6 ++---- sam/lambda-stack.yml | 4 ++++ 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/GetAdminTransferOperation.kt b/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/GetAdminTransferOperation.kt index 4f3e8aa..883e555 100644 --- a/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/GetAdminTransferOperation.kt +++ b/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/GetAdminTransferOperation.kt @@ -39,6 +39,7 @@ class GetAdminTransferOperation @Inject constructor( .fee(transferItem.data?.fee ?: transferItem.amount?.let { getFee(it) }) .payoutTime(transferItem.data?.payoutTime) .creationTime(transferItem.data?.creationTime) + .inDispute(transferItem.inDispute) } override fun getUserPoolAllowList(): List { diff --git a/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/ListAdminTransfersOperation.kt b/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/ListAdminTransfersOperation.kt index 13333c6..90afea5 100644 --- a/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/ListAdminTransfersOperation.kt +++ b/kotlin/lambda/transfer-handler/src/main/kotlin/com/zenobiapay/transfer/operations/ListAdminTransfersOperation.kt @@ -4,8 +4,8 @@ import com.amazonaws.services.lambda.runtime.Context import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent import com.fasterxml.jackson.databind.ObjectMapper import com.zenobiapay.api.generated.model.ListAdminTransfersRequest -import com.zenobiapay.api.generated.model.ListMerchantTransfers200Response -import com.zenobiapay.api.generated.model.ListMerchantTransfers200ResponseItemsInner +import com.zenobiapay.api.generated.model.ListAdminTransfers200Response +import com.zenobiapay.api.generated.model.ListAdminTransfers200ResponseItemsInner import com.zenobiapay.api.operation.Operation import com.zenobiapay.api.model.cognito.UserPoolGroup import com.zenobiapay.api.model.exception.InvalidRequestException @@ -20,7 +20,7 @@ class ListAdminTransfersOperation @Inject constructor( private val objectMapper: ObjectMapper, private val transferDao: TransferDao, @Named(PAGINATION_SECRET) private val paginationSecret: String -) : Operation() { +) : Operation() { override val inputType = ListAdminTransfersRequest::class.java @@ -29,16 +29,16 @@ class ListAdminTransfersOperation @Inject constructor( input: APIGatewayProxyRequestEvent, context: Context, userId: String? - ): ListMerchantTransfers200Response { + ): ListAdminTransfers200Response { val merchantId = request.sub val (merchantTransfers, continuationToken) = try { transferDao.listMerchantTransfers(merchantId, request.continuationToken, paginationSecret) } catch (e: BadTokenException) { throw InvalidRequestException("Bad token") } - return ListMerchantTransfers200Response() + return ListAdminTransfers200Response() .items(merchantTransfers.map { - ListMerchantTransfers200ResponseItemsInner() + ListAdminTransfers200ResponseItemsInner() .amount(it.amount) .status(it.inboundStatus.toApiTransferStatus().name) .transferRequestId(it.requestId) @@ -46,6 +46,7 @@ class ListAdminTransfersOperation @Inject constructor( .fee(it.data?.fee ?: it.amount?.let { getFee(it) }) .payoutTime(it.data?.payoutTime) .creationTime(it.data?.creationTime) + .inDispute(it.inDispute) }) .continuationToken(continuationToken?.encodeToken(objectMapper, paginationSecret)) } diff --git a/openapi.yml b/openapi.yml index 2e7f9bd..0593bd8 100644 --- a/openapi.yml +++ b/openapi.yml @@ -697,6 +697,8 @@ paths: type: string creationTime: type: string + inDispute: + type: boolean "400": $ref: "#/components/responses/BadRequest" "403": @@ -973,6 +975,8 @@ paths: type: string creationTime: type: string + inDispute: + type: boolean "400": $ref: "#/components/responses/BadRequest" "403": @@ -1074,6 +1078,9 @@ paths: type: string endTime: type: string + required: + - startTime + - endTime responses: "200": description: "Successful response" diff --git a/sam/inputs/get-admin-transfer.json b/sam/inputs/get-admin-transfer.json index 99bf01b..84b4687 100644 --- a/sam/inputs/get-admin-transfer.json +++ b/sam/inputs/get-admin-transfer.json @@ -6,13 +6,11 @@ "Content-Type": "application/json" }, "multiValueHeaders": {}, - "queryStringParameters": { - "id": "transfer-123456" - }, + "queryStringParameters": null, "multiValueQueryStringParameters": null, "pathParameters": null, "stageVariables": null, - "body": "{\"sub\":\"auth0|merchant-user-id\"}", + "body": "{\"id\":\"transfer-123456\"}", "isBase64Encoded": false, "requestContext": { "accountId": "123456789012", diff --git a/sam/lambda-stack.yml b/sam/lambda-stack.yml index db41ccc..c8f5fd3 100644 --- a/sam/lambda-stack.yml +++ b/sam/lambda-stack.yml @@ -873,6 +873,8 @@ Resources: type: string creationTime: type: string + inDispute: + type: boolean "400": $ref: "#/components/responses/BadRequest" "403": @@ -1155,6 +1157,8 @@ Resources: type: string creationTime: type: string + inDispute: + type: boolean "400": $ref: "#/components/responses/BadRequest" "403": From a9130a233c9d2301d1cd7f2cd193f00e4cc51afb Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Fri, 18 Jul 2025 14:44:47 -0700 Subject: [PATCH 2/2] Make getitem public --- golang/authorizer/route.go | 2 +- .../kotlin/com/zenobiapay/item/operations/GetItemOperation.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/golang/authorizer/route.go b/golang/authorizer/route.go index 33b7327..23228fe 100644 --- a/golang/authorizer/route.go +++ b/golang/authorizer/route.go @@ -48,6 +48,7 @@ var validUnauthenticatedRoutes = []Route{ {"POST", "exchange-token"}, {"POST", "issue-jwt"}, {"GET", "get-customer-transfer"}, + {"POST", "get-item"}, } var validMerchantRoutes = []Route{ @@ -77,7 +78,6 @@ var validCustomerRoutes = []Route{ {"GET", "get-user-profile"}, {"POST", "submit-terms"}, {"POST", "delete-refresh-token"}, - {"POST", "get-item"}, {"POST", "list-items"}, {"POST", "create-sell-job"}, {"POST", "complete-sell-job"}, diff --git a/kotlin/lambda/item-handler/src/main/kotlin/com/zenobiapay/item/operations/GetItemOperation.kt b/kotlin/lambda/item-handler/src/main/kotlin/com/zenobiapay/item/operations/GetItemOperation.kt index a4197c5..56bd5b4 100644 --- a/kotlin/lambda/item-handler/src/main/kotlin/com/zenobiapay/item/operations/GetItemOperation.kt +++ b/kotlin/lambda/item-handler/src/main/kotlin/com/zenobiapay/item/operations/GetItemOperation.kt @@ -37,6 +37,6 @@ class GetItemOperation @Inject constructor( } override fun getUserPoolAllowList(): List { - return listOf(UserPoolGroup.CUSTOMER) + return listOf(UserPoolGroup.UNKNOWN) } } \ No newline at end of file