@emilgroup/tenant-sdk 1.4.0 → 1.5.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 (80) hide show
  1. package/.openapi-generator/FILES +15 -0
  2. package/README.md +5 -22
  3. package/api/custom-schema-api.ts +0 -4
  4. package/api/data-report-api.ts +673 -0
  5. package/api/data-report-executor-api.ts +161 -0
  6. package/api/invite-organizations-api.ts +0 -4
  7. package/api/invite-users-api.ts +0 -4
  8. package/api/list-organization-invitations-api.ts +0 -4
  9. package/api/organizations-api.ts +0 -4
  10. package/api/re-invite-an-organization-api.ts +0 -4
  11. package/api/roles-api.ts +0 -4
  12. package/api/settings-api.ts +0 -4
  13. package/api/users-api.ts +0 -4
  14. package/api.ts +4 -4
  15. package/base.ts +59 -93
  16. package/common.ts +0 -1
  17. package/configuration.ts +0 -8
  18. package/dist/api/custom-schema-api.js +4 -8
  19. package/dist/api/data-report-api.d.ts +380 -0
  20. package/dist/api/data-report-api.js +632 -0
  21. package/dist/api/data-report-executor-api.d.ts +93 -0
  22. package/dist/api/data-report-executor-api.js +220 -0
  23. package/dist/api/invite-organizations-api.js +1 -5
  24. package/dist/api/invite-users-api.js +5 -9
  25. package/dist/api/list-organization-invitations-api.js +1 -5
  26. package/dist/api/organizations-api.js +3 -7
  27. package/dist/api/re-invite-an-organization-api.js +1 -5
  28. package/dist/api/roles-api.js +1 -5
  29. package/dist/api/settings-api.js +1 -5
  30. package/dist/api/users-api.js +9 -13
  31. package/dist/api.d.ts +2 -0
  32. package/dist/api.js +2 -0
  33. package/dist/base.d.ts +5 -9
  34. package/dist/base.js +40 -136
  35. package/dist/common.d.ts +0 -1
  36. package/dist/common.js +1 -2
  37. package/dist/configuration.d.ts +0 -7
  38. package/dist/models/create-data-report-request-dto.d.ts +61 -0
  39. package/dist/models/create-data-report-request-dto.js +15 -0
  40. package/dist/models/create-data-report-response-class.d.ts +25 -0
  41. package/dist/models/create-data-report-response-class.js +15 -0
  42. package/dist/models/data-report-class.d.ts +79 -0
  43. package/dist/models/data-report-class.js +15 -0
  44. package/dist/models/data-report-filter-class.d.ts +72 -0
  45. package/dist/models/data-report-filter-class.js +15 -0
  46. package/dist/models/data-report-filter-dto.d.ts +48 -0
  47. package/dist/models/data-report-filter-dto.js +15 -0
  48. package/dist/models/data-report-filter-single-value-dto.d.ts +42 -0
  49. package/dist/models/data-report-filter-single-value-dto.js +15 -0
  50. package/dist/models/data-report-filter-value-dto.d.ts +31 -0
  51. package/dist/models/data-report-filter-value-dto.js +15 -0
  52. package/dist/models/get-data-report-response-class.d.ts +25 -0
  53. package/dist/models/get-data-report-response-class.js +15 -0
  54. package/dist/models/index.d.ts +13 -0
  55. package/dist/models/index.js +13 -0
  56. package/dist/models/list-data-reports-response-class.d.ts +31 -0
  57. package/dist/models/list-data-reports-response-class.js +15 -0
  58. package/dist/models/run-data-report-request-dto.d.ts +31 -0
  59. package/dist/models/run-data-report-request-dto.js +15 -0
  60. package/dist/models/run-data-report-response-class.d.ts +24 -0
  61. package/dist/models/run-data-report-response-class.js +15 -0
  62. package/dist/models/update-data-report-request-dto.d.ts +61 -0
  63. package/dist/models/update-data-report-request-dto.js +15 -0
  64. package/dist/models/update-data-report-response-class.d.ts +25 -0
  65. package/dist/models/update-data-report-response-class.js +15 -0
  66. package/models/create-data-report-request-dto.ts +67 -0
  67. package/models/create-data-report-response-class.ts +31 -0
  68. package/models/data-report-class.ts +85 -0
  69. package/models/data-report-filter-class.ts +78 -0
  70. package/models/data-report-filter-dto.ts +54 -0
  71. package/models/data-report-filter-single-value-dto.ts +48 -0
  72. package/models/data-report-filter-value-dto.ts +37 -0
  73. package/models/get-data-report-response-class.ts +31 -0
  74. package/models/index.ts +13 -0
  75. package/models/list-data-reports-response-class.ts +37 -0
  76. package/models/run-data-report-request-dto.ts +37 -0
  77. package/models/run-data-report-response-class.ts +30 -0
  78. package/models/update-data-report-request-dto.ts +67 -0
  79. package/models/update-data-report-response-class.ts +31 -0
  80. package/package.json +3 -5
