polyapi 0.1.57 → 0.1.59

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/build/client/src/commands/generate.d.ts.map +1 -1
  2. package/build/client/src/commands/generate.js +36 -15
  3. package/build/client/src/commands/generate.js.map +1 -1
  4. package/build/client/src/templates/index.d.ts.hbs +10 -8
  5. package/build/client/src/templates/vari/index.d.ts.hbs +30 -0
  6. package/build/client/src/templates/vari/index.js.hbs +66 -7
  7. package/build/client/src/templates/vari/{{context}}.d.ts.hbs +24 -4
  8. package/build/client/src/templates/{{context}}.d.ts.hbs +11 -11
  9. package/build/model/src/dto/variable/context-variable-values.d.ts +5 -0
  10. package/build/model/src/dto/variable/context-variable-values.d.ts.map +1 -0
  11. package/build/model/src/dto/variable/{variable-update-event-handler.dto.js → context-variable-values.js} +1 -1
  12. package/build/model/src/dto/variable/context-variable-values.js.map +1 -0
  13. package/build/model/src/dto/variable/index.d.ts +4 -1
  14. package/build/model/src/dto/variable/index.d.ts.map +1 -1
  15. package/build/model/src/dto/variable/index.js +4 -1
  16. package/build/model/src/dto/variable/index.js.map +1 -1
  17. package/build/model/src/dto/variable/variable-change-event-handler.dto.d.ts +6 -0
  18. package/build/model/src/dto/variable/variable-change-event-handler.dto.d.ts.map +1 -0
  19. package/build/model/src/dto/variable/variable-change-event-handler.dto.js +3 -0
  20. package/build/model/src/dto/variable/variable-change-event-handler.dto.js.map +1 -0
  21. package/build/model/src/dto/variable/variable-change-event.dto.d.ts +11 -0
  22. package/build/model/src/dto/variable/variable-change-event.dto.d.ts.map +1 -0
  23. package/build/model/src/dto/variable/variable-change-event.dto.js +3 -0
  24. package/build/model/src/dto/variable/variable-change-event.dto.js.map +1 -0
  25. package/build/model/src/dto/variable/variables-change-event-handler.dto.d.ts +11 -0
  26. package/build/model/src/dto/variable/variables-change-event-handler.dto.d.ts.map +1 -0
  27. package/build/model/src/dto/variable/variables-change-event-handler.dto.js +3 -0
  28. package/build/model/src/dto/variable/variables-change-event-handler.dto.js.map +1 -0
  29. package/build/tsconfig.build.tsbuildinfo +1 -1
  30. package/package.json +1 -1
  31. package/build/model/src/dto/variable/variable-update-event-handler.dto.d.ts +0 -6
  32. package/build/model/src/dto/variable/variable-update-event-handler.dto.d.ts.map +0 -1
  33. package/build/model/src/dto/variable/variable-update-event-handler.dto.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AAufA,QAAA,MAAM,4BAA4B,eAAsB,MAAM,kBA6C7D,CAAC;AA8CF,QAAA,MAAM,QAAQ,cAAqB,MAAM,EAAE,UAAU,MAAM,EAAE,gBAAgB,MAAM,EAAE,kBAkBpF,CAAC;AAaF,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"AAwhBA,QAAA,MAAM,4BAA4B,eAAsB,MAAM,kBA6C7D,CAAC;AA8CF,QAAA,MAAM,QAAQ,cAAqB,MAAM,EAAE,UAAU,MAAM,EAAE,gBAAgB,MAAM,EAAE,kBAkBpF,CAAC;AAaF,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC"}
@@ -95,9 +95,12 @@ const generateServerFunctionJSFiles = async (specifications) => {
95
95
  }));
96
96
  };
97
97
  const generateServerVariableJSFiles = async (specifications) => {
98
+ const contextData = getContextData(specifications);
99
+ const contextPaths = getContextPaths(contextData);
98
100
  const template = handlebars_1.default.compile(await loadTemplate('vari/index.js.hbs'));
99
101
  fs_1.default.writeFileSync(`${POLY_LIB_PATH}/vari/index.js`, template({
100
102
  specifications,
103
+ contextPaths,
101
104
  apiKey: getApiKey(),
102
105
  }));
103
106
  };
