@vizzly/api-client 0.0.1

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 (58) hide show
  1. package/README.md +1 -0
  2. package/dist/errors/DashboardQuotaReached.d.ts +3 -0
  3. package/dist/errors/DashboardQuotaReached.js +10 -0
  4. package/dist/errors/FailedToCreateDashboard.d.ts +3 -0
  5. package/dist/errors/FailedToCreateDashboard.js +10 -0
  6. package/dist/errors/FailedToFetchDashboardAccessTokens.d.ts +3 -0
  7. package/dist/errors/FailedToFetchDashboardAccessTokens.js +10 -0
  8. package/dist/errors/FailedToFetchDashboards.d.ts +3 -0
  9. package/dist/errors/FailedToFetchDashboards.js +10 -0
  10. package/dist/errors/FailedToFetchGlobalLibraries.d.ts +3 -0
  11. package/dist/errors/FailedToFetchGlobalLibraries.js +10 -0
  12. package/dist/errors/FailedToFetchGlobalLibraryAccessTokens.d.ts +3 -0
  13. package/dist/errors/FailedToFetchGlobalLibraryAccessTokens.js +10 -0
  14. package/dist/errors/FailedToResolveDataSets.d.ts +3 -0
  15. package/dist/errors/FailedToResolveDataSets.js +10 -0
  16. package/dist/errors/FailedToSetupProject.d.ts +3 -0
  17. package/dist/errors/FailedToSetupProject.js +10 -0
  18. package/dist/errors/MissingAuthParameter.d.ts +4 -0
  19. package/dist/errors/MissingAuthParameter.js +9 -0
  20. package/dist/errors/MissingRequiredVizzlyQueryEngineApi.d.ts +2 -0
  21. package/dist/errors/MissingRequiredVizzlyQueryEngineApi.js +6 -0
  22. package/dist/errors/SQLPreviewError.d.ts +4 -0
  23. package/dist/errors/SQLPreviewError.js +11 -0
  24. package/dist/errors/ValidationError.d.ts +3 -0
  25. package/dist/errors/ValidationError.js +10 -0
  26. package/dist/errors/index.d.ts +10 -0
  27. package/dist/errors/index.js +26 -0
  28. package/dist/index.d.ts +8 -0
  29. package/dist/index.js +37 -0
  30. package/dist/interfaces/iSerialize.d.ts +10 -0
  31. package/dist/interfaces/iSerialize.js +1 -0
  32. package/dist/models/Api.d.ts +9 -0
  33. package/dist/models/Api.js +47 -0
  34. package/dist/models/Authentication.d.ts +16 -0
  35. package/dist/models/Authentication.js +98 -0
  36. package/dist/models/Dashboard.d.ts +24 -0
  37. package/dist/models/Dashboard.js +156 -0
  38. package/dist/models/DashboardRepository.d.ts +41 -0
  39. package/dist/models/DashboardRepository.js +92 -0
  40. package/dist/models/GlobalLibraryRepository.d.ts +35 -0
  41. package/dist/models/GlobalLibraryRepository.js +106 -0
  42. package/dist/models/ImplementationStrategy.d.ts +9 -0
  43. package/dist/models/ImplementationStrategy.js +18 -0
  44. package/dist/models/Permission.d.ts +26 -0
  45. package/dist/models/Permission.js +22 -0
  46. package/dist/models/Vizzly.d.ts +17 -0
  47. package/dist/models/Vizzly.js +39 -0
  48. package/dist/models/VizzlyApi.d.ts +77 -0
  49. package/dist/models/VizzlyApi.js +423 -0
  50. package/dist/models/VizzlyAppApi.d.ts +54 -0
  51. package/dist/models/VizzlyAppApi.js +348 -0
  52. package/dist/models/VizzlyQueryEngineApi.d.ts +50 -0
  53. package/dist/models/VizzlyQueryEngineApi.js +311 -0
  54. package/dist/types/dashboard.d.ts +23 -0
  55. package/dist/types/dashboard.js +2 -0
  56. package/dist/types.d.ts +405 -0
  57. package/dist/types.js +17 -0
  58. package/package.json +37 -0
