@servicelabsco/slabs-access-manager 2.0.12 → 2.0.13

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/AGENTS.md +2 -0
  2. package/CLAUDE.md +2 -0
  3. package/dist/access/controllers/developer.menu.controller.d.ts +4 -3
  4. package/dist/access/controllers/developer.menu.controller.js +7 -6
  5. package/dist/access/controllers/developer.menu.controller.js.map +1 -1
  6. package/dist/access/controllers/developer.report.controller.d.ts +88 -0
  7. package/dist/access/controllers/developer.report.controller.js +128 -0
  8. package/dist/access/controllers/developer.report.controller.js.map +1 -0
  9. package/dist/access/controllers/index.d.ts +1 -0
  10. package/dist/access/controllers/index.js +1 -0
  11. package/dist/access/controllers/index.js.map +1 -1
  12. package/dist/access/dtos/business.downloadable.report.dto.d.ts +4 -0
  13. package/dist/access/dtos/business.downloadable.report.dto.js +28 -0
  14. package/dist/access/dtos/business.downloadable.report.dto.js.map +1 -0
  15. package/dist/access/dtos/developer.search.query.dto.d.ts +4 -0
  16. package/dist/access/dtos/developer.search.query.dto.js +24 -0
  17. package/dist/access/dtos/developer.search.query.dto.js.map +1 -0
  18. package/dist/access/dtos/downloadable.report.dto.d.ts +8 -0
  19. package/dist/access/dtos/downloadable.report.dto.js +54 -0
  20. package/dist/access/dtos/downloadable.report.dto.js.map +1 -0
  21. package/dist/access/dtos/index.d.ts +4 -0
  22. package/dist/access/dtos/index.js +4 -0
  23. package/dist/access/dtos/index.js.map +1 -1
  24. package/dist/access/dtos/report.sheet.dto.d.ts +9 -0
  25. package/dist/access/dtos/report.sheet.dto.js +59 -0
  26. package/dist/access/dtos/report.sheet.dto.js.map +1 -0
  27. package/dist/access/es6.classes.d.ts +5 -3
  28. package/dist/access/es6.classes.js +12 -0
  29. package/dist/access/es6.classes.js.map +1 -1
  30. package/dist/access/libraries/index.d.ts +1 -0
  31. package/dist/access/libraries/index.js +1 -0
  32. package/dist/access/libraries/index.js.map +1 -1
  33. package/dist/access/libraries/process.developer.menu.d.ts +6 -3
  34. package/dist/access/libraries/process.developer.menu.js +24 -6
  35. package/dist/access/libraries/process.developer.menu.js.map +1 -1
  36. package/dist/access/libraries/process.downloadable.report.d.ts +91 -0
  37. package/dist/access/libraries/process.downloadable.report.js +221 -0
  38. package/dist/access/libraries/process.downloadable.report.js.map +1 -0
  39. package/dist/access/services/developer.mode.access.service.d.ts +2 -0
  40. package/dist/access/services/developer.mode.access.service.js +25 -1
  41. package/dist/access/services/developer.mode.access.service.js.map +1 -1
  42. package/dist/auth.controller.d.ts +6 -1
  43. package/dist/auth.controller.js +22 -3
  44. package/dist/auth.controller.js.map +1 -1
  45. package/dist/development/controllers/development.report.controller.d.ts +82 -0
  46. package/dist/development/controllers/development.report.controller.js +89 -0
  47. package/dist/development/controllers/development.report.controller.js.map +1 -1
  48. package/dist/mcp/admin/tools/admin.tool.registry.js +16 -0
  49. package/dist/mcp/admin/tools/admin.tool.registry.js.map +1 -1
  50. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.get.tool.d.ts +19 -0
  51. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.get.tool.js +24 -0
  52. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.get.tool.js.map +1 -0
  53. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.set.tool.d.ts +22 -0
  54. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.set.tool.js +26 -0
  55. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.business.set.tool.js.map +1 -0
  56. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.businesses.list.tool.d.ts +19 -0
  57. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.businesses.list.tool.js +25 -0
  58. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.businesses.list.tool.js.map +1 -0
  59. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.get.tool.d.ts +17 -0
  60. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.get.tool.js +23 -0
  61. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.get.tool.js.map +1 -0
  62. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.list.tool.d.ts +17 -0
  63. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.list.tool.js +24 -0
  64. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.list.tool.js.map +1 -0
  65. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.upsert.tool.d.ts +26 -0
  66. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.upsert.tool.js +50 -0
  67. package/dist/mcp/admin/tools/downloadable_report/downloadable.report.upsert.tool.js.map +1 -0
  68. package/dist/mcp/admin/tools/downloadable_report/index.d.ts +8 -0
  69. package/dist/mcp/admin/tools/downloadable_report/index.js +25 -0
  70. package/dist/mcp/admin/tools/downloadable_report/index.js.map +1 -0
  71. package/dist/mcp/admin/tools/downloadable_report/report.sheet.delete.tool.d.ts +19 -0
  72. package/dist/mcp/admin/tools/downloadable_report/report.sheet.delete.tool.js +24 -0
  73. package/dist/mcp/admin/tools/downloadable_report/report.sheet.delete.tool.js.map +1 -0
  74. package/dist/mcp/admin/tools/downloadable_report/report.sheet.upsert.tool.d.ts +30 -0
  75. package/dist/mcp/admin/tools/downloadable_report/report.sheet.upsert.tool.js +48 -0
  76. package/dist/mcp/admin/tools/downloadable_report/report.sheet.upsert.tool.js.map +1 -0
  77. package/dist/mcp/admin/tools/index.d.ts +1 -0
  78. package/dist/mcp/admin/tools/index.js +1 -0
  79. package/dist/mcp/admin/tools/index.js.map +1 -1
  80. package/package.json +1 -1
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcessDownloadableReport = void 0;
4
+ const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
5
+ const typeorm_1 = require("typeorm");
6
+ const access_business_entity_1 = require("../entities/access.business.entity");
7
+ const business_downloadable_report_entity_1 = require("../entities/business.downloadable.report.entity");
8
+ const SCRIPT_TYPE_ID = 11;
9
+ const REPORT_SOURCE_TYPE = 'ab60ad4e1a51c7d593e957b7857662c1';
10
+ const SHEET_SOURCE_TYPE = '8368af51d42be9a8b569aa8541b57e1f';
11
+ const LIST_LIMIT = 100;
12
+ class ProcessDownloadableReport {
13
+ async list(q) {
14
+ const search = q?.trim();
15
+ const where = search
16
+ ? [
17
+ { is_downloadable: true, name: (0, typeorm_1.ILike)(`%${search}%`) },
18
+ { is_downloadable: true, description: (0, typeorm_1.ILike)(`%${search}%`) },
19
+ ]
20
+ : { is_downloadable: true };
21
+ const reports = await nestjs_utility_services_1.ReportEntity.find({ where, order: { name: 'ASC' }, take: LIST_LIMIT });
22
+ if (!reports.length)
23
+ return [];
24
+ const sheets = await nestjs_utility_services_1.ReportSheetEntity.find({
25
+ where: { report_id: (0, typeorm_1.In)(reports.map((report) => report.id)) },
26
+ order: { priority: 'DESC' },
27
+ });
28
+ return reports.map((report) => ({
29
+ ...this.reportFields(report),
30
+ sheets: sheets.filter((sheet) => sheet.report_id === report.id).map((sheet) => this.sheetFields(sheet)),
31
+ }));
32
+ }
33
+ async get(reportId) {
34
+ const report = await this.getReport(reportId, ['pre_script']);
35
+ const sheets = await nestjs_utility_services_1.ReportSheetEntity.find({
36
+ where: { report_id: report.id },
37
+ relations: ['query', 'pre_script', 'post_script'],
38
+ order: { priority: 'DESC' },
39
+ });
40
+ return {
41
+ ...this.reportFields(report),
42
+ pre_script: report.pre_script?.script ?? null,
43
+ sheets: sheets.map((sheet) => this.sheetDetail(sheet)),
44
+ };
45
+ }
46
+ async upsert(body) {
47
+ this.validateConfigurations(body.configurations);
48
+ const report = await this.resolveReport(body);
49
+ if (body.name !== undefined)
50
+ report.name = body.name;
51
+ report.is_downloadable = true;
52
+ if (body.description !== undefined)
53
+ report.description = body.description;
54
+ if (body.configurations !== undefined)
55
+ report.configurations = body.configurations;
56
+ if (body.attributes !== undefined)
57
+ report.attributes = { ...(report.attributes || {}), ...body.attributes };
58
+ const saved = await report.save();
59
+ const owner = { name: 'ReportEntity Script', sourceType: REPORT_SOURCE_TYPE, sourceId: saved.id };
60
+ const preScriptId = await this.saveScript(saved.pre_script_id, body.pre_script, owner);
61
+ if (preScriptId !== saved.pre_script_id) {
62
+ saved.pre_script_id = preScriptId;
63
+ await saved.save();
64
+ }
65
+ return this.get(saved.id);
66
+ }
67
+ async upsertSheet(reportId, body) {
68
+ const report = await this.getReport(reportId);
69
+ const sheet = await this.resolveSheet(report.id, body);
70
+ if (!sheet.id && !body.query)
71
+ throw new nestjs_utility_services_1.OperationException('query is required for a new sheet');
72
+ if (body.name !== undefined)
73
+ sheet.name = body.name;
74
+ sheet.priority = body.priority ?? sheet.priority ?? 1;
75
+ sheet.active = body.active ?? sheet.active ?? true;
76
+ const saved = await sheet.save();
77
+ const owner = { name: 'ReportSheetEntity Script', sourceType: SHEET_SOURCE_TYPE, sourceId: saved.id };
78
+ const queryId = await this.saveScript(saved.query_id, body.query, owner);
79
+ const preScriptId = await this.saveScript(saved.pre_script_id, body.pre_script, owner);
80
+ const postScriptId = await this.saveScript(saved.post_script_id, body.post_script, owner);
81
+ saved.query_id = queryId;
82
+ saved.pre_script_id = preScriptId;
83
+ saved.post_script_id = postScriptId;
84
+ await saved.save();
85
+ const detail = await nestjs_utility_services_1.ReportSheetEntity.findOne({ where: { id: saved.id }, relations: ['query', 'pre_script', 'post_script'] });
86
+ return this.sheetDetail(detail);
87
+ }
88
+ async removeSheet(reportId, sheetId) {
89
+ const report = await this.getReport(reportId);
90
+ const sheet = await nestjs_utility_services_1.ReportSheetEntity.findOne({ where: { id: sheetId, report_id: report.id } });
91
+ if (!sheet)
92
+ throw new nestjs_utility_services_1.OperationException(`No sheet ${sheetId} found on report ${report.id}`);
93
+ await sheet.softDelete();
94
+ return { success: true };
95
+ }
96
+ async listBusinesses(reportId, q) {
97
+ const report = await this.getReport(reportId);
98
+ const search = q?.trim();
99
+ const where = [{ sys_report_id: report.id }];
100
+ if (search) {
101
+ where[0] = { sys_report_id: report.id, business: { name: (0, typeorm_1.ILike)(`%${search}%`) } };
102
+ if (/^\d{1,15}$/.test(search))
103
+ where.push({ sys_report_id: report.id, business: { identifier: Number(search) } });
104
+ }
105
+ const rows = await business_downloadable_report_entity_1.BusinessDownloadableReportEntity.find({ where, relations: ['business'], order: { created_at: 'DESC' }, take: LIST_LIMIT });
106
+ return rows.map((row) => ({
107
+ id: row.id,
108
+ business_id: row.business_id,
109
+ name: row.business?.name ?? null,
110
+ identifier: row.business?.identifier ?? null,
111
+ active: row.active,
112
+ emails: row.emails ?? [],
113
+ created_at: row.created_at,
114
+ }));
115
+ }
116
+ async getBusiness(reportId, businessId) {
117
+ const report = await this.getReport(reportId);
118
+ return business_downloadable_report_entity_1.BusinessDownloadableReportEntity.findOne({ where: { sys_report_id: report.id, business_id: businessId } });
119
+ }
120
+ async setBusiness(reportId, businessId, body) {
121
+ const report = await this.getReport(reportId);
122
+ const business = await access_business_entity_1.AccessBusinessEntity.first(businessId);
123
+ if (!business)
124
+ throw new nestjs_utility_services_1.OperationException(`No business found with id ${businessId}`);
125
+ const row = await business_downloadable_report_entity_1.BusinessDownloadableReportEntity.firstOrNew({ sys_report_id: report.id, business_id: business.id });
126
+ if (!row.id && !body.active)
127
+ return row;
128
+ row.active = body.active;
129
+ if (body.emails !== undefined)
130
+ row.emails = body.emails;
131
+ return row.save();
132
+ }
133
+ async getReport(reportId, relations = []) {
134
+ const report = await nestjs_utility_services_1.ReportEntity.findOne({ where: { id: reportId, is_downloadable: true }, relations });
135
+ if (!report)
136
+ throw new nestjs_utility_services_1.OperationException(`No downloadable report found with id ${reportId}`);
137
+ return report;
138
+ }
139
+ async resolveReport(body) {
140
+ let byName = null;
141
+ if (body.name)
142
+ byName = await nestjs_utility_services_1.ReportEntity.findOne({ where: { name: body.name } });
143
+ if (body.id) {
144
+ const report = await this.getReport(body.id);
145
+ if (byName && byName.id !== report.id)
146
+ throw new nestjs_utility_services_1.OperationException(`Report name ${body.name} is already used by report ${byName.id}`);
147
+ return report;
148
+ }
149
+ if (!body.name)
150
+ throw new nestjs_utility_services_1.OperationException('name is required for a new report');
151
+ if (!byName)
152
+ return nestjs_utility_services_1.ReportEntity.create({ name: body.name });
153
+ if (!byName.is_downloadable)
154
+ throw new nestjs_utility_services_1.OperationException(`Report ${body.name} exists and is not a downloadable report`);
155
+ return byName;
156
+ }
157
+ async resolveSheet(reportId, body) {
158
+ let byName = null;
159
+ if (body.name)
160
+ byName = await nestjs_utility_services_1.ReportSheetEntity.findOne({ where: { report_id: reportId, name: body.name } });
161
+ if (body.id) {
162
+ const sheet = await nestjs_utility_services_1.ReportSheetEntity.findOne({ where: { id: body.id, report_id: reportId } });
163
+ if (!sheet)
164
+ throw new nestjs_utility_services_1.OperationException(`No sheet ${body.id} found on report ${reportId}`);
165
+ if (byName && byName.id !== sheet.id)
166
+ throw new nestjs_utility_services_1.OperationException(`Sheet name ${body.name} is already used by sheet ${byName.id}`);
167
+ return sheet;
168
+ }
169
+ if (!body.name)
170
+ throw new nestjs_utility_services_1.OperationException('name is required for a new sheet');
171
+ return byName ?? nestjs_utility_services_1.ReportSheetEntity.create({ report_id: reportId });
172
+ }
173
+ validateConfigurations(configurations) {
174
+ if (!configurations)
175
+ return;
176
+ const invalid = Object.entries(configurations)
177
+ .filter(([, field]) => !field || typeof field !== 'object' || typeof field.type !== 'string' || typeof field.label !== 'string')
178
+ .map(([key]) => key);
179
+ if (invalid.length)
180
+ throw new nestjs_utility_services_1.OperationException(`configurations fields need a string "type" and "label": ${invalid.join(', ')}`);
181
+ }
182
+ async saveScript(currentId, text, owner) {
183
+ if (text === undefined)
184
+ return currentId ?? null;
185
+ if (text === null || !text.trim())
186
+ return null;
187
+ let script = null;
188
+ if (currentId)
189
+ script = await nestjs_utility_services_1.SystemScriptEntity.first(currentId);
190
+ if (!script)
191
+ script = nestjs_utility_services_1.SystemScriptEntity.create({ type_id: SCRIPT_TYPE_ID, name: owner.name });
192
+ script.script = text;
193
+ script.source_type = owner.sourceType;
194
+ script.source_id = owner.sourceId;
195
+ const saved = await script.save();
196
+ return saved.id;
197
+ }
198
+ reportFields(report) {
199
+ return {
200
+ id: report.id,
201
+ name: report.name,
202
+ description: report.description,
203
+ is_downloadable: report.is_downloadable,
204
+ configurations: report.configurations ?? null,
205
+ attributes: report.attributes ?? null,
206
+ };
207
+ }
208
+ sheetFields(sheet) {
209
+ return { id: sheet.id, report_id: sheet.report_id, name: sheet.name, priority: sheet.priority, active: sheet.active };
210
+ }
211
+ sheetDetail(sheet) {
212
+ return {
213
+ ...this.sheetFields(sheet),
214
+ query: sheet.query?.script ?? null,
215
+ pre_script: sheet.pre_script?.script ?? null,
216
+ post_script: sheet.post_script?.script ?? null,
217
+ };
218
+ }
219
+ }
220
+ exports.ProcessDownloadableReport = ProcessDownloadableReport;
221
+ //# sourceMappingURL=process.downloadable.report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.downloadable.report.js","sourceRoot":"","sources":["../../../src/access/libraries/process.downloadable.report.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,7 @@ export declare class DeveloperModeAccessService {
5
5
  constructor(accessBusinessService: AccessBusinessService);
