@stackfactor/client-api 1.2.6 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/lib/channelProgrammes.d.ts +134 -0
  2. package/dist/cjs/lib/channelProgrammes.d.ts.map +1 -0
  3. package/dist/cjs/lib/channelProgrammes.js +205 -0
  4. package/dist/cjs/lib/channelProgrammes.js.map +1 -0
  5. package/dist/cjs/lib/constants.d.ts +19 -0
  6. package/dist/cjs/lib/constants.d.ts.map +1 -1
  7. package/dist/cjs/lib/constants.js +40 -0
  8. package/dist/cjs/lib/constants.js.map +1 -1
  9. package/dist/cjs/lib/index.d.ts +2 -0
  10. package/dist/cjs/lib/index.d.ts.map +1 -1
  11. package/dist/cjs/lib/index.js +4 -2
  12. package/dist/cjs/lib/index.js.map +1 -1
  13. package/dist/cjs/lib/partnerships.d.ts +141 -0
  14. package/dist/cjs/lib/partnerships.d.ts.map +1 -0
  15. package/dist/cjs/lib/partnerships.js +247 -0
  16. package/dist/cjs/lib/partnerships.js.map +1 -0
  17. package/dist/esm/lib/channelProgrammes.d.ts +134 -0
  18. package/dist/esm/lib/channelProgrammes.d.ts.map +1 -0
  19. package/dist/esm/lib/channelProgrammes.js +193 -0
  20. package/dist/esm/lib/channelProgrammes.js.map +1 -0
  21. package/dist/esm/lib/constants.d.ts +19 -0
  22. package/dist/esm/lib/constants.d.ts.map +1 -1
  23. package/dist/esm/lib/constants.js +40 -0
  24. package/dist/esm/lib/constants.js.map +1 -1
  25. package/dist/esm/lib/index.d.ts +2 -0
  26. package/dist/esm/lib/index.d.ts.map +1 -1
  27. package/dist/esm/lib/index.js +2 -0
  28. package/dist/esm/lib/index.js.map +1 -1
  29. package/dist/esm/lib/partnerships.d.ts +141 -0
  30. package/dist/esm/lib/partnerships.d.ts.map +1 -0
  31. package/dist/esm/lib/partnerships.js +234 -0
  32. package/dist/esm/lib/partnerships.js.map +1 -0
  33. package/package.json +1 -1