package/dist/base.js CHANGED
@@ -38,29 +38,6 @@ var __assign = (this && this.__assign) || function () {
38
38
  };
39
39
  return __assign.apply(this, arguments);
40
40
  };
41
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
42
- if (k2 === undefined) k2 = k;
43
- var desc = Object.getOwnPropertyDescriptor(m, k);
44
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
45
- desc = { enumerable: true, get: function() { return m[k]; } };
46
- }
47
- Object.defineProperty(o, k2, desc);
48
- }) : (function(o, m, k, k2) {
49
- if (k2 === undefined) k2 = k;
50
- o[k2] = m[k];
51
- }));
52
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
53
- Object.defineProperty(o, "default", { enumerable: true, value: v });
54
- }) : function(o, v) {
55
- o["default"] = v;
56
- });
57
- var __importStar = (this && this.__importStar) || function (mod) {
58
- if (mod && mod.__esModule) return mod;
59
- var result = {};
60
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
61
- __setModuleDefault(result, mod);
62
- return result;
63
- };
64
41
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
65
42
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
66
43
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -103,18 +80,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
103
80
  Object.defineProperty(exports, "__esModule", { value: true });
104
81
  exports.RequiredError = exports.BaseAPI = exports.resetRetry = exports.Environment = exports.COLLECTION_FORMATS = exports.BASE_PATH = void 0;
105
82
  var configuration_1 = require("./configuration");
83
+ var common_1 = require("./common");
106
84
  // Some imports not used depending on template conditions
107
85
  // @ts-ignore
108
86
  var axios_1 = __importDefault(require("axios"));
109
- var fs = __importStar(require("fs"));
110
- var path = __importStar(require("path"));
111
- var os = __importStar(require("os"));
112
87
  exports.BASE_PATH = "https://apiv2.emil.de".replace(/\/+$/, "");
