@dev-crew-berlin/enter-js-utils 0.3.8 → 0.4.2

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 (66) hide show
  1. package/api-client.d.ts +2 -0
  2. package/api-client.js +2 -0
  3. package/dist/api-client/api-base.d.ts +30 -0
  4. package/dist/api-client/api-base.js +292 -0
  5. package/dist/api-client/api-base.js.map +1 -0
  6. package/dist/api-client/index.d.ts +75 -0
  7. package/dist/api-client/index.js +200 -0
  8. package/dist/api-client/index.js.map +1 -0
  9. package/dist/lib/api-result.d.ts +25 -0
  10. package/dist/lib/api-result.js +16 -0
  11. package/dist/lib/api-result.js.map +1 -0
  12. package/dist/lib/index.d.ts +2 -0
  13. package/dist/lib/index.js +2 -0
  14. package/dist/lib/index.js.map +1 -1
  15. package/dist/lib/not-undefined.d.ts +1 -0
  16. package/dist/lib/not-undefined.js +4 -0
  17. package/dist/lib/not-undefined.js.map +1 -0
  18. package/dist/models/_helpers.d.ts +23 -0
  19. package/dist/models/_helpers.js +90 -0
  20. package/dist/models/_helpers.js.map +1 -0
  21. package/dist/models/access-token.d.ts +11 -0
  22. package/dist/models/access-token.js +8 -0
  23. package/dist/models/access-token.js.map +1 -0
  24. package/dist/models/attendee.d.ts +90 -0
  25. package/dist/models/attendee.js +105 -0
  26. package/dist/models/attendee.js.map +1 -0
  27. package/dist/models/checkin-counts.d.ts +10 -0
  28. package/dist/models/checkin-counts.js +6 -0
  29. package/dist/models/checkin-counts.js.map +1 -0
  30. package/dist/models/checkins.d.ts +40 -0
  31. package/dist/models/checkins.js +71 -0
  32. package/dist/models/checkins.js.map +1 -0
  33. package/dist/models/event.d.ts +40 -0
  34. package/dist/models/event.js +2 -0
  35. package/dist/models/event.js.map +1 -0
  36. package/dist/models/field-group.d.ts +804 -0
  37. package/dist/models/field-group.js +51 -0
  38. package/dist/models/field-group.js.map +1 -0
  39. package/dist/models/field-value.d.ts +2 -0
  40. package/dist/models/field-value.js +4 -0
  41. package/dist/models/field-value.js.map +1 -0
  42. package/dist/models/field.d.ts +553 -0
  43. package/dist/models/field.js +44 -0
  44. package/dist/models/field.js.map +1 -0
  45. package/dist/models/index.d.ts +14 -0
  46. package/dist/models/index.js +4 -0
  47. package/dist/models/index.js.map +1 -0
  48. package/dist/models/instance.d.ts +78 -0
  49. package/dist/models/instance.js +104 -0
  50. package/dist/models/instance.js.map +1 -0
  51. package/dist/models/invite.d.ts +33 -0
  52. package/dist/models/invite.js +18 -0
  53. package/dist/models/invite.js.map +1 -0
  54. package/dist/models/meta-field.d.ts +7 -0
  55. package/dist/models/meta-field.js +8 -0
  56. package/dist/models/meta-field.js.map +1 -0
  57. package/dist/models/user.d.ts +18 -0
  58. package/dist/models/user.js +11 -0
  59. package/dist/models/user.js.map +1 -0
  60. package/dist/models/variable.d.ts +27 -0
  61. package/dist/models/variable.js +15 -0
  62. package/dist/models/variable.js.map +1 -0
  63. package/dist/ui/checkin-count-indicator.stories.d.ts +10 -10
  64. package/models.d.ts +1 -0
  65. package/models.js +1 -0
  66. package/package.json +20 -2