@@ -0,0 +1,234 @@
1
+ import { client } from "./axiosClient.js";
2
+ // ── Vendor side ───────────────────────────────────────────────────────────────
3
+ /**
4
+ * Invite an organization to one of the calling vendor's programmes, by email.
5
+ *
6
+ * Returns success whether or not the address belongs to a StackFactor account —
7
+ * an address that matches nobody still produces a record that simply expires, so
8
+ * "they ignored me" and "no such account" are indistinguishable. This is
9
+ * deliberate: it stops the endpoint being used to discover who has an account.
10
+ * The invitation code is emailed to the invitee and is not part of the response.
11
+ * POST /api/v1/partnerships/invite
12
+ * @param {PartnerInvitationInput} data Programme, email and optional tier / seats
13
+ * @param {String} authToken Authentication token
14
+ * @returns {Promise<object>}
15
+ */
16
+ export const invitePartner = (data, authToken) => {
17
+ return new Promise((resolve, reject) => {
18
+ const request = client.post(`/api/v1/partnerships/invite`, data, {
19
+ headers: { authorization: authToken },
20
+ });
21
+ request
22
+ .then((response) => {
23
+ resolve(response.data);
24
+ })
25
+ .catch((error) => {
26
+ reject(error);
27
+ });
28
+ });
29
+ };
30
+ /**
31
+ * Re-issue an open invitation's code and extend its window. The previously
32
+ * emailed code stops working.
33
+ * POST /api/v1/partnerships/resend/:id
34
+ * @param {String} id Partnership id
35
+ * @param {String} authToken Authentication token
36
+ * @returns {Promise<object>}
37
+ */
38
+ export const resendInvitation = (id, authToken) => {
39
+ return new Promise((resolve, reject) => {
40
+ const request = client.post(`/api/v1/partnerships/resend/${id}`, {}, { headers: { authorization: authToken } });
41
+ request
42
+ .then((response) => {
43
+ resolve(response.data);
44
+ })
45
+ .catch((error) => {
46
+ reject(error);
47
+ });
48
+ });
49
+ };
50
+ /**
51
+ * Withdraw an invitation that has not been answered.
52
+ * POST /api/v1/partnerships/revoke/:id
53
+ * @param {String} id Partnership id
54
+ * @param {String} authToken Authentication token
55
+ * @returns {Promise<object>}
56
+ */
57
+ export const revokeInvitation = (id, authToken) => {
58
+ return new Promise((resolve, reject) => {
59
+ const request = client.post(`/api/v1/partnerships/revoke/${id}`, {}, { headers: { authorization: authToken } });
60
+ request
61
+ .then((response) => {
62
+ resolve(response.data);
63
+ })
64
+ .catch((error) => {
65
+ reject(error);
66
+ });
67
+ });
68
+ };
69
+ /**
70
+ * The partnerships of the calling vendor's own programmes.
71
+ *
72
+ * Scoped to the vendor server-side: one vendor can never see a partnership
73
+ * belonging to another vendor's programme, so a competitor's partner list is not
74
+ * discoverable.
75
+ * POST /api/v1/partnerships/vendor
76
+ * @param {VendorPartnershipListParams} params Optional programme / status filters
77
+ * @param {String} authToken Authentication token
78
+ * @returns {Promise<object>}
79
+ */
80
+ export const listVendorPartnerships = (params, authToken) => {
81
+ return new Promise((resolve, reject) => {
82
+ const request = client.post(`/api/v1/partnerships/vendor`, params, {
83
+ headers: { authorization: authToken },
84
+ });
85
+ request
86
+ .then((response) => {
87
+ resolve(response.data);
88
+ })
89
+ .catch((error) => {
90
+ reject(error);
91
+ });
92
+ });
93
+ };
94
+ // ── Partner side ──────────────────────────────────────────────────────────────
95
+ /**
96
+ * The calling tenant's own standing, across every vendor it partners with.
97
+ *
98
+ * Each row carries `termsVersionCurrent` and `termsReacceptanceRequired`. Drift
99
+ * is surfaced, not enforced — a partner whose vendor revised its terms keeps its
100
+ * catalog, and clears the flag with `reacceptTerms`.
101
+ * POST /api/v1/partnerships
102
+ * @param {PartnershipListParams} params Optional status filter
103
+ * @param {String} authToken Authentication token
104
+ * @returns {Promise<object>}
105
+ */
106
+ export const listTenantPartnerships = (params, authToken) => {
107
+ return new Promise((resolve, reject) => {
108
+ const request = client.post(`/api/v1/partnerships`, params, {
109
+ headers: { authorization: authToken },
110
+ });
111
+ request
112
+ .then((response) => {
113
+ resolve(response.data);
114
+ })
115
+ .catch((error) => {
116
+ reject(error);
117
+ });
118
+ });
119
+ };
120
+ /**
121
+ * Preview the invitation a code names, so the invitee can read the programme and
122
+ * its terms before deciding. Reads only; nothing changes.
123
+ *
124
+ * An unknown code, a code addressed to another organization, and an expired one
125
+ * all fail identically, so this cannot be used to probe which codes are real.
126
+ * POST /api/v1/partnerships/invitation
127
+ * @param {String} code The invitation code the user typed
128
+ * @param {String} authToken Authentication token
129
+ * @returns {Promise<object>}
130
+ */
131
+ export const readInvitation = (code, authToken) => {
132
+ return new Promise((resolve, reject) => {
133
+ const request = client.post(`/api/v1/partnerships/invitation`, { code }, { headers: { authorization: authToken } });
134
+ request
135
+ .then((response) => {
136
+ resolve(response.data);
137
+ })
138
+ .catch((error) => {
139
+ reject(error);
140
+ });
141
+ });
142
+ };
143
+ /**
144
+ * Accept an invitation on the organization's behalf.
145
+ *
146
+ * `termsVersion` must match the programme's current published terms — accepting
147
+ * a version that has since been revised returns 409 rather than succeeding
148
+ * against terms nobody agreed to.
149
+ * POST /api/v1/partnerships/accept
150
+ * @param {String} code The invitation code the user typed
151
+ * @param {Number} termsVersion The terms version being accepted
152
+ * @param {String} authToken Authentication token
153
+ * @returns {Promise<object>}
154
+ */
155
+ export const acceptInvitation = (code, termsVersion, authToken) => {
156
+ return new Promise((resolve, reject) => {
157
+ const request = client.post(`/api/v1/partnerships/accept`, { code, termsVersion }, { headers: { authorization: authToken } });
158
+ request
159
+ .then((response) => {
160
+ resolve(response.data);
161
+ })
162
+ .catch((error) => {
163
+ reject(error);
164
+ });
165
+ });
166
+ };
167
+ /**
168
+ * Decline an invitation. Terminal — a change of mind is a new invitation.
169
+ * POST /api/v1/partnerships/decline
170
+ * @param {String} code The invitation code the user typed
171
+ * @param {String} authToken Authentication token
172
+ * @returns {Promise<object>}
173
+ */
174
+ export const declineInvitation = (code, authToken) => {
175
+ return new Promise((resolve, reject) => {
176
+ const request = client.post(`/api/v1/partnerships/decline`, { code }, { headers: { authorization: authToken } });
177
+ request
178
+ .then((response) => {
179
+ resolve(response.data);
180
+ })
181
+ .catch((error) => {
182
+ reject(error);
183
+ });
184
+ });
185
+ };
186
+ /**
187
+ * Accept a revised set of terms on an already-active partnership, clearing the
188
+ * `termsReacceptanceRequired` flag the listing raises.
189
+ * POST /api/v1/partnerships/reaccept/:id
190
+ * @param {String} id Partnership id
191
+ * @param {Number} termsVersion The terms version being accepted
192
+ * @param {String} authToken Authentication token
193
+ * @returns {Promise<object>}
194
+ */
195
+ export const reacceptTerms = (id, termsVersion, authToken) => {
196
+ return new Promise((resolve, reject) => {
197
+ const request = client.post(`/api/v1/partnerships/reaccept/${id}`, { termsVersion }, { headers: { authorization: authToken } });
198
+ request
199
+ .then((response) => {
200
+ resolve(response.data);
201
+ })
202
+ .catch((error) => {
203
+ reject(error);
204
+ });
205
+ });
206
+ };
207
+ // ── Either side ───────────────────────────────────────────────────────────────
208
+ /**
209
+ * End an active partnership — the vendor removing a partner, or the partner
210
+ * leaving. The caller must be on one end of the edge.
211
+ *
212
+ * Granted content stops resolving on the next read. The record is kept rather
213
+ * than deleted: roll-up reporting freezes at the final state, and credentials
214
+ * already earned stay valid to their normal expiry. The partner's own billing
215
+ * plan, content and people are untouched.
216
+ * POST /api/v1/partnerships/terminate/:id
217
+ * @param {String} id Partnership id
218
+ * @param {String} reason Free-text reason, retained on the record
219
+ * @param {String} authToken Authentication token
220
+ * @returns {Promise<object>}
221
+ */
222
+ export const terminatePartnership = (id, reason, authToken) => {
223
+ return new Promise((resolve, reject) => {
224
+ const request = client.post(`/api/v1/partnerships/terminate/${id}`, { reason }, { headers: { authorization: authToken } });
225
+ request
226
+ .then((response) => {
227
+ resolve(response.data);
228
+ })
229
+ .catch((error) => {
230
+ reject(error);
231
+ });
232
+ });
233
+ };
234
+ //# sourceMappingURL=partnerships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partnerships.js","sourceRoot":"","sources":["../../../src/lib/partnerships.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackfactor/client-api",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "description": "Node.js library for the StackFactor API",
5
5
  "publishConfig": {
6
6
  "access": "public"