Skip to content
This repository was archived by the owner on Mar 9, 2023. It is now read-only.

Commit a31352d

Browse files
authored
Add place and cancel order actions (#4)
* Add place and cancel order actions * Update cancel-order.ts
1 parent 0c12494 commit a31352d

File tree

5 files changed

+91
-5
lines changed

5 files changed

+91
-5
lines changed

src/creates/cancel-order.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { Bundle, ZObject } from "zapier-platform-core";
2+
import { ZapierCreate, PatchResponse } from "../types";
3+
4+
type CancelData = {
5+
order_id: string;
6+
};
7+
8+
const perform = async (
9+
z: ZObject,
10+
bundle: Bundle<CancelData>
11+
): Promise<unknown> => {
12+
const { order_id } = bundle.inputData;
13+
const { data } = await z.request({
14+
method: "PATCH",
15+
url: `https://api.usepatch.com/v1/orders/${order_id}/cancel`,
16+
});
17+
return (data as PatchResponse).data;
18+
};
19+
20+
export const CancelOrder: ZapierCreate<CancelData> = {
21+
key: "cancel-order",
22+
noun: "order",
23+
display: {
24+
label: "Cancel Order",
25+
description: "Cancels an order.",
26+
},
27+
operation: {
28+
perform,
29+
inputFields: [
30+
// will call the trigger with a key of order
31+
{
32+
key: "order_id",
33+
label: "Order",
34+
dynamic: "order.id.name",
35+
},
36+
],
37+
sample: {
38+
order_id: "ord_test_123",
39+
},
40+
},
41+
};

src/creates/order.ts renamed to src/creates/create-order.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ const perform = async (
2020
return (data as PatchResponse).data;
2121
};
2222

23-
export const OrderCreate: ZapierCreate<CreateData> = {
24-
key: "order",
23+
export const CreateOrder: ZapierCreate<CreateData> = {
24+
key: "create-order",
2525
noun: "order",
2626
display: {
2727
label: "Create Order",

src/creates/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
export * from "./order";
1+
export * from "./cancel-order";
2+
export * from "./create-order";
3+
export * from "./place-order";

src/creates/place-order.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { Bundle, ZObject } from "zapier-platform-core";
2+
import { ZapierCreate, PatchResponse } from "../types";
3+
4+
type PlaceData = {
5+
order_id: string;
6+
};
7+
8+
const perform = async (
9+
z: ZObject,
10+
bundle: Bundle<PlaceData>
11+
): Promise<unknown> => {
12+
const { order_id } = bundle.inputData;
13+
const { data } = await z.request({
14+
method: "PATCH",
15+
url: `https://api.usepatch.com/v1/orders/${order_id}/place`,
16+
});
17+
return (data as PatchResponse).data;
18+
};
19+
20+
export const PlaceOrder: ZapierCreate<PlaceData> = {
21+
key: "place-order",
22+
noun: "order",
23+
display: {
24+
label: "Place Order",
25+
description: "Places an order.",
26+
},
27+
operation: {
28+
perform,
29+
inputFields: [
30+
// will call the trigger with a key of order
31+
{
32+
key: "order_id",
33+
label: "Order",
34+
dynamic: "order.id.name",
35+
},
36+
],
37+
sample: {
38+
order_id: "ord_test_123",
39+
},
40+
},
41+
};

src/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Bundle, HttpRequestOptions, ZObject } from "zapier-platform-core";
22
import { OrderTrigger, ProjectTrigger } from "./triggers";
3-
import { OrderCreate } from "./creates";
3+
import { CreateOrder, PlaceOrder, CancelOrder } from "./creates";
44
import { version as platformVersion } from "zapier-platform-core";
55
const { version } = require("../package.json"); // eslint-disable-line
66

@@ -38,6 +38,8 @@ export default {
3838
},
3939

4040
creates: {
41-
[OrderCreate.key]: OrderCreate,
41+
[CreateOrder.key]: CreateOrder,
42+
[PlaceOrder.key]: PlaceOrder,
43+
[CancelOrder.key]: CancelOrder,
4244
},
4345
};

0 commit comments

Comments
 (0)