@@ -0,0 +1,2 @@
1
+ export * from './dist/api-client/index.js'
2
+ export { default as default } from './dist/api-client/index.js'
package/api-client.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './dist/api-client/index.js'
2
+ export { default as default } from './dist/api-client/index.js'
@@ -0,0 +1,30 @@
1
+ import { APIResult, APIValidator } from '../lib';
2
+ import { AccessToken } from '../models/access-token';
3
+ export interface APICredentials {
4
+ accessToken: string;
5
+ url: string;
6
+ }
7
+ export default class APIBase {
8
+ private credentials;
9
+ private isLoggedIn;
10
+ private onLogout;
11
+ constructor(args: {
12
+ credentials: APICredentials;
13
+ onLogout: (reason?: string) => void;
14
+ });
15
+ private static fetchResult;
16
+ static fetchAccessToken(args: {
17
+ url: string;
18
+ user: string;
19
+ password: string;
20
+ deviceName: string;
21
+ }): Promise<APIResult<AccessToken>>;
22
+ static getAuthHeader(username: string, password: string): string;
23
+ private fetchFromEnter;
24
+ protected get<Model>(endpoint: string, validate: APIValidator<Model>): Promise<APIResult<Model>>;
25
+ protected post<Model>(endpoint: string, data: Record<string, unknown> | Array<unknown> | null, validate: APIValidator<Model>): Promise<APIResult<Model>>;
26
+ protected put<Model>(endpoint: string, data: Record<string, unknown> | Array<unknown>, validate: APIValidator<Model>): Promise<APIResult<Model>>;
27
+ protected patch<Model>(endpoint: string, data: Record<string, unknown> | Array<unknown>, validate: APIValidator<Model>): Promise<APIResult<Model>>;
28
+ refreshToken(): Promise<APIResult<AccessToken>>;
29
+ logout(): Promise<void>;
30
+ }
@@ -0,0 +1,292 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { failure, success } from '../lib';
38
+ import { parseAccessToken } from '../models/access-token';
39
+ var APIBase = /** @class */ (function () {
40
+ function APIBase(args) {
41
+ this.credentials = args.credentials;
42
+ this.onLogout = args.onLogout;
43
+ this.isLoggedIn = true;
44
+ }
45
+ APIBase.fetchResult = function (input, init) {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var res, e_1;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ _a.trys.push([0, 2, , 3]);
52
+ return [4 /*yield*/, fetch(input, init)];
53
+ case 1:
54
+ res = _a.sent();
55
+ return [2 /*return*/, success(res)];
56
+ case 2:
57
+ e_1 = _a.sent();
58
+ return [2 /*return*/, failure(e_1)];
59
+ case 3: return [2 /*return*/];
60
+ }
61
+ });
62
+ });
63
+ };
64
+ APIBase.fetchAccessToken = function (args) {
65
+ return __awaiter(this, void 0, void 0, function () {
66
+ var body, res, error, e_2, payload;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ body = {
71
+ apiKey: 'default',
72
+ user: args.user,
73
+ password: args.password,
74
+ device: args.deviceName,
75
+ };
76
+ return [4 /*yield*/, APIBase.fetchResult("".concat(args.url, "/authenticate"), {
77
+ method: 'POST',
78
+ headers: { 'Content-Type': 'application/json' },
79
+ body: JSON.stringify(body),
80
+ })];
81
+ case 1:
82
+ res = _a.sent();
83
+ if (!res.success) {
84
+ return [2 /*return*/, failure([
85
+ {
86
+ type: 'network-error',
87
+ message: res.error.message,
88
+ endpoint: 'authenticate',
89
+ },
90
+ ])];
91
+ }
92
+ if (!(res.data.status >= 300)) return [3 /*break*/, 5];
93
+ _a.label = 2;
94
+ case 2:
95
+ _a.trys.push([2, 4, , 5]);
96
+ return [4 /*yield*/, res.data.json()];
97
+ case 3:
98
+ error = _a.sent();
99
+ return [2 /*return*/, failure([
100
+ {
101
+ type: 'http-error',
102
+ statusCode: res.data.status,
103
+ message: error.error,
104
+ endpoint: 'authenticate',
105
+ },
106
+ ])];
107
+ case 4:
108
+ e_2 = _a.sent();
109
+ return [2 /*return*/, failure([
110
+ {
111
+ type: 'http-error',
112
+ statusCode: res.data.status,
113
+ message: 'Could not authenticate',
114
+ endpoint: 'authenticate',
115
+ },
116
+ ])];
117
+ case 5: return [4 /*yield*/, res.data.json()];
118
+ case 6:
119
+ payload = _a.sent();
120
+ return [2 /*return*/, parseAccessToken(payload)];
121
+ }
122
+ });
123
+ });
124
+ };
125
+ APIBase.getAuthHeader = function (username, password) {
126
+ var buffer = Buffer.from("".concat(username, ":").concat(password));
127
+ return 'Basic ' + buffer.toString('base64');
128
+ };
129
+ APIBase.prototype.fetchFromEnter = function (endpoint, method, data) {
130
+ if (data === void 0) { data = null; }
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ var body, headers, res, error, e_3, json;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ body = data !== null ? JSON.stringify(data) : null;
137
+ headers = {
138
+ Authorization: APIBase.getAuthHeader('default', this.credentials.accessToken),
139
+ 'Content-Type': 'application/json',
140
+ 'Enter-Live-Api': 'true',
141
+ };
142
+ return [4 /*yield*/, APIBase.fetchResult("".concat(this.credentials.url, "/").concat(endpoint), { method: method, headers: headers, body: body })];
143
+ case 1:
144
+ res = _a.sent();
145
+ if (!res.success) {
146
+ return [2 /*return*/, failure([
147
+ {
148
+ type: 'network-error',
149
+ message: res.error.message,
150
+ endpoint: endpoint,
151
+ },
152
+ ])];
153
+ }
154
+ if (res.data.status === 401) {
155
+ if (this.isLoggedIn)
156
+ this.logout();
157
+ return [2 /*return*/, failure([{ type: 'http-error', statusCode: 401, endpoint: endpoint }])];
158
+ }
159
+ if (!(res.data.status >= 300)) return [3 /*break*/, 5];
160
+ _a.label = 2;
161
+ case 2:
162
+ _a.trys.push([2, 4, , 5]);
163
+ return [4 /*yield*/, res.data.json()];
164
+ case 3:
165
+ error = _a.sent();
166
+ return [2 /*return*/, failure([
167
+ {
168
+ type: 'http-error',
169
+ statusCode: res.data.status,
170
+ message: error.error,
171
+ endpoint: endpoint,
172
+ },
173
+ ])];
174
+ case 4:
175
+ e_3 = _a.sent();
176
+ return [2 /*return*/, failure([
177
+ {
178
+ type: 'http-error',
179
+ statusCode: res.data.status,
180
+ message: "invalid response from backend: ".concat(res.data.status, " for: ").concat(endpoint),
181
+ endpoint: endpoint,
182
+ },
183
+ ])];
184
+ case 5:
185
+ // HTTP status 204 means no content so we can't parse it as json
186
+ if (res.data.status === 204)
187
+ return [2 /*return*/, success(null)];
188
+ return [4 /*yield*/, res.data.json()];
189
+ case 6:
190
+ json = _a.sent();
191
+ return [2 /*return*/, success(json)];
192
+ }
193
+ });
194
+ });
195
+ };
196
+ APIBase.prototype.get = function (endpoint, validate) {
197
+ return __awaiter(this, void 0, void 0, function () {
198
+ var rawResponse;
199
+ return __generator(this, function (_a) {
200
+ switch (_a.label) {
201
+ case 0: return [4 /*yield*/, this.fetchFromEnter(endpoint, 'GET')];
202
+ case 1:
203
+ rawResponse = _a.sent();
204
+ if (!rawResponse.success)
205
+ return [2 /*return*/, rawResponse];
206
+ return [2 /*return*/, validate(rawResponse.data)];
207
+ }
208
+ });
209
+ });
210
+ };
211
+ APIBase.prototype.post = function (endpoint, data, validate) {
212
+ return __awaiter(this, void 0, void 0, function () {
213
+ var rawResponse;
214
+ return __generator(this, function (_a) {
215
+ switch (_a.label) {
216
+ case 0: return [4 /*yield*/, this.fetchFromEnter(endpoint, 'POST', data)];
217
+ case 1:
218
+ rawResponse = _a.sent();
219
+ if (!rawResponse.success)
220
+ return [2 /*return*/, rawResponse];
221
+ return [2 /*return*/, validate(rawResponse.data)];
222
+ }
223
+ });
224
+ });
225
+ };
226
+ APIBase.prototype.put = function (endpoint, data, validate) {
227
+ return __awaiter(this, void 0, void 0, function () {
228
+ var rawResponse;
229
+ return __generator(this, function (_a) {
230
+ switch (_a.label) {
231
+ case 0: return [4 /*yield*/, this.fetchFromEnter(endpoint, 'PUT', data)];
232
+ case 1:
233
+ rawResponse = _a.sent();
234
+ if (!rawResponse.success)
235
+ return [2 /*return*/, rawResponse];
236
+ return [2 /*return*/, validate(rawResponse.data)];
237
+ }
238
+ });
239
+ });
240
+ };
241
+ APIBase.prototype.patch = function (endpoint, data, validate) {
242
+ return __awaiter(this, void 0, void 0, function () {
243
+ var rawResponse;
244
+ return __generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0: return [4 /*yield*/, this.fetchFromEnter(endpoint, 'PATCH', data)];
247
+ case 1:
248
+ rawResponse = _a.sent();
249
+ if (!rawResponse.success)
250
+ return [2 /*return*/, rawResponse];
251
+ return [2 /*return*/, validate(rawResponse.data)];
252
+ }
253
+ });
254
+ });
255
+ };
256
+ APIBase.prototype.refreshToken = function () {
257
+ return __awaiter(this, void 0, void 0, function () {
258
+ return __generator(this, function (_a) {
259
+ return [2 /*return*/, this.post('authenticate/refresh', null, parseAccessToken)];
260
+ });
261
+ });
262
+ };
263
+ APIBase.prototype.logout = function () {
264
+ return __awaiter(this, void 0, void 0, function () {
265
+ var e_4;
266
+ return __generator(this, function (_a) {
267
+ switch (_a.label) {
268
+ case 0:
269
+ this.isLoggedIn = false;
270
+ this.onLogout();
271
+ _a.label = 1;
272
+ case 1:
273
+ _a.trys.push([1, 3, , 4]);
274
+ // delete token at api backend so it becomes invalid
275
+ return [4 /*yield*/, this.fetchFromEnter('/authenticate', 'DELETE')];
276
+ case 2:
277
+ // delete token at api backend so it becomes invalid
278
+ _a.sent();
279
+ return [3 /*break*/, 4];
280
+ case 3:
281
+ e_4 = _a.sent();
282
+ console.warn('error deleting the token in the backend, so it is still valid', e_4);
283
+ return [3 /*break*/, 4];
284
+ case 4: return [2 /*return*/];
285
+ }
286
+ });
287
+ });
288
+ };
289
+ return APIBase;
290
+ }());
291
+ export default APIBase;
292
+ //# sourceMappingURL=api-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-base.js","sourceRoot":"","sources":["../../src/api-client/api-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import APIBase from './api-base';
2
+ import { APIResult } from '../lib';
3
+ import { Attendee } from '../models/attendee';
4
+ import { Event } from '../models';
5
+ import { CheckinCounts } from '../models/checkin-counts';
6
+ import { FieldGroups } from '../models/field-group';
7
+ import { Instance } from '../models/instance';
8
+ import { Invite } from '../models/invite';
9
+ import { User } from '../models/user';
10
+ import { Variable } from '../models/variable';
11
+ import { Dictionary } from '../models/_helpers';
12
+ export type { APICredentials } from './api-base';
13
+ export default class API extends APIBase {
14
+ getInstance(args: {
15
+ instanceId: string;
16
+ }): Promise<APIResult<Instance>>;
17
+ getInstanceList(): Promise<APIResult<Instance[]>>;
18
+ getFields(args: {
19
+ instanceId: string;
20
+ }): Promise<APIResult<FieldGroups>>;
21
+ getCheckinCounts(args: {
22
+ instanceId: string;
23
+ }): Promise<APIResult<CheckinCounts>>;
24
+ getAttendeeList(args: {
25
+ instanceId: string;
26
+ }): Promise<APIResult<Attendee[]>>;
27
+ sendEmail(args: {
28
+ instanceId: string;
29
+ collection: 'attendees';
30
+ attendeeId: string;
31
+ mailId: string;
32
+ } | {
33
+ instanceId: string;
34
+ collection: 'invites';
35
+ index: number;
36
+ mailId: string;
37
+ }): Promise<APIResult<null>>;
38
+ getAttendeesByAuthCode(args: {
39
+ instanceId: string;
40
+ authCode: string;
41
+ }): Promise<APIResult<Attendee[]>>;
42
+ getInviteByAuthCode(args: {
43
+ instanceId: string;
44
+ authCode: string;
45
+ }): Promise<APIResult<Invite>>;
46
+ getAttendeeById(args: {
47
+ instanceId: string;
48
+ attendeeId: string;
49
+ }): Promise<APIResult<Attendee>>;
50
+ createEvents(args: {
51
+ events: Event[];
52
+ }): Promise<APIResult<null>>;
53
+ getUser(): Promise<APIResult<User>>;
54
+ patchUser(args: {
55
+ userdata: Dictionary<unknown>;
56
+ }): Promise<APIResult<null>>;
57
+ getAllVariables(args: {
58
+ instanceId: string;
59
+ }): Promise<APIResult<Variable[]>>;
60
+ getVariableByName(args: {
61
+ instanceId: string;
62
+ variableName: string;
63
+ }): Promise<APIResult<Variable>>;
64
+ createVariable(args: {
65
+ instanceId: string;
66
+ variable: Variable;
67
+ }): Promise<APIResult<Variable>>;
68
+ updateVariable(args: {
69
+ instanceId: string;
70
+ variableName: string;
71
+ update: {
72
+ value: string;
73
+ };
74
+ }): Promise<APIResult<Variable>>;
75
+ }
@@ -0,0 +1,200 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import APIBase from './api-base';
53
+ import { success } from '../lib';
54
+ import { parseAttendee, parseAttendeeList } from '../models/attendee';
55
+ import { parseCheckinCounts } from '../models/checkin-counts';
56
+ import { parseFieldGroups } from '../models/field-group';
57
+ import { parseInstance, parseInstanceList } from '../models/instance';
58
+ import { parseInvite } from '../models/invite';
59
+ import { parseUser } from '../models/user';
60
+ import { parseVariable, parseVariableList } from '../models/variable';
61
+ import { parseNoContent } from '../models/_helpers';
62
+ var API = /** @class */ (function (_super) {
63
+ __extends(API, _super);
64
+ function API() {
65
+ return _super !== null && _super.apply(this, arguments) || this;
66
+ }
67
+ API.prototype.getInstance = function (args) {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ return __generator(this, function (_a) {
70
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId), parseInstance)];
71
+ });
72
+ });
73
+ };
74
+ API.prototype.getInstanceList = function () {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ return __generator(this, function (_a) {
77
+ return [2 /*return*/, this.get("instances", parseInstanceList)];
78
+ });
79
+ });
80
+ };
81
+ API.prototype.getFields = function (args) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ return __generator(this, function (_a) {
84
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId, "/fields"), parseFieldGroups)];
85
+ });
86
+ });
87
+ };
88
+ API.prototype.getCheckinCounts = function (args) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ return __generator(this, function (_a) {
91
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId, "/checkins"), parseCheckinCounts)];
92
+ });
93
+ });
94
+ };
95
+ API.prototype.getAttendeeList = function (args) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ return __generator(this, function (_a) {
98
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId, "/attendees"), parseAttendeeList)];
99
+ });
100
+ });
101
+ };
102
+ API.prototype.sendEmail = function (args) {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var guestId;
105
+ return __generator(this, function (_a) {
106
+ guestId = args.collection === 'attendees' ? args.attendeeId : args.index;
107
+ return [2 /*return*/, this.post("instances/".concat(args.instanceId, "/").concat(args.collection, "/").concat(guestId, "/emails/").concat(args.mailId), null, parseNoContent)];
108
+ });
109
+ });
110
+ };
111
+ API.prototype.getAttendeesByAuthCode = function (args) {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var allAttendees;
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0: return [4 /*yield*/, this.getAttendeeList({
117
+ instanceId: args.instanceId,
118
+ })];
119
+ case 1:
120
+ allAttendees = _a.sent();
121
+ if (!allAttendees.success)
122
+ return [2 /*return*/, allAttendees];
123
+ return [2 /*return*/, success(allAttendees.data.filter(function (attendee) { return attendee.auth === args.authCode; }))];
124
+ }
125
+ });
126
+ });
127
+ };
128
+ API.prototype.getInviteByAuthCode = function (args) {
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0: return [4 /*yield*/, this.get("instances/".concat(args.instanceId, "/invites/").concat(args.authCode), parseInvite)];
133
+ case 1: return [2 /*return*/, _a.sent()];
134
+ }
135
+ });
136
+ });
137
+ };
138
+ API.prototype.getAttendeeById = function (args) {
139
+ return __awaiter(this, void 0, void 0, function () {
140
+ return __generator(this, function (_a) {
141
+ switch (_a.label) {
142
+ case 0: return [4 /*yield*/, this.get("instances/".concat(args.instanceId, "/attendees/").concat(args.attendeeId), parseAttendee)];
143
+ case 1: return [2 /*return*/, _a.sent()];
144
+ }
145
+ });
146
+ });
147
+ };
148
+ API.prototype.createEvents = function (args) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ return __generator(this, function (_a) {
151
+ return [2 /*return*/, this.post("events", args.events, parseNoContent)];
152
+ });
153
+ });
154
+ };
155
+ API.prototype.getUser = function () {
156
+ return __awaiter(this, void 0, void 0, function () {
157
+ return __generator(this, function (_a) {
158
+ return [2 /*return*/, this.get('user', parseUser)];
159
+ });
160
+ });
161
+ };
162
+ API.prototype.patchUser = function (args) {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ return __generator(this, function (_a) {
165
+ return [2 /*return*/, this.patch('user', args, parseNoContent)];
166
+ });
167
+ });
168
+ };
169
+ API.prototype.getAllVariables = function (args) {
170
+ return __awaiter(this, void 0, void 0, function () {
171
+ return __generator(this, function (_a) {
172
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId, "/variables"), parseVariableList)];
173
+ });
174
+ });
175
+ };
176
+ API.prototype.getVariableByName = function (args) {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ return __generator(this, function (_a) {
179
+ return [2 /*return*/, this.get("instances/".concat(args.instanceId, "/variables/").concat(args.variableName), parseVariable)];
180
+ });
181
+ });
182
+ };
183
+ API.prototype.createVariable = function (args) {
184
+ return __awaiter(this, void 0, void 0, function () {
185
+ return __generator(this, function (_a) {
186
+ return [2 /*return*/, this.post("instances/".concat(args.instanceId, "/variables"), args.variable, parseVariable)];
187
+ });
188
+ });
189
+ };
190
+ API.prototype.updateVariable = function (args) {
191
+ return __awaiter(this, void 0, void 0, function () {
192
+ return __generator(this, function (_a) {
193
+ return [2 /*return*/, this.put("instances/".concat(args.instanceId, "/variables/").concat(args.variableName), args.update, parseVariable)];
194
+ });
195
+ });
196
+ };
197
+ return API;
198
+ }(APIBase));
199
+ export default API;
200
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,OAAO,MAAM,YAAY,CAAA;AAChC,OAAO,EAAa,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAY,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE/E,OAAO,EAAiB,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAe,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAY,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAU,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAQ,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAY,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAc,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG/D;IAAiC,uBAAO;IAAxC;;IA+IA,CAAC;IA9Ic,yBAAW,GAAxB,UAAyB,IAExB;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,UAAU,CAAE,EAAE,aAAa,CAAC,EAAA;;;KAC/D;IAEY,6BAAe,GAA5B;;;gBACE,sBAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAA;;;KAChD;IAEY,uBAAS,GAAtB,UAAuB,IAEtB;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,UAAU,YAAS,EAAE,gBAAgB,CAAC,EAAA;;;KACzE;IAEY,8BAAgB,GAA7B,UAA8B,IAE7B;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,UAAU,cAAW,EAAE,kBAAkB,CAAC,EAAA;;;KAC7E;IAEY,6BAAe,GAA5B,UAA6B,IAE5B;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,UAAU,eAAY,EAAE,iBAAiB,CAAC,EAAA;;;KAC7E;IAEY,uBAAS,GAAtB,UACE,IAYK;;;;gBAEC,OAAO,GACX,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;gBAEhE,sBAAO,IAAI,CAAC,IAAI,CACd,oBAAa,IAAI,CAAC,UAAU,cAAI,IAAI,CAAC,UAAU,cAAI,OAAO,qBAAW,IAAI,CAAC,MAAM,CAAE,EAClF,IAAI,EACJ,cAAc,CACf,EAAA;;;KACF;IAEY,oCAAsB,GAAnC,UAAoC,IAGnC;;;;;4BAGsB,qBAAM,IAAI,CAAC,eAAe,CAAC;4BAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC5B,CAAC,EAAA;;wBAFI,YAAY,GAAG,SAEnB;wBACF,IAAI,CAAC,YAAY,CAAC,OAAO;4BAAE,sBAAO,YAAY,EAAA;wBAC9C,sBAAO,OAAO,CACZ,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAA/B,CAA+B,CAAC,CACxE,EAAA;;;;KACF;IAEY,iCAAmB,GAAhC,UAAiC,IAGhC;;;;4BACQ,qBAAM,IAAI,CAAC,GAAG,CACnB,oBAAa,IAAI,CAAC,UAAU,sBAAY,IAAI,CAAC,QAAQ,CAAE,EACvD,WAAW,CACZ,EAAA;4BAHD,sBAAO,SAGN,EAAA;;;;KACF;IAEY,6BAAe,GAA5B,UAA6B,IAG5B;;;;4BACQ,qBAAM,IAAI,CAAC,GAAG,CACnB,oBAAa,IAAI,CAAC,UAAU,wBAAc,IAAI,CAAC,UAAU,CAAE,EAC3D,aAAa,CACd,EAAA;4BAHD,sBAAO,SAGN,EAAA;;;;KACF;IAEY,0BAAY,GAAzB,UAA0B,IAEzB;;;gBACC,sBAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAA;;;KACxD;IAEY,qBAAO,GAApB;;;gBACE,sBAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA;;;KACnC;IAEY,uBAAS,GAAtB,UAAuB,IAEtB;;;gBACC,sBAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,EAAA;;;KAChD;IAEY,6BAAe,GAA5B,UAA6B,IAE5B;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CAAC,oBAAa,IAAI,CAAC,UAAU,eAAY,EAAE,iBAAiB,CAAC,EAAA;;;KAC7E;IAEY,+BAAiB,GAA9B,UAA+B,IAG9B;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CACb,oBAAa,IAAI,CAAC,UAAU,wBAAc,IAAI,CAAC,YAAY,CAAE,EAC7D,aAAa,CACd,EAAA;;;KACF;IAEY,4BAAc,GAA3B,UAA4B,IAG3B;;;gBACC,sBAAO,IAAI,CAAC,IAAI,CACd,oBAAa,IAAI,CAAC,UAAU,eAAY,EACxC,IAAI,CAAC,QAAQ,EACb,aAAa,CACd,EAAA;;;KACF;IAEY,4BAAc,GAA3B,UAA4B,IAI3B;;;gBACC,sBAAO,IAAI,CAAC,GAAG,CACb,oBAAa,IAAI,CAAC,UAAU,wBAAc,IAAI,CAAC,YAAY,CAAE,EAC7D,IAAI,CAAC,MAAM,EACX,aAAa,CACd,EAAA;;;KACF;IACH,UAAC;AAAD,CAAC,AA/ID,CAAiC,OAAO,GA+IvC"}
@@ -0,0 +1,25 @@
1
+ import { Validator } from 'fefe';
2
+ import { Result } from './result';
3
+ export declare type NetworkError = {
4
+ type: 'network-error';
5
+ endpoint: string;
6
+ message: string;
7
+ };
8
+ export declare type HTTPError = {
9
+ type: 'http-error';
10
+ endpoint: string;
11
+ statusCode: number;
12
+ message?: string;
13
+ };
14
+ export declare type ClientError = {
15
+ type: 'client-error';
16
+ message: string;
17
+ };
18
+ export declare type ValidationError = {
19
+ type: 'validation-error';
20
+ message: string;
21
+ };
22
+ export declare type APIError = NetworkError | HTTPError | ClientError | ValidationError;
23
+ export declare type APIResult<Model> = Result<APIError[], Model>;
24
+ export declare type APIValidator<Model> = (value: unknown) => APIResult<Model>;
25
+ export declare function apiValidator<T>(validate: Validator<T>): APIValidator<T>;