6
6
  validate(): Promise<AccessBusinessEntity>;
7
7
  resolveBusiness(businessId?: number): Promise<AccessBusinessEntity>;
8
+ isCurrentUserDeveloper(): Promise<boolean>;
8
9
  hasDeveloperAccess(attributes?: Record<string, any> | null): boolean;
10
+ private isImpersonatorDeveloper;
9
11
  }
@@ -13,14 +13,17 @@ exports.DeveloperModeAccessService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
15
15
  const access_business_entity_1 = require("../entities/access.business.entity");
16
+ const finnoto_user_entity_1 = require("../entities/finnoto.user.entity");
16
17
  const access_business_service_1 = require("./access.business.service");
18
+ const impersonatorDeveloperCache = new WeakMap();
17
19
  let DeveloperModeAccessService = class DeveloperModeAccessService {
18
20
  constructor(accessBusinessService) {
19
21
  this.accessBusinessService = accessBusinessService;
20
22
  }
21
23
  async validate() {
22
24
  const business = await this.accessBusinessService.validateAccess();
23
- if (this.hasDeveloperAccess(nestjs_utility_services_1.Auth.user()?.attributes))
25
+ const isDeveloper = await this.isCurrentUserDeveloper();
26
+ if (isDeveloper)
24
27
  return business;
25
28
  throw new nestjs_utility_services_1.OperationException('You do not have access for this operation');
26
29
  }
@@ -33,9 +36,30 @@ let DeveloperModeAccessService = class DeveloperModeAccessService {
33
36
  throw new nestjs_utility_services_1.OperationException(`No business found with id ${businessId}`);
34
37
  return business;
35
38
  }
39
+ async isCurrentUserDeveloper() {
40
+ const user = nestjs_utility_services_1.Auth.user();
41
+ if (!user)
42
+ return false;
43
+ const impersonatingUserId = user.auth_attributes?.impersonating_user_id;
44
+ if (impersonatingUserId === undefined || impersonatingUserId === null)
45
+ return this.hasDeveloperAccess(user.attributes);
46
+ const cached = impersonatorDeveloperCache.get(user);
47
+ if (cached)
48
+ return cached;
49
+ const lookup = this.isImpersonatorDeveloper(impersonatingUserId);
50
+ impersonatorDeveloperCache.set(user, lookup);
51
+ return lookup;
52
+ }
36
53
  hasDeveloperAccess(attributes) {
37
54
  return Boolean(attributes?.is_developer);
38
55
  }
56
+ async isImpersonatorDeveloper(impersonatingUserId) {
57
+ const metaServerId = Number(impersonatingUserId);
58
+ if (!Number.isInteger(metaServerId) || metaServerId <= 0)
59
+ return false;
60
+ const impersonator = await finnoto_user_entity_1.FinnotoUserEntity.findOne({ select: ['id', 'attributes'], where: { meta_server_id: metaServerId } });
61
+ return this.hasDeveloperAccess(impersonator?.attributes);
62
+ }
39
63
  };