@@ -0,0 +1,405 @@
1
+ import { VizzlyQueryEngineApi } from './models/VizzlyQueryEngineApi';
2
+ import { VizzlyApi } from './models/VizzlyApi';
3
+ import { VizzlyAppApi } from './models/VizzlyAppApi';
4
+ import { DashboardDefinition } from './types/dashboard';
5
+ export * from './types/dashboard';
6
+ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
7
+ export type Response<T> = {
8
+ status: number;
9
+ headers: Headers;
10
+ body: T;
11
+ };
12
+ export type Request<T> = {
13
+ path: string;
14
+ abortSignal?: AbortSignal;
15
+ method: 'get' | 'post' | 'delete' | 'put';
16
+ body?: T;
17
+ headers?: {
18
+ [key: string]: string;
19
+ };
20
+ };
21
+ export type UpdateGlobalLibraryParams = {
22
+ globalLibrarySessionToken: string;
23
+ deleted?: boolean;
24
+ library: GlobalLibrary['library'] | string;
25
+ };
26
+ export type CreateDashboardParams = {
27
+ definition: DashboardDefinition | string;
28
+ /** @deprecated - use `metadata` instead */
29
+ meta?: any;
30
+ metadata?: any;
31
+ parentDashboardId: string;
32
+ permissions: Array<any>;
33
+ };
34
+ export type CreateDashboardParamsUnencrypted = Omit<CreateDashboardParams, 'definition'> & {
35
+ definition: DashboardDefinition;
36
+ };
37
+ export type UpdateDashboardParams = {
38
+ dashboardSessionToken: string;
39
+ definition?: DashboardDefinition | string;
40
+ /** @deprecated - use `metadata` instead */
41
+ meta?: any;
42
+ metadata?: any;
43
+ deleted?: boolean;
44
+ };
45
+ export type APIs = {
46
+ vizzlyApi: VizzlyApi;
47
+ vizzlyAppApi: VizzlyAppApi;
48
+ vizzlyQueryEngineApi: VizzlyQueryEngineApi;
49
+ };
50
+ export type extraHeaders = () => {
51
+ [key: string]: string;
52
+ };
53
+ export type AuthParams = {
54
+ projectAdminOverrideToken?: string;
55
+ queryEngineAccessToken?: string;
56
+ dashboardAccessToken?: string;
57
+ projectAccessToken?: string;
58
+ dataAccessToken?: string;
59
+ projectApiKey?: string;
60
+ appSessionToken?: string;
61
+ };
62
+ export declare namespace nVizzlyQueryEngine {
63
+ type CreateConfigFromUploadParams = {
64
+ table: string;
65
+ fieldPublicNames: string;
66
+ };
67
+ type CreateResultsParams = {
68
+ queries: any;
69
+ };
70
+ type CreateSqlPreviewParams = {
71
+ sql: string;
72
+ parameters: string;
73
+ limit: number;
74
+ };
75
+ type CreateQueryEngineUserParams = {
76
+ email: string;
77
+ password: string;
78
+ };
79
+ type GetStartedParams = {
80
+ email: string;
81
+ password: string;
82
+ };
83
+ type SaveConfigParams = {
84
+ config: any;
85
+ };
86
+ type SaveConnectionParams = {
87
+ connection: any;
88
+ client: any;
89
+ };
90
+ type SignInWithEmailAndPasswordParams = {
91
+ email: string;
92
+ password: string;
93
+ };
94
+ type UpdateQueryEngineUserParams = {
95
+ queryEngineUserId: string;
96
+ password: string;
97
+ };
98
+ type UploadDataToVizzlyCloudParams = {
99
+ ingest: {
100
+ table: string;
101
+ fields: Array<{
102
+ name: string;
103
+ dataType: string;
104
+ }>;
105
+ content: Array<any>;
106
+ };
107
+ };
108
+ }
109
+ export declare namespace nVizzlyApi {
110
+ type CreateParentDashboardParams = {
111
+ definition: any;
112
+ projectId: string;
113
+ };
114
+ type CreateGlobalLibraryParams = {
115
+ parentGlobalLibraryId: string;
116
+ library: any;
117
+ permissions: Array<{
118
+ user_reference?: string;
119
+ scope: 'read' | 'read_write';
120
+ }>;
121
+ };
122
+ type CreateParentGlobalLibraryParams = {
123
+ library: any;
124
+ projectId: string;
125
+ };
126
+ type CreateQueryEngineUserParams = {
127
+ projectId: string;
128
+ email: string;
129
+ password: string;
130
+ };
131
+ type UpdateQueryEngineUserParams = {
132
+ projectId: string;
133
+ password: string;
134
+ queryEngineUserId: string;
135
+ };
136
+ type UpdateProjectApiKeyParams = {
137
+ projectApiKeyId: string;
138
+ projectId: string;
139
+ disabled: boolean;
140
+ };
141
+ type UpdateParentGlobalLibraryParams = {
142
+ globalLibraryId: string;
143
+ deleted?: boolean;
144
+ name?: string;
145
+ };
146
+ type SaveScheduledReportParams = {
147
+ cronSchedule: string;
148
+ scheduledReportId: string;
149
+ };
150
+ type SaveEncryptedProjectEncryptionSecretParams = {
151
+ projectId: string;
152
+ encryptedProjectEncryptionSecret: string;
153
+ allowRotation: boolean;
154
+ };
155
+ type SaveConnectionParams = {
156
+ projectId: string;
157
+ encryptedConnection: string;
158
+ encryptedConfig: string;
159
+ };
160
+ type GetVizzlyConfigParams = {
161
+ projectId: string;
162
+ };
163
+ type GetTeamMembers = {
164
+ projectId: string;
165
+ };
166
+ type GetQueryEngineUserParams = {
167
+ projectId: string;
168
+ email: string;
169
+ };
170
+ type GetProjectAccessTokenParams = {
171
+ projectId: string;
172
+ resourceFilters?: string[];
173
+ };
174
+ type GetProjectParams = {
175
+ projectId: string;
176
+ };
177
+ type GetManagedQueryEngineKeyPairParams = {
178
+ managedProjectId: string;
179
+ keyPairId: string;
180
+ };
181
+ type GetConnectionParams = {
182
+ projectId: string;
183
+ };
184
+ type DuplicateParentDashboardParams = {
185
+ dashboardId: string;
186
+ };
187
+ type CreateVizzlyConfigVersionParams = {
188
+ projectId: string;
189
+ encryptedConfig: string;
190
+ };
191
+ type CreateProjectApiKeyParams = {
192
+ projectId: string;
193
+ };
194
+ }
195
+ export declare namespace nVizzlyAppApi {
196
+ type CreateInstantDashboardParams = {
197
+ definition: Object;
198
+ };
199
+ type CreateProjectAdminOverrideAccessTokenParams = {
200
+ projectId: string;
201
+ };
202
+ type StartEmailChangeParams = {
203
+ email: string;
204
+ };
205
+ type CompleteEmailChangeParams = {
206
+ token: string;
207
+ };
208
+ type GetManagedQueryEngineAccessTokensParams = {
209
+ managedQueryEngineId: string;
210
+ };
211
+ type GetParentDashboardMetaParams = {
212
+ dashboardId: string;
213
+ };
214
+ type GetProjectMetaParams = {
215
+ projectId: string;
216
+ };
217
+ type InAppAcceptTeamMemberInviteParams = {
218
+ teamMemberId: string;
219
+ };
220
+ type AcceptTeamMemberInviteParams = {
221
+ inviteToken: string;
222
+ };
223
+ type ResendTeamMemberInviteParams = {
224
+ teamMemberId: string;
225
+ };
226
+ type RemoveTeamMemberParams = {
227
+ teamMemberId: string;
228
+ };
229
+ type StartSignInParams = {
230
+ email: string;
231
+ };
232
+ type CompleteSignInParams = {
233
+ token: string;
234
+ };
235
+ type SwitchOrganisationParams = {
236
+ organisationId: string;
237
+ };
238
+ type ToggleKeyPairDisabledParams = {
239
+ keyPairId: string;
240
+ disabled: boolean;
241
+ };
242
+ type UpdateProjectParams = {
243
+ projectId: string;
244
+ deleted?: boolean;
245
+ name?: string;
246
+ };
247
+ type UploadPublicKeyParams = {
248
+ projectId: string;
249
+ publicKey: string;
250
+ };
251
+ type UpdateParentDashboardParams = {
252
+ dashboardId: string;
253
+ name?: string;
254
+ definition?: Object;
255
+ meta?: any;
256
+ deleted?: boolean;
257
+ webhookId?: string;
258
+ };
259
+ type InviteTeamMemberParams = {
260
+ email: string;
261
+ firstName: string;
262
+ lastName: string;
263
+ department: string;
264
+ };
265
+ type SignUpParams = {
266
+ email: string;
267
+ organisationTitle: string;
268
+ firstName: string;
269
+ lastName: string;
270
+ department: string;
271
+ };
272
+ }
273
+ export type RawOrganisation = {
274
+ id: string;
275
+ name: string;
276
+ user_id: string;
277
+ created_at: string;
278
+ free_trial_ends_at: string;
279
+ tier: {
280
+ id: string;
281
+ name: string;
282
+ limits: {
283
+ ai_questions_per_hour_per_end_user: number;
284
+ allow_js_embed: boolean;
285
+ max_dashboard_child_copies_per_end_user: number;
286
+ project_limit_instant_dashboards: number;
287
+ project_limit_managed_query_engine: number;
288
+ project_limit_self_hosted: number;
289
+ };
290
+ };
291
+ };
292
+ export type GetSelfResponse = {
293
+ user: {
294
+ id: string;
295
+ is_email_verified: boolean;
296
+ email: string;
297
+ first_name: string;
298
+ last_name: string;
299
+ is_vizz: boolean;
300
+ department: 'product_management' | 'project_management' | 'sales' | 'marketing' | 'engineering' | 'analyst' | 'c-suite';
301
+ };
302
+ organisation: RawOrganisation;
303
+ default_organisation: RawOrganisation;
304
+ team_memberships: Array<RawTeamMember>;
305
+ };
306
+ export type RawTeamMember = {
307
+ id: string;
308
+ organisation_name: string;
309
+ user_id: string;
310
+ department: VizzlyWeb.User.Department;
311
+ email: VizzlyWeb.User['email'];
312
+ first_name: VizzlyWeb.User['firstName'];
313
+ last_name: VizzlyWeb.User['lastName'];
314
+ status: 'pending' | 'active' | 'removed';
315
+ organisation_id: string;
316
+ };
317
+ export declare namespace VizzlyWeb {
318
+ type Tier = {
319
+ id: string;
320
+ name: string;
321
+ limits: {
322
+ aiQuestionsPerHourPerEndUser: number;
323
+ allowJsEmbed: boolean;
324
+ maxDashboardChildCopiesPerEndUser: number;
325
+ projectLimitInstantDashboards: number;
326
+ projectLimitManagedQueryEngine: number;
327
+ projectLimitSelfHosted: number;
328
+ };
329
+ };
330
+ type Organisation = {
331
+ id: string;
332
+ userId: string;
333
+ title: string;
334
+ createdAt: string;
335
+ tier: Tier;
336
+ freeTrialEndsAt: string;
337
+ };
338
+ type TeamMember = {
339
+ id: string;
340
+ userId: string;
341
+ department: VizzlyWeb.User.Department;
342
+ email: VizzlyWeb.User['email'];
343
+ firstName: VizzlyWeb.User['firstName'];
344
+ lastName: VizzlyWeb.User['lastName'];
345
+ status: 'pending' | 'active' | 'removed';
346
+ organisationTitle: string;
347
+ organisationId: string;
348
+ };
349
+ namespace User {
350
+ type Department = 'product_management' | 'project_management' | 'sales' | 'marketing' | 'engineering' | 'analyst' | 'c-suite';
351
+ }
352
+ type User = {
353
+ id: string;
354
+ firstName: string;
355
+ lastName: string;
356
+ department: User.Department;
357
+ email: string;
358
+ isEmailVerified: boolean;
359
+ isVizzly: boolean;
360
+ };
361
+ type KeyPair = {
362
+ id: string;
363
+ uploadedAt: string;
364
+ uploadedBy: string;
365
+ publicKey: string;
366
+ organisationId: string;
367
+ disabled: boolean;
368
+ updatedAt: string;
369
+ };
370
+ type DateTimeFormat = 'DD/MM/YYYY' | 'MM/DD/YYYY' | 'DD-MM-YYYY' | 'MM-DD-YYYY' | 'DD MMMM YYYY, hh:mm' | 'dddd DD MMMM YYYY, hh:mm' | 'hh:mm' | 'DD MMMM YYYY';
371
+ type SessionToken = {
372
+ token: string;
373
+ maxAge: number;
374
+ };
375
+ type ParentDashboardMeta = {
376
+ dashboardName: string;
377
+ endUserInstances: number;
378
+ };
379
+ }
380
+ export type GlobalLibrary = {
381
+ created_at: string;
382
+ id: string;
383
+ library: {
384
+ views?: Array<{
385
+ attributes: {
386
+ viewId: string;
387
+ protectedByOrganisation?: boolean;
388
+ };
389
+ }>;
390
+ customFields?: {
391
+ [dataSetId: string]: Array<{
392
+ id: string;
393
+ }>;
394
+ };
395
+ };
396
+ name: string;
397
+ parent_global_library_id: string | null;
398
+ updated_at: string;
399
+ };
400
+ export type GlobalLibraryPermission = {
401
+ global_library_id: string;
402
+ scope: 'read_write' | 'read';
403
+ token: string;
404
+ user_reference: string;
405
+ };
package/dist/types.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/dashboard"), exports);
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@vizzly/api-client",
3
+ "version": "0.0.1",
4
+ "private": false,
5
+ "license": "NONE",
6
+ "source": "src/index.ts",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "type": "commonjs",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "devDependencies": {
14
+ "@types/isomorphic-fetch": "^0.0.39",
15
+ "@types/jest": "^29.5.12",
16
+ "@types/lodash": "^4.17.0",
17
+ "@types/uuid": "^9.0.8",
18
+ "@vizzly/auth": "^0.2.8",
19
+ "jest": "^29.6.0",
20
+ "lodash": "^4.17.21",
21
+ "prettier": "^3.2.5",
22
+ "ts-jest": "^29.1.1",
23
+ "ts-loader": "^9.5.1",
24
+ "typescript": "^5.3.2",
25
+ "uuid": "^9.0.1"
26
+ },
27
+ "scripts": {
28
+ "test": "jest",
29
+ "build": "rm -rf ./dist && tsc",
30
+ "dev": "tsc -w",
31
+ "format": "prettier --write ./src/** ./__tests__/**",
32
+ "prepublish": "yarn build"
33
+ },
34
+ "dependencies": {
35
+ "isomorphic-fetch": "^3.0.0"
36
+ }
37
+ }