113
- var CONFIG_DIRECTORY = '.emil';
114
- var CONFIG_FILENAME = 'credentials';
115
- var KEY_USERNAME = 'emil_username';
116
- var KEY_PASSWORD = 'emil_password';
117
- var filePath = os.homedir() + path.sep + CONFIG_DIRECTORY + path.sep + CONFIG_FILENAME;
118
88
  /**
119
89
  *
120
90
  * @export
@@ -138,6 +108,7 @@ function resetRetry() {
138
108
  }
139
109
  exports.resetRetry = resetRetry;
140
110
  var NETWORK_ERROR_MESSAGE = "Network Error";
111
+ var TOKEN_DATA = 'APP_TOKEN';
141
112
  /**
142
113
  *
143
114
  * @export
@@ -149,101 +120,27 @@ var BaseAPI = /** @class */ (function () {
149
120
  if (axios === void 0) { axios = axios_1.default; }
150
121
  this.basePath = basePath;
151
122
  this.axios = axios;
123
+ this.loadTokenData();
152
124
  if (configuration) {
153
125
  this.configuration = configuration;
154
126
  this.basePath = configuration.basePath || this.basePath;
155
127
  }
156
128
  else {
129
+ var _a = this.tokenData, accessToken = _a.accessToken, username = _a.username;
157
130
  this.configuration = new configuration_1.Configuration({
158
131
  basePath: this.basePath,
132
+ accessToken: accessToken ? "Bearer ".concat(accessToken) : '',
133
+ username: username,
159
134
  });
160
135
  }
161
136
  this.attachInterceptor(axios);
162
137
  }
163
- BaseAPI.prototype.initialize = function (env) {
164
- if (env === void 0) { env = Environment.Production; }
165
- return __awaiter(this, void 0, void 0, function () {
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0:
169
- this.configuration.basePath = env;
170
- return [4 /*yield*/, this.loadCredentials()];
171
- case 1:
172
- _a.sent();
173
- if (!this.username) return [3 /*break*/, 3];
174
- return [4 /*yield*/, this.authorize(this.username, this.password)];
175
- case 2:
176
- _a.sent();
177
- this.password = null; // to avoid keeping password loaded in memory.
178
- _a.label = 3;
179
- case 3: return [2 /*return*/];
180
- }
181
- });
182
- });
183
- };
184
- BaseAPI.prototype.loadCredentials = function () {
185
- return __awaiter(this, void 0, void 0, function () {
186
- var error_1;
187
- return __generator(this, function (_a) {
188
- switch (_a.label) {
189
- case 0:
190
- _a.trys.push([0, 2, , 3]);
191
- return [4 /*yield*/, this.readConfigFile()];
192
- case 1:
193
- _a.sent();
194
- return [3 /*break*/, 3];
195
- case 2:
196
- error_1 = _a.sent();
197
- console.warn("No credentials file found. Check that ".concat(filePath, " exists."));
198
- return [3 /*break*/, 3];
199
- case 3:
200
- this.readEnvVariables();
201
- if (!this.username) {
202
- console.info("No credentials found in credentials file or environment variables. Either provide some or use \n authorize() function.");
203
- }
204
- return [2 /*return*/];
205
- }
206
- });
207
- });
208
- };
209
- BaseAPI.prototype.readConfigFile = function () {
210
- return __awaiter(this, void 0, void 0, function () {
211
- var file, lines;
212
- var _this = this;
213
- return __generator(this, function (_a) {
214
- switch (_a.label) {
215
- case 0: return [4 /*yield*/, fs.promises.readFile(filePath, 'utf-8')];
216
- case 1:
217
- file = _a.sent();
218
- lines = file.split(os.EOL)
219
- .filter(Boolean);
220
- lines.forEach(function (line) {
221
- if (line.startsWith(KEY_USERNAME)) {
222
- _this.username = line.length > KEY_USERNAME.length + 1 ? line.substring(KEY_USERNAME.length + 1) : '';
223
- }
224
- else if (line.startsWith(KEY_PASSWORD)) {
225
- _this.password = line.length > KEY_PASSWORD.length + 1 ? line.substring(KEY_PASSWORD.length + 1) : '';
226
- }
227
- });
228
- return [2 /*return*/];
229
- }
230
- });
231
- });
232
- };
233
- BaseAPI.prototype.readEnvVariables = function () {
234
- if (process.env.EMIL_USERNAME) {
235
- this.username = process.env.EMIL_USERNAME;
236
- this.password = process.env.EMIL_PASSWORD || '';
237
- return true;
238
- }
239
- return false;
240
- };
241
138
  BaseAPI.prototype.selectEnvironment = function (env) {
242
139
  this.configuration.basePath = env;
243
140
  };