40
64
  exports.DeveloperModeAccessService = DeveloperModeAccessService;
41
65
  exports.DeveloperModeAccessService = DeveloperModeAccessService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"developer.mode.access.service.js","sourceRoot":"","sources":["../../../src/access/services/developer.mode.access.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAkF;AAClF,+EAA0E;AAC1E,uEAAkE;AAQ3D,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACnC,YAA6B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAO7E,KAAK,CAAC,QAAQ;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAEnE,IAAI,IAAI,CAAC,kBAAkB,CAAC,8BAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEtE,MAAM,IAAI,4CAAkB,CAAC,2CAA2C,CAAC,CAAC;IAC9E,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,UAAmB;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,4CAAkB,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAEvF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAKD,kBAAkB,CAAC,UAAuC;QACtD,OAAO,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;CACJ,CAAA;AAvCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAE2C,+CAAqB;GADhE,0BAA0B,CAuCtC"}
1
+ {"version":3,"file":"developer.mode.access.service.js","sourceRoot":"","sources":["../../../src/access/services/developer.mode.access.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAkF;AAClF,+EAA0E;AAC1E,yEAAoE;AACpE,uEAAkE;AAGlE,MAAM,0BAA0B,GAAG,IAAI,OAAO,EAA4B,CAAC;AASpE,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACnC,YAA6B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAO7E,KAAK,CAAC,QAAQ;QACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxD,IAAI,WAAW;YAAE,OAAO,QAAQ,CAAC;QAEjC,MAAM,IAAI,4CAAkB,CAAC,2CAA2C,CAAC,CAAC;IAC9E,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,UAAmB;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,6CAAoB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,4CAAkB,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAEvF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAQD,KAAK,CAAC,sBAAsB;QACxB,MAAM,IAAI,GAAQ,8BAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC;QACxE,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvH,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACjE,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAMD,kBAAkB,CAAC,UAAuC;QACtD,OAAO,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAOO,KAAK,CAAC,uBAAuB,CAAC,mBAA4B;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvE,MAAM,YAAY,GAAG,MAAM,uCAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAEhI,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;AA7EY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAE2C,+CAAqB;GADhE,0BAA0B,CA6EtC"}
@@ -1,10 +1,15 @@
1
1
  import { AuthService } from '@servicelabsco/nestjs-utility-services';
2
2
  import { LoginService } from './login.service';
3
+ import { DeveloperModeAccessService } from './access/services/developer.mode.access.service';
3
4
  export declare class AuthController {
4
5
  private readonly loginService;
5
6
  private readonly authService;
6
- constructor(loginService: LoginService, authService: AuthService);
7
+ private readonly developerModeAccessService;
8
+ constructor(loginService: LoginService, authService: AuthService, developerModeAccessService: DeveloperModeAccessService);
7
9
  validateToken(req: any, token: string): Promise<any>;
10
+ developer(): Promise<{
11
+ is_developer: boolean;
12
+ }>;
8
13
  check(): Promise<any>;
9
14
  logout(): Promise<import("@servicelabsco/nestjs-utility-services").SessionIdentifierEntity>;
10
15
  }
@@ -17,21 +17,33 @@ const common_1 = require("@nestjs/common");
17
17
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
18
18
  const login_service_1 = require("./login.service");
19
19
  const access_business_entity_1 = require("./access/entities/access.business.entity");
20
+ const developer_mode_access_service_1 = require("./access/services/developer.mode.access.service");
20
21
  let AuthController = class AuthController {
21
- constructor(loginService, authService) {
22
+ constructor(loginService, authService, developerModeAccessService) {
22
23
  this.loginService = loginService;
23
24
  this.authService = authService;
25
+ this.developerModeAccessService = developerModeAccessService;
24
26
  }
25
27
  async validateToken(req, token) {
26
28
  const payload = await this.loginService.validateToken(token);
27
29
  return this.authService.getUserLoginInfo(payload, req);
28
30
  }
31
+ async developer() {
32
+ const user = nestjs_utility_services_1.Auth.user();
33
+ if (!user)
34
+ throw new nestjs_utility_services_1.AccessException();
35
+ const isDeveloper = await this.developerModeAccessService.isCurrentUserDeveloper();
36
+ return { is_developer: isDeveloper };
37
+ }
29
38
  async check() {
30
39
  const user = nestjs_utility_services_1.Auth.user();
31
40
  if (!user)
32
41
  throw new nestjs_utility_services_1.AccessException();
33
42
  const businessId = user?.auth_attributes?.business_id;
34
- const business = nestjs_utility_services_1.ClassMapper.removeWhoColumns(await access_business_entity_1.AccessBusinessEntity.first(businessId, { relations: ['country.currency'] }));
43
+ const entity = await access_business_entity_1.AccessBusinessEntity.first(businessId, { relations: ['country.currency'] });
44
+ if (!entity)
45
+ throw new nestjs_utility_services_1.AccessException();
46
+ const business = nestjs_utility_services_1.ClassMapper.removeWhoColumns(entity);
35
47
  return { ...user, business, meta_business_id: business.meta_server_id };
36
48
  }
37
49
  async logout() {
@@ -50,6 +62,12 @@ __decorate([
50
62
  __metadata("design:paramtypes", [Object, String]),
51
63
  __metadata("design:returntype", Promise)
52
64
  ], AuthController.prototype, "validateToken", null);
65
+ __decorate([
66
+ (0, common_1.Get)('developer'),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", []),
69
+ __metadata("design:returntype", Promise)
70
+ ], AuthController.prototype, "developer", null);
53
71
  __decorate([
54
72
  (0, common_1.Get)(),
55
73
  __metadata("design:type", Function),
@@ -65,6 +83,7 @@ __decorate([
65
83
  exports.AuthController = AuthController = __decorate([
66
84
  (0, common_1.Controller)('auth'),
67
85
  __metadata("design:paramtypes", [login_service_1.LoginService,
68
- nestjs_utility_services_1.AuthService])
86
+ nestjs_utility_services_1.AuthService,
87
+ developer_mode_access_service_1.DeveloperModeAccessService])
69
88
  ], AuthController);
70
89
  //# sourceMappingURL=auth.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../src/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,oFAAyG;AACzG,mDAA+C;AAC/C,qFAAgF;AAGzE,IAAM,cAAc,GAApB,MAAM,cAAc;IACvB,YACqB,YAA0B,EAC1B,WAAwB;QADxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;IAC1C,CAAC;IAGE,AAAN,KAAK,CAAC,aAAa,CAAQ,GAAQ,EAAiB,KAAa;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,GAAQ,8BAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,yCAAe,EAAE,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,EAAE,eAAe,EAAE,WAAW,CAAC;QACtD,MAAM,QAAQ,GAAG,qCAAW,CAAC,gBAAgB,CAAC,MAAM,6CAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjI,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,GAAG,8BAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;CACJ,CAAA;AA/BY,wCAAc;AAOjB;IADL,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACF,WAAA,IAAA,YAAG,GAAE,CAAA;IAAY,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;;;;mDAIlD;AAGK;IADL,IAAA,YAAG,GAAE;;;;2CASL;AAGK;IADL,IAAA,aAAI,EAAC,QAAQ,CAAC;;;;4CAMd;yBA9BQ,cAAc;IAD1B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAGoB,4BAAY;QACb,qCAAW;GAHpC,cAAc,CA+B1B"}
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../src/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,oFAAyG;AACzG,mDAA+C;AAC/C,qFAAgF;AAChF,mGAA6F;AAGtF,IAAM,cAAc,GAApB,MAAM,cAAc;IACvB,YACqB,YAA0B,EAC1B,WAAwB,EACxB,0BAAsD;QAFtD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,+BAA0B,GAA1B,0BAA0B,CAA4B;IACxE,CAAC;IAGE,AAAN,KAAK,CAAC,aAAa,CAAQ,GAAQ,EAAiB,KAAa;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAQK,AAAN,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAQ,8BAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,yCAAe,EAAE,CAAC;QAEvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACnF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,GAAQ,8BAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,yCAAe,EAAE,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,EAAE,eAAe,EAAE,WAAW,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,6CAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,yCAAe,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,qCAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEtD,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,GAAG,8BAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;CACJ,CAAA;AAjDY,wCAAc;AAQjB;IADL,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACF,WAAA,IAAA,YAAG,GAAE,CAAA;IAAY,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;;;;mDAIlD;AAQK;IADL,IAAA,YAAG,EAAC,WAAW,CAAC;;;;+CAOhB;AAGK;IADL,IAAA,YAAG,GAAE;;;;2CAYL;AAGK;IADL,IAAA,aAAI,EAAC,QAAQ,CAAC;;;;4CAMd;yBAhDQ,cAAc;IAD1B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAGoB,4BAAY;QACb,qCAAW;QACI,0DAA0B;GAJlE,cAAc,CAiD1B"}
@@ -1,4 +1,9 @@
1
1
  import { ReportEntity } from '@servicelabsco/nestjs-utility-services';
2
+ import { BusinessDownloadableReportDto } from '../../access/dtos/business.downloadable.report.dto';
3
+ import { BusinessParamDto } from '../../access/dtos/business.param.dto';
4
+ import { DeveloperSearchQueryDto } from '../../access/dtos/developer.search.query.dto';
5
+ import { DownloadableReportDto } from '../../access/dtos/downloadable.report.dto';
6
+ import { ReportSheetDto } from '../../access/dtos/report.sheet.dto';
2
7
  import { AccessReportService } from '../../access/services/access.report.service';
3
8
  type ReportUpsertBody = {
4
9
  id?: number;
@@ -10,6 +15,83 @@ export declare class DevelopmentReportController {
10
15
  private readonly accessReportService;
11
16
  constructor(accessReportService: AccessReportService);
12
17
  upsert(body: ReportUpsertBody): Promise<ReportEntity>;
18
+ listDownloadable(query: DeveloperSearchQueryDto): Promise<{
19
+ sheets: {
20
+ id: number;
21
+ report_id: number;
22
+ name: string;
23
+ priority: number;
24
+ active: boolean;
25
+ }[];
26
+ id: number;
27
+ name: string;
28
+ description: string;
29
+ is_downloadable: boolean;
30
+ configurations: any;
31
+ attributes: any;
32
+ }[]>;
33
+ upsertDownloadable(body: DownloadableReportDto): Promise<{
34
+ pre_script: string;
35
+ sheets: {
36
+ query: string;
37
+ pre_script: string;
38
+ post_script: string;
39
+ id: number;
40
+ report_id: number;
41
+ name: string;
42
+ priority: number;
43
+ active: boolean;
44
+ }[];
45
+ id: number;
46
+ name: string;
47
+ description: string;
48
+ is_downloadable: boolean;
49
+ configurations: any;
50
+ attributes: any;
51
+ }>;
52
+ getDownloadable(params: BusinessParamDto): Promise<{
53
+ pre_script: string;
54
+ sheets: {
55
+ query: string;
56
+ pre_script: string;
57
+ post_script: string;
58
+ id: number;
59
+ report_id: number;
60
+ name: string;
61
+ priority: number;
62
+ active: boolean;
63
+ }[];
64
+ id: number;
65
+ name: string;
66
+ description: string;
67
+ is_downloadable: boolean;
68
+ configurations: any;
69
+ attributes: any;
70
+ }>;
71
+ upsertSheet(params: BusinessParamDto, body: ReportSheetDto): Promise<{
72
+ query: string;
73
+ pre_script: string;
74
+ post_script: string;
75
+ id: number;
76
+ report_id: number;
77
+ name: string;
78
+ priority: number;
79
+ active: boolean;
80
+ }>;
81
+ removeSheet(params: BusinessParamDto): Promise<{
82
+ success: boolean;
83
+ }>;
84
+ listBusinesses(params: BusinessParamDto, query: DeveloperSearchQueryDto): Promise<{
85
+ id: number;
86
+ business_id: number;
87
+ name: string;
88
+ identifier: number;
89
+ active: boolean;
90
+ emails: string[];
91
+ created_at: Date;
92
+ }[]>;
93
+ getBusiness(params: BusinessParamDto): Promise<import("../..").BusinessDownloadableReportEntity>;
94
+ setBusiness(params: BusinessParamDto, body: BusinessDownloadableReportDto): Promise<import("../..").BusinessDownloadableReportEntity>;
13
95
  private resolveName;
14
96
  }
15
97
  export {};
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DevelopmentReportController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
18
+ const business_downloadable_report_dto_1 = require("../../access/dtos/business.downloadable.report.dto");
19
+ const business_param_dto_1 = require("../../access/dtos/business.param.dto");
20
+ const developer_search_query_dto_1 = require("../../access/dtos/developer.search.query.dto");
21
+ const downloadable_report_dto_1 = require("../../access/dtos/downloadable.report.dto");
22
+ const report_sheet_dto_1 = require("../../access/dtos/report.sheet.dto");
23
+ const process_downloadable_report_1 = require("../../access/libraries/process.downloadable.report");
18
24
  const access_report_service_1 = require("../../access/services/access.report.service");
19
25
  let DevelopmentReportController = class DevelopmentReportController {
20
26
  constructor(accessReportService) {
@@ -30,6 +36,30 @@ let DevelopmentReportController = class DevelopmentReportController {
30
36
  description: body.description ?? '',
31
37
  });
32
38
  }
39
+ async listDownloadable(query) {
40
+ return new process_downloadable_report_1.ProcessDownloadableReport().list(query.q);
41
+ }
42
+ async upsertDownloadable(body) {
43
+ return new process_downloadable_report_1.ProcessDownloadableReport().upsert(body);
44
+ }
45
+ async getDownloadable(params) {
46
+ return new process_downloadable_report_1.ProcessDownloadableReport().get(params.id);
47
+ }
48
+ async upsertSheet(params, body) {
49
+ return new process_downloadable_report_1.ProcessDownloadableReport().upsertSheet(params.id, body);
50
+ }
51
+ async removeSheet(params) {
52
+ return new process_downloadable_report_1.ProcessDownloadableReport().removeSheet(params.id, params.second_id);
53
+ }
54
+ async listBusinesses(params, query) {
55
+ return new process_downloadable_report_1.ProcessDownloadableReport().listBusinesses(params.id, query.q);
56
+ }
57
+ async getBusiness(params) {
58
+ return new process_downloadable_report_1.ProcessDownloadableReport().getBusiness(params.id, params.second_id);
59
+ }
60
+ async setBusiness(params, body) {
61
+ return new process_downloadable_report_1.ProcessDownloadableReport().setBusiness(params.id, params.second_id, body);
62
+ }
33
63
  async resolveName(body) {
34
64
  if (body?.name)
35
65
  return body.name;
@@ -50,6 +80,65 @@ __decorate([
50
80
  __metadata("design:paramtypes", [Object]),
51
81
  __metadata("design:returntype", Promise)
52
82
  ], DevelopmentReportController.prototype, "upsert", null);
83
+ __decorate([
84
+ (0, common_1.Get)('downloadable/list'),
85
+ __param(0, (0, common_1.Query)()),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", [developer_search_query_dto_1.DeveloperSearchQueryDto]),
88
+ __metadata("design:returntype", Promise)
89
+ ], DevelopmentReportController.prototype, "listDownloadable", null);
90
+ __decorate([
91
+ (0, common_1.Post)('downloadable/upsert'),
92
+ __param(0, (0, common_1.Body)()),
93
+ __metadata("design:type", Function),
94
+ __metadata("design:paramtypes", [downloadable_report_dto_1.DownloadableReportDto]),
95
+ __metadata("design:returntype", Promise)
96
+ ], DevelopmentReportController.prototype, "upsertDownloadable", null);
97
+ __decorate([
98
+ (0, common_1.Get)(':id/downloadable'),
99
+ __param(0, (0, common_1.Param)()),
100
+ __metadata("design:type", Function),
101
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto]),
102
+ __metadata("design:returntype", Promise)
103
+ ], DevelopmentReportController.prototype, "getDownloadable", null);
104
+ __decorate([
105
+ (0, common_1.Post)(':id/sheet/upsert'),
106
+ __param(0, (0, common_1.Param)()),
107
+ __param(1, (0, common_1.Body)()),
108
+ __metadata("design:type", Function),
109
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto, report_sheet_dto_1.ReportSheetDto]),
110
+ __metadata("design:returntype", Promise)
111
+ ], DevelopmentReportController.prototype, "upsertSheet", null);
112
+ __decorate([
113
+ (0, common_1.Delete)(':id/sheet/:second_id'),
114
+ __param(0, (0, common_1.Param)()),
115
+ __metadata("design:type", Function),
116
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto]),
117
+ __metadata("design:returntype", Promise)
118
+ ], DevelopmentReportController.prototype, "removeSheet", null);
119
+ __decorate([
120
+ (0, common_1.Get)(':id/businesses'),
121
+ __param(0, (0, common_1.Param)()),
122
+ __param(1, (0, common_1.Query)()),
123
+ __metadata("design:type", Function),
124
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto, developer_search_query_dto_1.DeveloperSearchQueryDto]),
125
+ __metadata("design:returntype", Promise)
126
+ ], DevelopmentReportController.prototype, "listBusinesses", null);
127
+ __decorate([
128
+ (0, common_1.Get)(':id/business/:second_id'),
129
+ __param(0, (0, common_1.Param)()),
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto]),
132
+ __metadata("design:returntype", Promise)
133
+ ], DevelopmentReportController.prototype, "getBusiness", null);
134
+ __decorate([
135
+ (0, common_1.Post)(':id/business/:second_id'),
136
+ __param(0, (0, common_1.Param)()),
137
+ __param(1, (0, common_1.Body)()),
138
+ __metadata("design:type", Function),
139
+ __metadata("design:paramtypes", [business_param_dto_1.BusinessParamDto, business_downloadable_report_dto_1.BusinessDownloadableReportDto]),
140
+ __metadata("design:returntype", Promise)
141
+ ], DevelopmentReportController.prototype, "setBusiness", null);
53
142
  exports.DevelopmentReportController = DevelopmentReportController = __decorate([
54
143
  (0, common_1.Controller)('development/report'),
55
144
  __metadata("design:paramtypes", [access_report_service_1.AccessReportService])
@@ -1 +1 @@
1
- {"version":3,"file":"development.report.controller.js","sourceRoot":"","sources":["../../../src/development/controllers/development.report.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,oFAA0F;AAC1F,uFAAkF;AAe3E,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACpC,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAOnE,AAAN,KAAK,CAAC,MAAM,CAAS,IAAsB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,KAAK;YAAE,MAAM,IAAI,4CAAkB,CAAC,mBAAmB,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;YACzC,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;SACtC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAsB;QAC5C,IAAI,IAAI,EAAE,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEjC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,sCAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,4CAAkB,CAAC,2BAA2B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,4CAAkB,CAAC,wBAAwB,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AA9BY,kEAA2B;AAQ9B;IADL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACD,WAAA,IAAA,aAAI,GAAE,CAAA;;;;yDASnB;sCAjBQ,2BAA2B;IADvC,IAAA,mBAAU,EAAC,oBAAoB,CAAC;qCAEqB,2CAAmB;GAD5D,2BAA2B,CA8BvC"}
1
+ {"version":3,"file":"development.report.controller.js","sourceRoot":"","sources":["../../../src/development/controllers/development.report.controller.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ const child_menu_delete_tool_1 = require("./child_menu/child.menu.delete.tool");
6
6
  const child_menu_get_tool_1 = require("./child_menu/child.menu.get.tool");
7
7
  const child_menu_list_tool_1 = require("./child_menu/child.menu.list.tool");
8
8
  const child_menu_update_tool_1 = require("./child_menu/child.menu.update.tool");
9
+ const downloadable_report_business_get_tool_1 = require("./downloadable_report/downloadable.report.business.get.tool");
10
+ const downloadable_report_business_set_tool_1 = require("./downloadable_report/downloadable.report.business.set.tool");
11
+ const downloadable_report_businesses_list_tool_1 = require("./downloadable_report/downloadable.report.businesses.list.tool");
12
+ const downloadable_report_get_tool_1 = require("./downloadable_report/downloadable.report.get.tool");
13
+ const downloadable_report_list_tool_1 = require("./downloadable_report/downloadable.report.list.tool");
14
+ const downloadable_report_upsert_tool_1 = require("./downloadable_report/downloadable.report.upsert.tool");
15
+ const report_sheet_delete_tool_1 = require("./downloadable_report/report.sheet.delete.tool");
16
+ const report_sheet_upsert_tool_1 = require("./downloadable_report/report.sheet.upsert.tool");
9
17
  const listing_column_create_tool_1 = require("./listing_column/listing.column.create.tool");
10
18
  const listing_column_delete_tool_1 = require("./listing_column/listing.column.delete.tool");
11
19
  const listing_column_get_tool_1 = require("./listing_column/listing.column.get.tool");
@@ -172,6 +180,14 @@ class AdminToolRegistry {
172
180
  new report_create_tool_1.ReportCreateTool(this.client),
173
181
  new report_update_tool_1.ReportUpdateTool(this.client),
174
182
  new report_delete_tool_1.ReportDeleteTool(this.client),
183
+ new downloadable_report_list_tool_1.DownloadableReportListTool(this.client),
184
+ new downloadable_report_get_tool_1.DownloadableReportGetTool(this.client),
185
+ new downloadable_report_upsert_tool_1.DownloadableReportUpsertTool(this.client),
186
+ new report_sheet_upsert_tool_1.ReportSheetUpsertTool(this.client),
187
+ new report_sheet_delete_tool_1.ReportSheetDeleteTool(this.client),
188
+ new downloadable_report_businesses_list_tool_1.DownloadableReportBusinessesListTool(this.client),
189
+ new downloadable_report_business_get_tool_1.DownloadableReportBusinessGetTool(this.client),
190
+ new downloadable_report_business_set_tool_1.DownloadableReportBusinessSetTool(this.client),
175
191
  new form_script_list_tool_1.FormScriptListTool(this.client),
176
192
  new form_script_get_tool_1.FormScriptGetTool(this.client),
177
193
  new form_script_create_tool_1.FormScriptCreateTool(this.client),