summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorJoe Carstairs <65492573+Sycamost@users.noreply.github.com>2023-08-08 08:26:47 +0100
committerJoe Carstairs <65492573+Sycamost@users.noreply.github.com>2023-08-08 08:26:47 +0100
commit59558223a39d069a368e556794918f0f42292373 (patch)
tree7d379e65034724c168fa9f1f4f94d47308ea8e4f /api
parent788564803d72c8d5aa412165ab7121398dc0feb3 (diff)
Handles PATCH
Diffstat (limited to 'api')
-rw-r--r--api/Order.js43
-rw-r--r--api/Order.js.map2
2 files changed, 42 insertions, 3 deletions
diff --git a/api/Order.js b/api/Order.js
index 1ef976d..afc322e 100644
--- a/api/Order.js
+++ b/api/Order.js
@@ -46,12 +46,18 @@ function handler(request, response) {
return [4 /*yield*/, handlePost(request, response)];
case 1:
_a.sent();
- return [3 /*break*/, 3];
+ return [3 /*break*/, 5];
case 2:
+ if (!(request.method === 'PATCH')) return [3 /*break*/, 4];
+ return [4 /*yield*/, handlePatch(request, response)];
+ case 3:
+ _a.sent();
+ return [3 /*break*/, 5];
+ case 4:
console.warn('Method was not POST. Method was ' + request.method);
response.status(404);
return [2 /*return*/];
- case 3: return [2 /*return*/];
+ case 5: return [2 /*return*/];
}
});
});
@@ -93,4 +99,37 @@ function handlePost(request, response) {
});
});
}
+function handlePatch(request, response) {
+ return __awaiter(this, void 0, void 0, function () {
+ var _a, id, isApproved, paypalResponse, err_2;
+ return __generator(this, function (_b) {
+ switch (_b.label) {
+ case 0:
+ _a = request.body, id = _a.id, isApproved = _a.isApproved;
+ if (!!id) return [3 /*break*/, 1];
+ response.status(400).send('Expected body to contain id, but none provided.');
+ return [3 /*break*/, 5];
+ case 1:
+ if (!!isApproved) return [3 /*break*/, 2];
+ response.status(400).send('Expected body to contain isApproved, but none provided.');
+ return [3 /*break*/, 5];
+ case 2:
+ _b.trys.push([2, 4, , 5]);
+ return [4 /*yield*/, (0, _paypal_1.paypalCaptureOrder)(id)];
+ case 3:
+ paypalResponse = _b.sent();
+ response.status(201).json({
+ orderId: paypalResponse.id,
+ paypalStatus: paypalResponse.status,
+ });
+ return [3 /*break*/, 5];
+ case 4:
+ err_2 = _b.sent();
+ response.status(500).send("Internal server error. ".concat(err_2));
+ return [3 /*break*/, 5];
+ case 5: return [2 /*return*/];
+ }
+ });
+ });
+}
//# sourceMappingURL=order.js.map \ No newline at end of file
diff --git a/api/Order.js.map b/api/Order.js.map
index c67462b..0abdce4 100644
--- a/api/Order.js.map
+++ b/api/Order.js.map
@@ -1 +1 @@
-{"version":3,"file":"order.js","sourceRoot":"","sources":["../api-src/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qCAA8C;AAE9C,SAA8B,OAAO,CAAC,OAAsB,EAAE,QAAwB;;;;;yBAChF,CAAA,OAAO,CAAC,MAAM,KAAK,MAAM,CAAA,EAAzB,wBAAyB;oBAC3B,qBAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAAnC,SAAmC,CAAC;;;oBAEpC,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,sBAAO;;;;;CAEV;AARD,0BAQC;AAED,SAAe,UAAU,CAAC,OAAsB,EAAE,QAAwB;;;;;;oBAClE,KAAuE,OAAO,CAAC,IAAI,EAAjF,kBAAkB,wBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAA,CAAkC;yBAEtF,CAAC,kBAAkB,EAAnB,wBAAmB;oBACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;;;yBACpF,CAAC,gBAAgB,EAAjB,wBAAiB;oBAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;;;yBAClF,CAAC,UAAU,EAAX,wBAAW;oBACpB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;;;;oBAG5D,qBAAM,IAAA,2BAAiB,EAAC,EAAE,kBAAkB,oBAAA,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAA9F,cAAc,GAAG,SAA6E;oBACpG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACxB,OAAO,EAAE,cAAc,CAAC,EAAE;qBAC3B,CAAC,CAAC;;;;oBAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAA0B,KAAG,CAAE,CAAC,CAAC;;;;;;CAGhE"} \ No newline at end of file
+{"version":3,"file":"order.js","sourceRoot":"","sources":["../api-src/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qCAAkE;AAElE,SAA8B,OAAO,CAAC,OAAsB,EAAE,QAAwB;;;;;yBAChF,CAAA,OAAO,CAAC,MAAM,KAAK,MAAM,CAAA,EAAzB,wBAAyB;oBAC3B,qBAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAAnC,SAAmC,CAAC;;;yBAC3B,CAAA,OAAO,CAAC,MAAM,KAAK,OAAO,CAAA,EAA1B,wBAA0B;oBACnC,qBAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAA;;oBAApC,SAAoC,CAAC;;;oBAErC,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,sBAAO;;;;;CAEV;AAVD,0BAUC;AAED,SAAe,UAAU,CAAC,OAAsB,EAAE,QAAwB;;;;;;oBAClE,KAAuE,OAAO,CAAC,IAAI,EAAjF,kBAAkB,wBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAA,CAAkC;yBAEtF,CAAC,kBAAkB,EAAnB,wBAAmB;oBACrB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;;;yBACpF,CAAC,gBAAgB,EAAjB,wBAAiB;oBAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;;;yBAClF,CAAC,UAAU,EAAX,wBAAW;oBACpB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;;;;oBAG5D,qBAAM,IAAA,2BAAiB,EAAC,EAAE,kBAAkB,oBAAA,EAAE,gBAAgB,kBAAA,EAAE,UAAU,YAAA,EAAE,CAAC,EAAA;;oBAA9F,cAAc,GAAG,SAA6E;oBACpG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACxB,OAAO,EAAE,cAAc,CAAC,EAAE;qBAC3B,CAAC,CAAC;;;;oBAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAA0B,KAAG,CAAE,CAAC,CAAC;;;;;;CAGhE;AAED,SAAe,WAAW,CAAC,OAAsB,EAAE,QAAwB;;;;;;oBACnE,KAAgD,OAAO,CAAC,IAAI,EAA1D,EAAE,QAAA,EAAE,UAAU,gBAAA,CAA6C;yBAE/D,CAAC,EAAE,EAAH,wBAAG;oBACL,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;;;yBACpE,CAAC,UAAU,EAAX,wBAAW;oBACpB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;;;;oBAG5D,qBAAM,IAAA,4BAAkB,EAAC,EAAE,CAAC,EAAA;;oBAA7C,cAAc,GAAG,SAA4B;oBACnD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACxB,OAAO,EAAE,cAAc,CAAC,EAAE;wBAC1B,YAAY,EAAE,cAAc,CAAC,MAAM;qBACpC,CAAC,CAAC;;;;oBAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iCAA0B,KAAG,CAAE,CAAC,CAAC;;;;;;CAGhE"} \ No newline at end of file