@@ -171,7 +174,7 @@ const generateTSIndexDeclarationFile = async (contexts, pathPrefix) => {
171
174
  })));
172
175
  };
173
176
  const schemaToDeclarations = async (namespace, typeName, schema) => {
174
- const wrapToNamespace = (code) => `declare namespace ${namespace} {\n ${code}\n}`;
177
+ const wrapToNamespace = (code) => `namespace ${namespace} {\n ${code}\n}`;
175
178
  schema.title = typeName;
176
179
  const result = await (0, json_schema_to_typescript_1.compile)(schema, typeName, {
177
180
  format: false,
@@ -179,12 +182,12 @@ const schemaToDeclarations = async (namespace, typeName, schema) => {
179
182
  });
180
183
  return wrapToNamespace(result);
181
184
  };
182
- const getReturnTypeDeclarations = async (namespace, objectProperty, typeName = 'ReturnType') => {
185
+ const getReturnTypeDeclarations = async (namespacePath, namespace, objectProperty, typeName = 'ReturnType') => {
183
186
  const declarations = await schemaToDeclarations(namespace, typeName, objectProperty.schema);
184
- objectProperty.typeName = `${namespace}.ReturnType`;
187
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.${typeName}`;
185
188
  return declarations;
186
189
  };
187
- const getArgumentsTypeDeclarations = async (parentType, properties, typeName = 'Argument') => {
190
+ const getArgumentsTypeDeclarations = async (namespacePath, parentType, properties, typeName = 'Argument') => {
188
191
  const typeDeclarations = [];
189
192
  const objectProperties = properties.filter((property) => property.type.kind === 'object');
190
193
  const functionProperties = properties.filter((property) => property.type.kind === 'function');
@@ -192,11 +195,11 @@ const getArgumentsTypeDeclarations = async (parentType, properties, typeName = '
192
195
  const objectProperty = property.type;
193
196
  if (objectProperty.schema) {
194
197
  const namespace = `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`;
195
- objectProperty.typeName = `${namespace}.${typeName}`;
198
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.${typeName}`;
196
199
  typeDeclarations.push(await schemaToDeclarations(namespace, typeName, objectProperty.schema));
197
200
  }
198
201
  else if (objectProperty.properties) {
199
- typeDeclarations.push(...(await getArgumentsTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, objectProperty.properties)));
202
+ typeDeclarations.push(...(await getArgumentsTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, objectProperty.properties)));
200
203
  }
201
204
  }