244
141
  BaseAPI.prototype.authorize = function (username, password) {
245
142
  return __awaiter(this, void 0, void 0, function () {
246
- var options, response, accessToken, refreshToken;
143
+ var options, response, accessToken;
247
144
  return __generator(this, function (_a) {
248
145
  switch (_a.label) {
249
146
  case 0:
@@ -263,8 +160,9 @@ var BaseAPI = /** @class */ (function () {
263
160
  accessToken = response.data.accessToken;
264
161
  this.configuration.username = username;
265
162
  this.configuration.accessToken = "Bearer ".concat(accessToken);
266
- refreshToken = this.extractRefreshToken(response);
267
- this.configuration.refreshToken = refreshToken;
163
+ this.tokenData.username = username;
164
+ this.tokenData.accessToken = accessToken;
165
+ this.storeTokenData(__assign({}, this.tokenData));
268
166
  return [2 /*return*/];
269
167
  }
270
168
  });
@@ -272,12 +170,12 @@ var BaseAPI = /** @class */ (function () {
272
170
  };
273
171
  BaseAPI.prototype.refreshTokenInternal = function () {
274
172
  return __awaiter(this, void 0, void 0, function () {
275
- var _a, username, refreshToken, options, accessToken;
276
- return __generator(this, function (_b) {
277
- switch (_b.label) {
173
+ var username, options, accessToken;
174
+ return __generator(this, function (_a) {
175
+ switch (_a.label) {
278
176
  case 0:
279
- _a = this.configuration, username = _a.username, refreshToken = _a.refreshToken;
280
- if (!username || !refreshToken) {
177
+ username = this.configuration.username;
178
+ if (!username) {
281
179
  return [2 /*return*/, ''];
282
180
  }
283
181
  options = {
@@ -285,28 +183,33 @@ var BaseAPI = /** @class */ (function () {
285
183
  url: "".concat(this.configuration.basePath, "/authservice/v1/refresh-token"),
286
184
  headers: {
287
185
  'Content-Type': 'application/json',
288
- Cookie: refreshToken,
289
186
  },
290
187
  data: { username: username },
291
188
  withCredentials: true,
292
189
  };
293
190
  return [4 /*yield*/, axios_1.default.request(options)];
294
191
  case 1:
295
- accessToken = (_b.sent()).data.accessToken;
192
+ accessToken = (_a.sent()).data.accessToken;
296
193
  return [2 /*return*/, accessToken];
297
194
  }
298
195
  });
299
196
  });
300
197
  };
301
- BaseAPI.prototype.extractRefreshToken = function (response) {
302
- if (response.headers && response.headers['set-cookie']
303
- && response.headers['set-cookie'].length > 0) {
304
- return "".concat(response.headers['set-cookie'][0].split(';')[0], ";");
198
+ BaseAPI.prototype.storeTokenData = function (tokenData) {
199
+ if (typeof window !== 'undefined') {
200
+ (0, common_1.defaultStorage)().set(TOKEN_DATA, tokenData);
305
201
  }
306
- return '';
307
202
  };
308
- BaseAPI.prototype.getConfiguration = function () {
309
- return this.configuration;
203
+ BaseAPI.prototype.loadTokenData = function () {
204
+ if (typeof window !== 'undefined') {
205
+ this.tokenData = (0, common_1.defaultStorage)().get(TOKEN_DATA) || {};
206
+ }
207
+ else {
208
+ this.tokenData = {};
209
+ }
210
+ };
211
+ BaseAPI.prototype.cleanTokenData = function () {
212
+ this.storeTokenData(null);
310
213
  };
311
214
  BaseAPI.prototype.attachInterceptor = function (axios) {
312
215
  var _this = this;
@@ -318,8 +221,9 @@ var BaseAPI = /** @class */ (function () {
318
221
  switch (_a.label) {
319
222
  case 0:
320
223
  originalConfig = err.config;
321
- if (!err.response) return [3 /*break*/, 5];
322
- if (!(err.response.status === 401 && !originalConfig._retry)) return [3 /*break*/, 4];
224
+ if (!(err.response && !(err.response instanceof XMLHttpRequest))) return [3 /*break*/, 5];
225
+ if (!((err.response.status === 401 || err.response.status === 403)
226
+ && !originalConfig._retry)) return [3 /*break*/, 4];
323
227
  originalConfig._retry = true;
324
228
  _a.label = 1;
325
229
  case 1:
@@ -328,23 +232,21 @@ var BaseAPI = /** @class */ (function () {
328
232
  case 2:
329
233
  tokenString = _a.sent();
330
234
  accessToken = "Bearer ".concat(tokenString);
331
- originalConfig.headers['Authorization'] = "Bearer ".concat(accessToken);
235
+ delete originalConfig.headers['Authorization'];
236
+ originalConfig.headers['Authorization'] = accessToken;
332
237
  this.configuration.accessToken = accessToken;
333
- return [2 /*return*/, axios.request(originalConfig)];
238
+ this.tokenData.accessToken = tokenString;
239
+ this.storeTokenData(this.tokenData);
240
+ return [2 /*return*/, axios(originalConfig)];
334
241
  case 3:
335
242
  _error_1 = _a.sent();
336
243
  if (_error_1.response && _error_1.response.data) {
337
244
  return [2 /*return*/, Promise.reject(_error_1.response.data)];
338
245
  }
339
246
  return [2 /*return*/, Promise.reject(_error_1)];
340
- case 4:
341
- if (err.response.status === 403 && err.response.data) {
342
- return [2 /*return*/, Promise.reject(err.response.data)];
343
- }
344
- return [3 /*break*/, 9];
247
+ case 4: return [3 /*break*/, 9];
345
248
  case 5:
346
249
  if (!(err.message === NETWORK_ERROR_MESSAGE
347
- && err.isAxiosError
348
250
  && originalConfig.headers.hasOwnProperty('Authorization')
349
251
  && _retry_count < 4)) return [3 /*break*/, 9];
350
252
  _retry_count++;
@@ -358,6 +260,8 @@ var BaseAPI = /** @class */ (function () {
358
260
  _retry = true;
359
261
  originalConfig.headers['Authorization'] = accessToken;
360
262
  this.configuration.accessToken = accessToken;
263
+ this.tokenData.accessToken = tokenString;
264
+ this.storeTokenData(this.tokenData);
361
265
  return [2 /*return*/, axios.request(__assign({}, originalConfig))];
362
266
  case 8:
363
267
  _error_2 = _a.sent();
package/dist/common.d.ts CHANGED
@@ -12,7 +12,6 @@
12
12
  import { Configuration } from "./configuration";
13
13
  import { RequestArgs } from "./base";
14
14
  import { AxiosInstance, AxiosResponse } from 'axios';
15
- import { URL } from 'url';
16
15
  /**
17
16
  *
18
17
  * @export
package/dist/common.js CHANGED
@@ -62,7 +62,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
62
62
  Object.defineProperty(exports, "__esModule", { value: true });
63
63
  exports.defaultStorage = exports.LocalStorage = exports.createRequestFunction = exports.toPathString = exports.serializeDataIfNeeded = exports.setSearchParams = exports.setOAuthToObject = exports.setBearerAuthToObject = exports.setBasicAuthToObject = exports.setApiKeyToObject = exports.assertParamExists = exports.DUMMY_BASE_URL = void 0;
64
64
  var base_1 = require("./base");
65
- var url_1 = require("url");
66
65
  /**
67
66
  *
68
67
  * @export
@@ -188,7 +187,7 @@ var setSearchParams = function (url) {
188
187
  for (var _i = 1; _i < arguments.length; _i++) {
189
188
  objects[_i - 1] = arguments[_i];
190
189
  }
191
- var searchParams = new url_1.URLSearchParams(url.search);
190
+ var searchParams = new URLSearchParams(url.search);
192
191
  for (var _a = 0, objects_1 = objects; _a < objects_1.length; _a++) {
193
192
  var object = objects_1[_a];
194
193
  for (var key in object) {
@@ -68,13 +68,6 @@ export declare class Configuration {
68
68
  * @type {new () => FormData}
69
69
  */
70
70
  formDataCtor?: new () => any;
71
- /**
72
- * parameter for automatically refreshing access token for oauth2 security
73
- *
74
- * @type {string}
75
- * @memberof Configuration
76
- */
77
- refreshToken?: string;
78
71
  constructor(param?: ConfigurationParameters);
79
72
  /**
80
73
  * Check if the given MIME is a JSON MIME.
@@ -0,0 +1,61 @@
1
+ /**
2
+ * EMIL Tenant Service
3
+ * The EMIL TenantService API description
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ * Contact: kontakt@emil.de
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import { DataReportFilterDto } from './data-report-filter-dto';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface CreateDataReportRequestDto
17
+ */
18
+ export interface CreateDataReportRequestDto {
19
+ /**
20
+ * Unique identifier for the object.
21
+ * @type {string}
22
+ * @memberof CreateDataReportRequestDto
23
+ */
24
+ 'code': string;
25
+ /**
26
+ * A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
27
+ * @type {string}
28
+ * @memberof CreateDataReportRequestDto
29
+ */
30
+ 'slug': string;
31
+ /**
32
+ * Optional description of the data report.
33
+ * @type {string}
34
+ * @memberof CreateDataReportRequestDto
35
+ */
36
+ 'description'?: string;
37
+ /**
38
+ * Athena view or query to use in the FROM clause of the report query.
39
+ * @type {string}
40
+ * @memberof CreateDataReportRequestDto
41
+ */
42
+ 'fromClause': string;
43
+ /**
44
+ * Optional list of columns to sort the query results by (to use in the ORDER BY clause of the report query).
45
+ * @type {string}
46
+ * @memberof CreateDataReportRequestDto
47
+ */
48
+ 'orderByClause'?: string;
49
+ /**
50
+ * Optional number of records to return as the report results.
51
+ * @type {number}
52
+ * @memberof CreateDataReportRequestDto
53
+ */
54
+ 'limit'?: number;
55
+ /**
56
+ * Array with the report filter values.
57
+ * @type {Array<DataReportFilterDto>}
58
+ * @memberof CreateDataReportRequestDto
59
+ */
60
+ 'filters': Array<DataReportFilterDto>;
61
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * EMIL Tenant Service
6
+ * The EMIL TenantService API description
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ * Contact: kontakt@emil.de
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ /**
2
+ * EMIL Tenant Service
3
+ * The EMIL TenantService API description
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ * Contact: kontakt@emil.de
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import { DataReportClass } from './data-report-class';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface CreateDataReportResponseClass
17
+ */
18
+ export interface CreateDataReportResponseClass {
19
+ /**
20
+ * The data-report response.
21
+ * @type {DataReportClass}
22
+ * @memberof CreateDataReportResponseClass
23
+ */
24
+ 'report': DataReportClass;
25
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * EMIL Tenant Service
6
+ * The EMIL TenantService API description
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ * Contact: kontakt@emil.de
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,79 @@
1
+ /**
2
+ * EMIL Tenant Service
3
+ * The EMIL TenantService API description
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ * Contact: kontakt@emil.de
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import { DataReportFilterClass } from './data-report-filter-class';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface DataReportClass
17
+ */
18
+ export interface DataReportClass {
19
+ /**
20
+ * Internal unique identifier for the object. You should not have to use this, use code instead.
21
+ * @type {number}
22
+ * @memberof DataReportClass
23
+ */
24
+ 'id': number;
25
+ /**
26
+ * Unique identifier for the object.
27
+ * @type {string}
28
+ * @memberof DataReportClass
29
+ */
30
+ 'code': string;
31
+ /**
32
+ * A slug is a human-readable, unique identifier, used to identify a resource instead of a less human-readable identifier like an id.
33
+ * @type {string}
34
+ * @memberof DataReportClass
35
+ */
36
+ 'slug': string;
37
+ /**
38
+ * Optional description of the data report.
39
+ * @type {string}
40
+ * @memberof DataReportClass
41
+ */
42
+ 'description': string;
43
+ /**
44
+ * Athena view or query to use in the FROM clause of the report query.
45
+ * @type {string}
46
+ * @memberof DataReportClass
47
+ */
48
+ 'fromClause': string;
49
+ /**
50
+ * Optional list of columns to sort the query results by (to use in the ORDER BY clause of the report query).
51
+ * @type {string}
52
+ * @memberof DataReportClass
53
+ */
54
+ 'orderByClause': string;
55
+ /**
56
+ * Optional number of records to return as the report results.
57
+ * @type {number}
58
+ * @memberof DataReportClass
59
+ */
60
+ 'limit': number;
61
+ /**
62
+ * List of the report filters.
63
+ * @type {Array<DataReportFilterClass>}
64
+ * @memberof DataReportClass
65
+ */
66
+ 'filters': Array<DataReportFilterClass>;
67
+ /**
68
+ * Time at which the object was created.
69
+ * @type {string}
70
+ * @memberof DataReportClass
71
+ */
72
+ 'createdAt': string;
73
+ /**
74
+ * Time at which the object was updated.
75
+ * @type {string}
76
+ * @memberof DataReportClass
77
+ */
78
+ 'updatedAt': string;
79
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * EMIL Tenant Service
6
+ * The EMIL TenantService API description
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ * Contact: kontakt@emil.de
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,72 @@
1
+ /**
2
+ * EMIL Tenant Service
3
+ * The EMIL TenantService API description
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ * Contact: kontakt@emil.de
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface DataReportFilterClass
16
+ */
17
+ export interface DataReportFilterClass {
18
+ /**
19
+ * Internal unique identifier for the object. You should not have to use this, use code instead.
20
+ * @type {number}
21
+ * @memberof DataReportFilterClass
22
+ */
23
+ 'id': number;
24
+ /**
25
+ * Internal unique identifier for the report this filter belongs to.
26
+ * @type {number}
27
+ * @memberof DataReportFilterClass
28
+ */
29
+ 'dataReportId': number;
30
+ /**
31
+ * Name of the filter (name of the Athena view column).
32
+ * @type {string}
33
+ * @memberof DataReportFilterClass
34
+ */
35
+ 'name': string;
36
+ /**
37
+ * Optional description of the data report filter.
38
+ * @type {string}
39
+ * @memberof DataReportFilterClass
40
+ */
41
+ 'description': string;
42
+ /**
43
+ * Type of the filter column (int, float, datetime or string).
44
+ * @type {string}
45
+ * @memberof DataReportFilterClass
46
+ */
47
+ 'type': string;
48
+ /**
49
+ * Condition the filter uses (=, in or between).
50
+ * @type {string}
51
+ * @memberof DataReportFilterClass
52
+ */
53
+ 'condition': string;
54
+ /**
55
+ * Set to true if the filter is mandatory when executing the report.
56
+ * @type {boolean}
57
+ * @memberof DataReportFilterClass
58
+ */
59
+ 'isMandatory': boolean;
60
+ /**
61
+ * Time at which the object was created.
62
+ * @type {string}
63
+ * @memberof DataReportFilterClass
64
+ */
65
+ 'createdAt': string;
66
+ /**
67
+ * Time at which the object was updated.
68
+ * @type {string}
69
+ * @memberof DataReportFilterClass
70
+ */
71
+ 'updatedAt': string;
72
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * EMIL Tenant Service
6
+ * The EMIL TenantService API description
7
+ *
8
+ * The version of the OpenAPI document: 1.0
9
+ * Contact: kontakt@emil.de
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,48 @@
1
+ /**
2
+ * EMIL Tenant Service
3
+ * The EMIL TenantService API description
4
+ *
5
+ * The version of the OpenAPI document: 1.0
6
+ * Contact: kontakt@emil.de
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface DataReportFilterDto
16
+ */
17
+ export interface DataReportFilterDto {
18
+ /**
19
+ * Name of the filter (name of the Athena view column).
20
+ * @type {string}
21
+ * @memberof DataReportFilterDto
22
+ */
23
+ 'name': string;
24
+ /**
25
+ * Optional description of the data report filter.
26
+ * @type {string}
27
+ * @memberof DataReportFilterDto
28
+ */
29
+ 'description'?: string;
30
+ /**
31
+ * Type of the filter column (int, float, datetime or string).
32
+ * @type {string}
33
+ * @memberof DataReportFilterDto
34
+ */
35
+ 'type': string;
36
+ /**
37
+ * Condition the filter uses (=, in or between).
38
+ * @type {string}
39
+ * @memberof DataReportFilterDto
40
+ */
41
+ 'condition': string;
42
+ /**
43
+ * Set to true if the filter is mandatory when executing the report.
44
+ * @type {boolean}
45
+ * @memberof DataReportFilterDto
46
+ */
47
+ 'isMandatory'?: boolean;
48
+ }