Skip to content

Commit acb9a2b

Browse files
authored
Upsert company support (#154)
* Add support for upserting companies * Add changeset
1 parent 251af70 commit acb9a2b

File tree

7 files changed

+74
-32
lines changed

7 files changed

+74
-32
lines changed

.changeset/honest-jeans-grab.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@team-plain/typescript-sdk': minor
3+
---
4+
5+
Added 'upsertCompany' support to SDK

src/client.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ import {
8181
UpdateTenantTierDocument,
8282
UpdateThreadTenantDocument,
8383
UpdateWebhookTargetDocument,
84+
UpsertCompanyDocument,
8485
UpsertCustomerDocument,
8586
type UpsertResult,
8687
UpsertTenantDocument,
@@ -986,6 +987,19 @@ export class PlainClient {
986987
return unwrapData(res, () => null);
987988
}
988989

990+
async upsertCompany(
991+
input: VariablesOf<typeof UpsertCompanyDocument>['input']
992+
): SDKResult<CompanyPartsFragment> {
993+
const res = await request(this.#ctx, {
994+
query: UpsertCompanyDocument,
995+
variables: {
996+
input,
997+
},
998+
});
999+
1000+
return unwrapData(res, (q) => nonNullable(q.upsertCompany.company));
1001+
}
1002+
9891003
async getCompanies(variables: VariablesOf<typeof CompaniesDocument>): SDKResult<{
9901004
companies: CompanyPartsFragment[];
9911005
pageInfo: PageInfoPartsFragment;

src/graphql/fragments/threadParts.gql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ fragment ThreadParts on Thread {
2222
threadFields {
2323
...ThreadFieldParts
2424
}
25-
2625
assignedAt {
2726
...DateTimeParts
2827
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
mutation upsertCompany($input: UpsertCompanyInput!) {
2+
upsertCompany(input: $input) {
3+
company {
4+
...CompanyParts
5+
}
6+
error {
7+
...MutationErrorParts
8+
}
9+
}
10+
}

src/graphql/types.ts

Lines changed: 12 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/webhooks/webhook-schema.json

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -114,29 +114,7 @@
114114
]
115115
},
116116
"webhookMetadata": {
117-
"type": "object",
118-
"properties": {
119-
"webhookTargetId": {
120-
"$ref": "#/definitions/id"
121-
},
122-
"webhookDeliveryAttemptId": {
123-
"$ref": "#/definitions/id"
124-
},
125-
"webhookDeliveryAttemptNumber": {
126-
"type": "integer",
127-
"exclusiveMinimum": 0
128-
},
129-
"webhookDeliveryAttemptTimestamp": {
130-
"$ref": "#/definitions/datetime"
131-
}
132-
},
133-
"required": [
134-
"webhookTargetId",
135-
"webhookDeliveryAttemptId",
136-
"webhookDeliveryAttemptNumber",
137-
"webhookDeliveryAttemptTimestamp"
138-
],
139-
"additionalProperties": false
117+
"$ref": "#/definitions/webhookMetadata"
140118
}
141119
},
142120
"required": [
@@ -2831,6 +2809,31 @@
28312809
],
28322810
"additionalProperties": false
28332811
},
2812+
"webhookMetadata": {
2813+
"type": "object",
2814+
"properties": {
2815+
"webhookTargetId": {
2816+
"$ref": "#/definitions/id"
2817+
},
2818+
"webhookDeliveryAttemptId": {
2819+
"$ref": "#/definitions/id"
2820+
},
2821+
"webhookDeliveryAttemptNumber": {
2822+
"type": "integer",
2823+
"exclusiveMinimum": 0
2824+
},
2825+
"webhookDeliveryAttemptTimestamp": {
2826+
"$ref": "#/definitions/datetime"
2827+
}
2828+
},
2829+
"required": [
2830+
"webhookTargetId",
2831+
"webhookDeliveryAttemptId",
2832+
"webhookDeliveryAttemptNumber",
2833+
"webhookDeliveryAttemptTimestamp"
2834+
],
2835+
"additionalProperties": false
2836+
},
28342837
"customerGroupMembershipsChangedPayload": {
28352838
"type": "object",
28362839
"properties": {

src/webhooks/webhook-schema.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,7 @@ export interface WebhooksSchemaDefinition {
213213
| "customer.customer_group_changed"
214214
| "customer.customer_group_memberships_changed"
215215
| "timeline.timeline_entry_changed";
216-
webhookMetadata: {
217-
webhookTargetId: Id;
218-
webhookDeliveryAttemptId: Id;
219-
webhookDeliveryAttemptNumber: number;
220-
webhookDeliveryAttemptTimestamp: Datetime;
221-
};
216+
webhookMetadata: WebhookMetadata;
222217
}
223218
export interface CustomerChangedPayload {
224219
changeType: "ADDED" | "UPDATED";
@@ -697,3 +692,9 @@ export interface CustomerDeletedPublicEventPayload {
697692
eventType: "customer.customer_deleted";
698693
previousCustomer: Customer;
699694
}
695+
export interface WebhookMetadata {
696+
webhookTargetId: Id;
697+
webhookDeliveryAttemptId: Id;
698+
webhookDeliveryAttemptNumber: number;
699+
webhookDeliveryAttemptTimestamp: Datetime;
700+
}

0 commit comments

Comments
 (0)