aboutsummaryrefslogtreecommitdiffstats
path: root/src/wwwroot/scripts/api/order-api.ts
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-06-01 21:13:43 +0200
committerivarlovlie <git@ivarlovlie.no>2022-06-01 21:13:43 +0200
commit9383a2fb09ffb60cfe63683106945bd688affa59 (patch)
tree65b3f4b48841583e355887db5de5a16e7005fc87 /src/wwwroot/scripts/api/order-api.ts
downloadvinjesvingenhandel.no-9383a2fb09ffb60cfe63683106945bd688affa59.tar.xz
vinjesvingenhandel.no-9383a2fb09ffb60cfe63683106945bd688affa59.zip
feat: Initial commit after clean slate
Diffstat (limited to 'src/wwwroot/scripts/api/order-api.ts')
-rw-r--r--src/wwwroot/scripts/api/order-api.ts64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/wwwroot/scripts/api/order-api.ts b/src/wwwroot/scripts/api/order-api.ts
new file mode 100644
index 0000000..eaacffe
--- /dev/null
+++ b/src/wwwroot/scripts/api/order-api.ts
@@ -0,0 +1,64 @@
+import {SubmitOrderPayload, ValidateOrderPayload} from "./order-api.types";
+
+export function validateOrderProducts(payload: ValidateOrderPayload): Promise<Response> {
+ return fetch("/api/orders/validate-products", {
+ headers: {
+ "Content-Type": "application/json;charset=utf-8"
+ },
+ body: JSON.stringify(payload),
+ method: "post",
+ credentials: "include"
+ });
+}
+
+export function validateOrder(payload: ValidateOrderPayload): Promise<Response> {
+ return fetch("/api/orders/validate", {
+ headers: {
+ "Content-Type": "application/json;charset=utf-8"
+ },
+ body: JSON.stringify(payload),
+ method: "post",
+ credentials: "include"
+ });
+}
+
+export function getOrderDetails(id): Promise<Response> {
+ return fetch("/api/orders/" + id + "/details", {
+ credentials: "include"
+ });
+}
+
+export function captureVippsOrder(id: String): Promise<Response> {
+ return fetch("/api/orders/" + id + "/capture")
+}
+
+export function cancelOrder(id: String): Promise<Response> {
+ return fetch("/api/orders/" + id + "/cancel")
+}
+
+export function refundOrder(id: String): Promise<Response> {
+ return fetch("/api/orders/" + id + "/refund")
+}
+
+export function submitOrder(payload: SubmitOrderPayload): Promise<Response> {
+ return fetch("/api/orders/submit", {
+ headers: {
+ "Content-Type": "application/json;charset=utf-8"
+ },
+ body: JSON.stringify(payload),
+ method: "post",
+ credentials: "include"
+ });
+}
+
+export function getOrders(filter?: string): Promise<Response> {
+ return fetch("/api/orders?filter=" + filter, {
+ credentials: "include"
+ });
+}
+
+export function getOrder(id): Promise<Response> {
+ return fetch("/api/orders/" + id, {
+ credentials: "include"
+ });
+} \ No newline at end of file