202
205
  for (const property of functionProperties) {
@@ -204,36 +207,37 @@ const getArgumentsTypeDeclarations = async (parentType, properties, typeName = '
204
207
  if (functionProperty.name) {
205
208
  continue;
206
209
  }
207
- typeDeclarations.push(...(await getArgumentsTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.arguments.filter((arg) => arg.type.kind === 'object'))));
210
+ typeDeclarations.push(...(await getArgumentsTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.arguments.filter((arg) => arg.type.kind === 'object'))));
208
211
  if (functionProperty.spec.returnType.kind === 'object' && functionProperty.spec.returnType.schema) {
209
- typeDeclarations.push(await getReturnTypeDeclarations(`${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.returnType));
212
+ typeDeclarations.push(await getReturnTypeDeclarations(namespacePath, `${parentType}$${(0, helper_string_1.toPascalCase)(property.name)}`, functionProperty.spec.returnType));
210
213
  }
211
214
  }
212
215
  return typeDeclarations;
213
216
  };
214
- const getVariableValueTypeDeclarations = async (namespace, objectProperty) => {
217
+ const getVariableValueTypeDeclarations = async (namespacePath, namespace, objectProperty) => {
215
218
  const declarations = await schemaToDeclarations(namespace, 'ValueType', objectProperty.schema);
216
- objectProperty.typeName = `${namespace}.ValueType`;
219
+ objectProperty.typeName = `${namespacePath ? `${namespacePath}.` : ''}${namespace}.ValueType`;
217
220
  return declarations;
218
221
  };
219
- const getSpecificationsTypeDeclarations = async (specifications) => {
222
+ const getSpecificationsTypeDeclarations = async (namespacePath, specifications) => {
220
223
  const argumentsTypeDeclarations = (await Promise.all(specifications
221
224
  .filter((spec) => 'function' in spec)
222
225
  .map((spec) => spec)
223
- .map((spec) => getArgumentsTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.function.arguments)))).flat();
226
+ .map((spec) => getArgumentsTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.function.arguments)))).flat();
224
227
  const returnTypeDeclarations = await Promise.all(specifications
225
228
  .filter((spec) => 'function' in spec && spec.function.returnType.kind === 'object' && spec.function.returnType.schema)
226
229
  .map((spec) => spec)
227
- .map((spec) => getReturnTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.function.returnType)));
230
+ .map((spec) => getReturnTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.function.returnType)));
228
231
  const variableValueDeclarations = await Promise.all(specifications
229
232
  .filter((spec) => 'variable' in spec && spec.variable.valueType.kind === 'object' && spec.variable.valueType.schema)
230
233
  .map((spec) => spec)
231
- .map((spec) => getVariableValueTypeDeclarations((0, helper_string_1.toPascalCase)(spec.name), spec.variable.valueType)));
234
+ .map((spec) => getVariableValueTypeDeclarations(namespacePath, (0, helper_string_1.toPascalCase)(spec.name), spec.variable.valueType)));
232
235
  return [...argumentsTypeDeclarations, ...returnTypeDeclarations, ...variableValueDeclarations].join('\n');
233
236
  };
234
237
  const generateTSContextDeclarationFile = async (context, specifications, subContexts, pathPrefix) => {
235
238
  const template = handlebars_1.default.compile(await loadTemplate(`${pathPrefix}/{{context}}.d.ts.hbs`));
236
- const typeDeclarations = await getSpecificationsTypeDeclarations(specifications);
239
+ const contextPaths = context.path === '' ? [] : context.path.split('.').map(helper_string_1.toPascalCase);
240
+ const typeDeclarations = await getSpecificationsTypeDeclarations(contextPaths.join('.'), specifications);
237
241
  const toFunctionDeclaration = (specification) => {
238
242
  const toArgumentDeclaration = (arg) => ({
239
243
  name: (0, helper_string_1.toCamelCase)(arg.name),
@@ -253,9 +257,11 @@ const generateTSContextDeclarationFile = async (context, specifications, subCont
253
257
  name: specification.name.split('.').pop(),
254
258
  comment: getSpecificationWithVariableComment(specification),
255
259
  type: (0, utils_1.toTypeDeclaration)(specification.variable.valueType),
260
+ secret: specification.variable.secret,
256
261
  });
257
262
  fs_1.default.writeFileSync(`${POLY_LIB_PATH}/${pathPrefix}/${context.fileName}`, prettyPrint(template({
258
263
  interfaceName: context.interfaceName,
264
+ contextPaths,
259
265
  typeDeclarations,
260
266
  functionDeclarations: specifications
261
267
  .filter((spec) => 'function' in spec)
@@ -286,6 +292,21 @@ const getContextData = (specs) => {
286
292
  });
287
293
  return contextData;
288
294
  };
295
+ const getContextPaths = (contextData) => {
296
+ const paths = [];
297
+ const traverseAndAddPath = (data, path = '') => {
298
+ for (const key of Object.keys(data)) {
299
+ if (typeof data[key].context === 'string') {
300
+ continue;
301
+ }
302
+ const currentPath = path ? `${path}.${key}` : key;
303
+ paths.push(currentPath);
304
+ traverseAndAddPath(data[key], currentPath);
305
+ }
306
+ };
307
+ traverseAndAddPath(contextData);
308
+ return paths;
309
+ };
289
310
  const getSpecsFromContextData = (contextData) => {
290
311
  const specs = [];
291
312
  const traverseAndGetSpec = (data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,22 @@
5
5
 
6
6
  {{#each contexts}}
7
7
  {{#if firstLevel}}
8
- export const {{name}}: poly.{{interfaceName}};
8
+ export const {{name}}: {{interfaceName}};
9
9
  {{/if}}
10
10
  {{/each}}
11
11
 
12
- export = poly;
13
- export as namespace poly;
12
+ declare const poly: Poly;
13
+ export default poly;
14
14
 
15
- declare const poly: poly.Poly;
16
-
17
- declare namespace poly {
18
- interface Poly {}
15
+ export type UnregisterWebhookEventListener = () => void;
16
+ export type AuthFunctionCallback = (token?: string, url?: string, error?: any) => any;
17
+ export interface ApiFunctionResponse<T> {
18
+ status: number;
19
+ data: T;
20
+ headers: Record<string, string>;
19
21
  }
20
22
 
21
- interface ErrorEvent {
23
+ export interface ErrorEvent {
22
24
  message: string;
23
25
  data?: any;
24
26
  status?: number;
@@ -4,7 +4,37 @@
4
4
 
5
5
  declare module vari {
6
6
  type UnregisterOnUpdateHandler = () => void;
7
+ interface VariableChangeEvent<T> {
8
+ type: 'update' | 'delete';
9
+ id: string;
10
+ previousValue: T;
11
+ /**
12
+ * Updated value of the variable or null if the variable was deleted.
13
+ */
14
+ currentValue: T | null;
15
+ updateTime: number;
16
+ /**
17
+ * User ID or Application ID of the user or application that updated the variable.
18
+ */
19
+ updatedBy: string;
20
+ };
21
+
22
+ type OnUpdateOptions = {
23
+ /**
24
+ * Filter updates by type of event
25
+ */
26
+ type?: 'update' | 'delete';
27
+ /**
28
+ * Filter updates by secret or non-secret variables
29
+ */
30
+ secret?: boolean;
31
+ };
7
32
 
8
33
  interface Vari {
34
+ /**
35
+ * Creates update listener for the variables under given path.
36
+ * @param path context path to listen to (example: 'products' or 'products.shopId'). Can be '' to listen to all variables.
37
+ */
38
+ onUpdate: (path: string, callback: (event: VariableChangeEvent<any>) => void, options?: OnUpdateOptions) => UnregisterOnUpdateHandler;
9
39
  }
10
40
  }
@@ -1,6 +1,7 @@
1
1
  const axios = require('../axios');
2
2
  const set = require('lodash/set');
3
3
  const get = require('lodash/get');
4
+ const merge = require('lodash/merge');
4
5
 
5
6
  const variables = [
6
7
  {{#each specifications}}
@@ -8,7 +9,13 @@ const variables = [
8
9
  {{/each}}
9
10
  ];
10
11
 
11
- module.exports = (clientID, getSocket) => {
12
+ const contextPaths = [
13
+ {{#each contextPaths}}
14
+ '{{this}}',
15
+ {{/each}}
16
+ ];
17
+
18
+ const getVariableHandlers = (clientID, getSocket) => {
12
19
  const variableHandlers = {};
13
20
  variables.forEach(([path, id, secret]) => {
14
21
  set(variableHandlers, path, {
@@ -30,8 +37,8 @@ module.exports = (clientID, getSocket) => {
30
37
  onUpdate: (callback) => {
31
38
  const socket = getSocket();
32
39
  const unregisterEventHandler = () => {
33
- socket.off(`handleVariableUpdateEvent:${id}`);
34
- socket.emit('unregisterVariableUpdateEventHandler', {
40
+ socket.off(`handleVariableChangeEvent:${id}`);
41
+ socket.emit('unregisterVariableChangeEventHandler', {
35
42
  clientID,
36
43
  variableId: id,
37
44
  apiKey: '{{apiKey}}'
@@ -43,23 +50,75 @@ module.exports = (clientID, getSocket) => {
43
50
  const handleEvent = (value) => {
44
51
  callback(value);
45
52
  };
46
- socket.emit('registerVariableUpdateEventHandler', {
53
+ socket.emit('registerVariableChangeEventHandler', {
47
54
  clientID,
48
55
  variableId: id,
49
56
  apiKey: '{{apiKey}}'
50
57
  }, registered => {
51
58
  if (registered) {
52
- socket.on(`handleVariableUpdateEvent:${id}`, handleEvent);
59
+ socket.on(`handleVariableChangeEvent:${id}`, handleEvent);
53
60
  }
54
61
  });
55
62
 
56
63
  return unregisterEventHandler;
57
64
  },
58
- onServer: () => ({
65
+ onServer: (path) => ({
59
66
  type: 'PolyVariable',
60
- id
67
+ id,
68
+ path
61
69
  }),
62
70
  });
63
71
  });
64
72
  return variableHandlers;
65
73
  };
74
+
75
+ const getPathHandlers = () => {
76
+ const pathHandlers = {
77
+ get: () => {
78
+ return axios.get(
79
+ `/variables/context/values`
80
+ ).then(({data}) => data);
81
+ }
82
+ };
83
+ contextPaths.forEach(path => {
84
+ set(pathHandlers, path, {
85
+ get: () => {
86
+ return axios.get(
87
+ `/variables/context/${path}/values`
88
+ ).then(({data}) => data);
89
+ },
90
+ });
91
+ });
92
+ return pathHandlers;
93
+ };
94
+
95
+ module.exports = (clientID, getSocket) => merge(
96
+ getVariableHandlers(clientID, getSocket),
97
+ getPathHandlers(),
98
+ {
99
+ onUpdate: (path, callback, options = {}) => {
100
+ const socket = getSocket();
101
+ const unregisterEventHandler = () => {
102
+ socket.off(`handleVariablesChangeEvent:${path}`);
103
+ socket.emit('unregisterVariablesChangeEventHandler', {
104
+ clientID,
105
+ path,
106
+ apiKey: '{{apiKey}}'
107
+ });
108
+ }
109
+
110
+ socket.emit('registerVariablesChangeEventHandler', {
111
+ clientID,
112
+ path,
113
+ options,
114
+ apiKey: '{{apiKey}}'
115
+ }, registered => {
116
+ if (registered) {
117
+ socket.on(`handleVariablesChangeEvent:${path}`, callback);
118
+ }
119
+ });
120
+
121
+ return unregisterEventHandler;
122
+ }
123
+ }
124
+ );
@@ -1,5 +1,16 @@
1
- {{{typeDeclarations}}}
2
1
  declare module vari {
2
+ interface {{interfaceName}}Values {
3
+ {{#each subContexts}}
4
+ {{name}}: {{interfaceName}}Values;
5
+ {{/each}}
6
+ {{#each variableDeclarations}}
7
+ {{#if secret}}
8
+ {{else}}
9
+ {{name}}: {{type}};
10
+ {{/if}}
11
+ {{/each}}
12
+ }
13
+
3
14
  interface {{interfaceName}} {
4
15
  {{#each subContexts}}
5
16
  {{name}}: {{interfaceName}};
@@ -22,17 +33,26 @@ declare module vari {
22
33
  /**
23
34
  * Subscribe to changes to the variable. If the variable is secret, the callback won't be called.
24
35
  */
25
- onUpdate: (callback: (value: {{type}}) => void) => UnregisterOnUpdateHandler;
36
+ onUpdate: (callback: (value: VariableChangeEvent<{{type}}>) => void) => UnregisterOnUpdateHandler;
26
37
  /**
27
38
  * Gets variable data.
28
39
  * This is intended to be used in Poly functions, so the variable values are resolved on the server
29
40
  * without fetching them from the client.
30
- *
41
+ * @param path The JSON path to the property within the value, e.g. `vari.products.shop.onServer('id')`
31
42
  * @example
32
43
  * await poly.products.addItem(vari.products.shopId.onServer(), 'Toy car', 1)
33
44
  */
34
- onServer: () => {{{type}}};
45
+ onServer: (path?: string) => {{{type}}};
35
46
  }
36
47
  {{/each}}
48
+ get: () => Promise<{{interfaceName}}Values>;
37
49
  }
50
+
51
+ {{#each contextPaths}}
52
+ namespace {{this}} {
53
+ {{/each}}
54
+ {{{typeDeclarations}}}
55
+ {{#each contextPaths}}
56
+ }
57
+ {{/each}}
38
58
  }
@@ -1,14 +1,5 @@
1
1
  import poly = require("./index");
2
2
 
3
- type UnregisterWebhookEventListener = () => void;
4
- type AuthFunctionCallback = (token?: string, url?: string, error?: any) => any;
5
- interface Response<T> {
6
- status: number;
7
- data: T;
8
- headers: Record<string, string>;
9
- }
10
-
11
- {{{typeDeclarations}}}
12
3
  declare module "./index" {
13
4
  interface {{interfaceName}} {
14
5
  {{#each subContexts}}
@@ -21,9 +12,18 @@ declare module "./index" {
21
12
  */
22
13
  {{/if}}
23
14
  {{name}}({{#each arguments}}{{name}}{{#unless required}}?{{/unless}}: {{{type}}}{{#unless @last}}, {{/unless}}{{/each}}):
24
- {{#if synchronous}}{{#if useResponseTypeWrapper}}Response<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}
25
- {{else}}Promise<{{#if useResponseTypeWrapper}}Response<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}>
15
+ {{#if synchronous}}{{#if useResponseTypeWrapper}}ApiFunctionResponse<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}
16
+ {{else}}Promise<{{#if useResponseTypeWrapper}}ApiFunctionResponse<{{{returnType}}}>{{else}}{{{returnType}}}{{/if}}>
26
17
  {{/if}};
27
18
  {{/each}}
28
19
  }
20
+
21
+ {{#each contextPaths}}
22
+ namespace {{this}} {
23
+ {{/each}}
24
+ {{{typeDeclarations}}}
25
+ {{#each contextPaths}}
26
+ }
27
+ {{/each}}
28
+
29
29
  }
@@ -0,0 +1,5 @@
1
+ import { ValueType } from './variable.dto';
2
+ export interface ContextVariableValues {
3
+ [key: string]: ContextVariableValues | ValueType;
4
+ }
5
+ //# sourceMappingURL=context-variable-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-variable-values.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/context-variable-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;CAClD"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=variable-update-event-handler.dto.js.map
3
+ //# sourceMappingURL=context-variable-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-variable-values.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/context-variable-values.ts"],"names":[],"mappings":""}
@@ -1,5 +1,8 @@
1
1
  export * from './variable.dto';
2
2
  export * from './create-variable.dto';
3
3
  export * from './update-variable.dto';
4
- export * from './variable-update-event-handler.dto';
4
+ export * from './variable-change-event-handler.dto';
5
+ export * from './variable-change-event.dto';
6
+ export * from './context-variable-values';
7
+ export * from './variables-change-event-handler.dto';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC"}
@@ -17,5 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./variable.dto"), exports);
18
18
  __exportStar(require("./create-variable.dto"), exports);
19
19
  __exportStar(require("./update-variable.dto"), exports);
20
- __exportStar(require("./variable-update-event-handler.dto"), exports);
20
+ __exportStar(require("./variable-change-event-handler.dto"), exports);
21
+ __exportStar(require("./variable-change-event.dto"), exports);
22
+ __exportStar(require("./context-variable-values"), exports);
23
+ __exportStar(require("./variables-change-event-handler.dto"), exports);
21
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,sEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,sEAAoD;AACpD,8DAA4C;AAC5C,4DAA0C;AAC1C,uEAAqD"}
@@ -0,0 +1,6 @@
1
+ export interface VariableChangeEventHandlerDto {
2
+ variableId: string;
3
+ apiKey: string;
4
+ clientID: string;
5
+ }
6
+ //# sourceMappingURL=variable-change-event-handler.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-change-event-handler.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event-handler.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=variable-change-event-handler.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-change-event-handler.dto.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event-handler.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export type VariableChangeEventType = 'update' | 'delete';
2
+ export interface VariableChangeEvent {
3
+ path: string;
4
+ secret: boolean;
5
+ type: VariableChangeEventType;
6
+ previousValue: any;
7
+ currentValue: any;
8
+ updateTime: number;
9
+ updatedBy: string;
10
+ }
11
+ //# sourceMappingURL=variable-change-event.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-change-event.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event.dto.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=variable-change-event.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-change-event.dto.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variable-change-event.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { VariableChangeEventType } from './variable-change-event.dto';
2
+ export interface VariablesChangeEventHandlerDto {
3
+ path: string;
4
+ apiKey: string;
5
+ clientID: string;
6
+ options?: {
7
+ type?: VariableChangeEventType;
8
+ secret?: boolean;
9
+ };
10
+ }
11
+ //# sourceMappingURL=variables-change-event-handler.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables-change-event-handler.dto.d.ts","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variables-change-event-handler.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,uBAAuB,CAAC;QAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAA;CACF"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=variables-change-event-handler.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables-change-event-handler.dto.js","sourceRoot":"","sources":["../../../../../../model/src/dto/variable/variables-change-event-handler.dto.ts"],"names":[],"mappings":""}