@servicelabsco/slabs-access-manager 1.0.67 → 1.0.69

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 (198) hide show
  1. package/dist/access/controllers/business.report.controller.js.map +1 -1
  2. package/dist/access/controllers/dashboard.report.controller.js +2 -1
  3. package/dist/access/controllers/dashboard.report.controller.js.map +1 -1
  4. package/dist/access/controllers/index.d.ts +1 -0
  5. package/dist/access/controllers/index.js +1 -0
  6. package/dist/access/controllers/index.js.map +1 -1
  7. package/dist/access/controllers/oauth.as.controller.d.ts +1 -0
  8. package/dist/access/controllers/oauth.as.controller.js +24 -0
  9. package/dist/access/controllers/oauth.as.controller.js.map +1 -1
  10. package/dist/access/controllers/report.view.controller.d.ts +101 -0
  11. package/dist/access/controllers/report.view.controller.js +66 -0
  12. package/dist/access/controllers/report.view.controller.js.map +1 -0
  13. package/dist/access/controllers/whoami.controller.js +3 -2
  14. package/dist/access/controllers/whoami.controller.js.map +1 -1
  15. package/dist/access/dtos/index.d.ts +1 -0
  16. package/dist/access/dtos/index.js +1 -0
  17. package/dist/access/dtos/index.js.map +1 -1
  18. package/dist/access/dtos/report.view.query.dto.d.ts +23 -0
  19. package/dist/access/dtos/report.view.query.dto.js +56 -0
  20. package/dist/access/dtos/report.view.query.dto.js.map +1 -0
  21. package/dist/access/es6.classes.d.ts +24 -14
  22. package/dist/access/es6.classes.js +42 -25
  23. package/dist/access/es6.classes.js.map +1 -1
  24. package/dist/access/jobs/form.script.job.js +1 -1
  25. package/dist/access/libraries/index.d.ts +1 -0
  26. package/dist/access/libraries/index.js +1 -0
  27. package/dist/access/libraries/index.js.map +1 -1
  28. package/dist/access/libraries/process.form.script.list.js.map +1 -1
  29. package/dist/access/libraries/report.view.query.compiler.d.ts +163 -0
  30. package/dist/access/libraries/report.view.query.compiler.js +399 -0
  31. package/dist/access/libraries/report.view.query.compiler.js.map +1 -0
  32. package/dist/access/services/credential.resolve.service.js +18 -3
  33. package/dist/access/services/credential.resolve.service.js.map +1 -1
  34. package/dist/access/services/es6.jobs.service.d.ts +3 -3
  35. package/dist/access/services/es6.jobs.service.js +5 -5
  36. package/dist/access/services/es6.jobs.service.js.map +1 -1
  37. package/dist/access/services/index.d.ts +1 -0
  38. package/dist/access/services/index.js +1 -0
  39. package/dist/access/services/index.js.map +1 -1
  40. package/dist/access/services/oauth.as.service.d.ts +8 -5
  41. package/dist/access/services/oauth.as.service.js +92 -48
  42. package/dist/access/services/oauth.as.service.js.map +1 -1
  43. package/dist/access/services/report.view.service.d.ts +111 -0
  44. package/dist/access/services/report.view.service.js +234 -0
  45. package/dist/access/services/report.view.service.js.map +1 -0
  46. package/dist/accessUtility/access.utility.module.js +2 -2
  47. package/dist/accessUtility/access.utility.module.js.map +1 -1
  48. package/dist/accessUtility/es6.classes.d.ts +1 -1
  49. package/dist/accessUtility/es6.classes.js +2 -2
  50. package/dist/accessUtility/es6.classes.js.map +1 -1
  51. package/dist/accessUtility/index.d.ts +1 -1
  52. package/dist/accessUtility/index.js +1 -1
  53. package/dist/accessUtility/index.js.map +1 -1
  54. package/dist/accessUtility/{types/bulk.upload.item.record.js → interfaces/bulk.upload.item.record.interface.js} +1 -1
  55. package/dist/accessUtility/interfaces/bulk.upload.item.record.interface.js.map +1 -0
  56. package/dist/accessUtility/interfaces/index.d.ts +1 -0
  57. package/dist/accessUtility/interfaces/index.js +18 -0
  58. package/dist/accessUtility/interfaces/index.js.map +1 -0
  59. package/dist/accessUtility/jobs/bulk.upload.column.match.job.js.map +1 -1
  60. package/dist/accessUtility/jobs/push.to.bulk.item.job.d.ts +1 -1
  61. package/dist/accessUtility/libraries/set.bulk.upload.log.file.js.map +1 -1
  62. package/dist/accessUtility/services/bulk.upload.item.store.d.ts +1 -1
  63. package/dist/accessUtility/services/bulk.upload.item.store.js.map +1 -1
  64. package/dist/app.module.js +2 -0
  65. package/dist/app.module.js.map +1 -1
  66. package/dist/config/entity.constants.d.ts +2 -2
  67. package/dist/config/entity.constants.js +2 -2
  68. package/dist/config/entity.constants.js.map +1 -1
  69. package/dist/config/mongo.config.d.ts +3 -0
  70. package/dist/config/mongo.config.js +16 -0
  71. package/dist/config/mongo.config.js.map +1 -0
  72. package/dist/config/source.hash.d.ts +1 -0
  73. package/dist/config/source.hash.js +1 -0
  74. package/dist/config/source.hash.js.map +1 -1
  75. package/dist/development/controllers/development.catalog.controller.d.ts +53 -0
  76. package/dist/development/controllers/development.catalog.controller.js +112 -0
  77. package/dist/development/controllers/development.catalog.controller.js.map +1 -0
  78. package/dist/development/controllers/index.d.ts +1 -0
  79. package/dist/development/controllers/index.js +1 -0
  80. package/dist/development/controllers/index.js.map +1 -1
  81. package/dist/development/development.module.js +2 -1
  82. package/dist/development/development.module.js.map +1 -1
  83. package/dist/development/dtos/column.catalog.attributes.dto.d.ts +10 -0
  84. package/dist/development/dtos/column.catalog.attributes.dto.js +58 -0
  85. package/dist/development/dtos/column.catalog.attributes.dto.js.map +1 -0
  86. package/dist/development/dtos/index.d.ts +2 -0
  87. package/dist/development/dtos/index.js +19 -0
  88. package/dist/development/dtos/index.js.map +1 -0
  89. package/dist/development/dtos/material.view.catalog.attributes.dto.d.ts +25 -0
  90. package/dist/development/dtos/material.view.catalog.attributes.dto.js +114 -0
  91. package/dist/development/dtos/material.view.catalog.attributes.dto.js.map +1 -0
  92. package/dist/development/es6.classes.d.ts +10 -3
  93. package/dist/development/es6.classes.js +10 -3
  94. package/dist/development/es6.classes.js.map +1 -1
  95. package/dist/development/gates/index.d.ts +1 -0
  96. package/dist/{accessUtility/types → development/gates}/index.js +1 -1
  97. package/dist/development/gates/index.js.map +1 -0
  98. package/dist/development/gates/reporting.catalog.gate.d.ts +8 -0
  99. package/dist/development/gates/reporting.catalog.gate.js +39 -0
  100. package/dist/development/gates/reporting.catalog.gate.js.map +1 -0
  101. package/dist/development/index.d.ts +2 -0
  102. package/dist/development/index.js +2 -0
  103. package/dist/development/index.js.map +1 -1
  104. package/dist/development/services/admin.report.view.service.d.ts +92 -0
  105. package/dist/development/services/admin.report.view.service.js +459 -0
  106. package/dist/development/services/admin.report.view.service.js.map +1 -0
  107. package/dist/development/services/index.d.ts +1 -0
  108. package/dist/development/services/index.js +1 -0
  109. package/dist/development/services/index.js.map +1 -1
  110. package/dist/main.js +1 -1
  111. package/dist/main.js.map +1 -1
  112. package/dist/mcp/admin/tools/admin.tool.registry.js +14 -0
  113. package/dist/mcp/admin/tools/admin.tool.registry.js.map +1 -1
  114. package/dist/mcp/admin/tools/catalog/admin.catalog.validate.tool.d.ts +16 -0
  115. package/dist/mcp/admin/tools/catalog/admin.catalog.validate.tool.js +22 -0
  116. package/dist/mcp/admin/tools/catalog/admin.catalog.validate.tool.js.map +1 -0
  117. package/dist/mcp/admin/tools/catalog/admin.column.describe.tool.d.ts +30 -0
  118. package/dist/mcp/admin/tools/catalog/admin.column.describe.tool.js +37 -0
  119. package/dist/mcp/admin/tools/catalog/admin.column.describe.tool.js.map +1 -0
  120. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.d.ts +22 -0
  121. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.js +31 -0
  122. package/dist/mcp/admin/tools/catalog/admin.view.columns.sync.tool.js.map +1 -0
  123. package/dist/mcp/admin/tools/catalog/admin.view.register.tool.d.ts +22 -0
  124. package/dist/mcp/admin/tools/catalog/admin.view.register.tool.js +28 -0
  125. package/dist/mcp/admin/tools/catalog/admin.view.register.tool.js.map +1 -0
  126. package/dist/mcp/admin/tools/catalog/admin.view.sample.tool.d.ts +21 -0
  127. package/dist/mcp/admin/tools/catalog/admin.view.sample.tool.js +32 -0
  128. package/dist/mcp/admin/tools/catalog/admin.view.sample.tool.js.map +1 -0
  129. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.d.ts +22 -0
  130. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.js +29 -0
  131. package/dist/mcp/admin/tools/catalog/admin.view.update.tool.js.map +1 -0
  132. package/dist/mcp/admin/tools/catalog/admin.views.list.tool.d.ts +10 -0
  133. package/dist/mcp/admin/tools/catalog/admin.views.list.tool.js +20 -0
  134. package/dist/mcp/admin/tools/catalog/admin.views.list.tool.js.map +1 -0
  135. package/dist/mcp/admin/tools/catalog/index.d.ts +7 -0
  136. package/dist/mcp/admin/tools/catalog/index.js +24 -0
  137. package/dist/mcp/admin/tools/catalog/index.js.map +1 -0
  138. package/dist/mcp/admin/tools/form_script/form.script.create.tool.js.map +1 -1
  139. package/dist/mcp/admin/tools/form_script/form.script.list.tool.js.map +1 -1
  140. package/dist/mcp/admin/tools/form_script/form.script.update.tool.js.map +1 -1
  141. package/dist/mcp/admin/tools/index.d.ts +1 -0
  142. package/dist/mcp/admin/tools/index.js +1 -0
  143. package/dist/mcp/admin/tools/index.js.map +1 -1
  144. package/dist/mcp/admin/tools/report/report.create.tool.js.map +1 -1
  145. package/dist/mcp/admin/tools/report/report.update.tool.js.map +1 -1
  146. package/dist/mcp/auth/mcp.idempotency.store.js +3 -1
  147. package/dist/mcp/auth/mcp.idempotency.store.js.map +1 -1
  148. package/dist/mcp/catalog/assert.valid.catalog.d.ts +3 -0
  149. package/dist/mcp/catalog/assert.valid.catalog.js +2 -0
  150. package/dist/mcp/catalog/assert.valid.catalog.js.map +1 -1
  151. package/dist/mcp/es6.classes.d.ts +54 -8
  152. package/dist/mcp/es6.classes.js +74 -12
  153. package/dist/mcp/es6.classes.js.map +1 -1
  154. package/dist/mcp/http/mcp.http.module.js +5 -2
  155. package/dist/mcp/http/mcp.http.module.js.map +1 -1
  156. package/dist/mcp/index.d.ts +2 -0
  157. package/dist/mcp/index.js +2 -0
  158. package/dist/mcp/index.js.map +1 -1
  159. package/dist/mcp/logging/index.d.ts +3 -0
  160. package/dist/mcp/logging/index.js +20 -0
  161. package/dist/mcp/logging/index.js.map +1 -0
  162. package/dist/mcp/logging/mcp.call.log.interceptor.d.ts +16 -0
  163. package/dist/mcp/logging/mcp.call.log.interceptor.js +140 -0
  164. package/dist/mcp/logging/mcp.call.log.interceptor.js.map +1 -0
  165. package/dist/mcp/logging/mcp.call.log.writer.d.ts +11 -0
  166. package/dist/mcp/logging/mcp.call.log.writer.js +62 -0
  167. package/dist/mcp/logging/mcp.call.log.writer.js.map +1 -0
  168. package/dist/mcp/logging/sanitize.mcp.call.log.d.ts +44 -0
  169. package/dist/mcp/logging/sanitize.mcp.call.log.js +112 -0
  170. package/dist/mcp/logging/sanitize.mcp.call.log.js.map +1 -0
  171. package/dist/mcp/mcp.module.d.ts +1 -1
  172. package/dist/mcp/mcp.module.js.map +1 -1
  173. package/dist/mcp/mentities/index.d.ts +1 -0
  174. package/dist/mcp/mentities/index.js +18 -0
  175. package/dist/mcp/mentities/index.js.map +1 -0
  176. package/dist/mcp/mentities/mcp.call.log.mentity.d.ts +17 -0
  177. package/dist/mcp/mentities/mcp.call.log.mentity.js +79 -0
  178. package/dist/mcp/mentities/mcp.call.log.mentity.js.map +1 -0
  179. package/dist/mcp/tools/index.d.ts +3 -0
  180. package/dist/mcp/tools/index.js +3 -0
  181. package/dist/mcp/tools/index.js.map +1 -1
  182. package/dist/mcp/tools/reports.run.tool.js.map +1 -1
  183. package/dist/mcp/tools/tool.registry.js +4 -21
  184. package/dist/mcp/tools/tool.registry.js.map +1 -1
  185. package/dist/mcp/tools/view.describe.tool.d.ts +17 -0
  186. package/dist/mcp/tools/view.describe.tool.js +23 -0
  187. package/dist/mcp/tools/view.describe.tool.js.map +1 -0
  188. package/dist/mcp/tools/view.query.tool.d.ts +75 -0
  189. package/dist/mcp/tools/view.query.tool.js +51 -0
  190. package/dist/mcp/tools/view.query.tool.js.map +1 -0
  191. package/dist/mcp/tools/views.list.tool.d.ts +10 -0
  192. package/dist/mcp/tools/views.list.tool.js +20 -0
  193. package/dist/mcp/tools/views.list.tool.js.map +1 -0
  194. package/package.json +2 -2
  195. package/dist/accessUtility/types/bulk.upload.item.record.js.map +0 -1
  196. package/dist/accessUtility/types/index.d.ts +0 -1
  197. package/dist/accessUtility/types/index.js.map +0 -1
  198. /package/dist/accessUtility/{types/bulk.upload.item.record.d.ts → interfaces/bulk.upload.item.record.interface.d.ts} +0 -0
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportViewQueryCompiler = exports.ReportViewQueryError = exports.REPORT_VIEW_GRAMMAR = exports.STATEMENT_TIMEOUT_MS = exports.GROUP_BY_CAP = exports.OFFSET_CAP = exports.DEFAULT_ROW_CAP = exports.SORT_DIRS = exports.BUCKETS = exports.AGG_FNS = exports.OPS = void 0;
4
+ exports.compileReportViewQuery = compileReportViewQuery;
5
+ exports.agentVisibleColumns = agentVisibleColumns;
6
+ exports.quoteIdent = quoteIdent;
7
+ exports.resolveRelativeDate = resolveRelativeDate;
8
+ exports.nearest = nearest;
9
+ exports.OPS = ['eq', 'neq', 'in', 'not_in', 'gt', 'gte', 'lt', 'lte', 'between', 'contains', 'is_null', 'not_null'];
10
+ exports.AGG_FNS = ['count', 'count_distinct', 'sum', 'avg', 'min', 'max'];
11
+ exports.BUCKETS = ['day', 'week', 'month', 'quarter', 'year'];
12
+ exports.SORT_DIRS = ['asc', 'desc'];
13
+ exports.DEFAULT_ROW_CAP = 500;
14
+ exports.OFFSET_CAP = 10_000;
15
+ exports.GROUP_BY_CAP = 3;
16
+ exports.STATEMENT_TIMEOUT_MS = 2000;
17
+ const IDENT = /^[a-z][a-z0-9_]*$/;
18
+ const NUMERIC_AGG = new Set(['sum', 'avg', 'min', 'max']);
19
+ const RELATIVE_DATE = /^@today(?:([+-])(\d+)d)?$/;
20
+ const RELATIVE_DATE_TZ = 'Asia/Kolkata';
21
+ exports.REPORT_VIEW_GRAMMAR = {
22
+ operators: [
23
+ { op: 'eq', value: 'scalar' },
24
+ { op: 'neq', value: 'scalar' },
25
+ { op: 'in', value: 'array' },
26
+ { op: 'not_in', value: 'array' },
27
+ { op: 'gt', value: 'scalar' },
28
+ { op: 'gte', value: 'scalar' },
29
+ { op: 'lt', value: 'scalar' },
30
+ { op: 'lte', value: 'scalar' },
31
+ { op: 'between', value: '[from, to]' },
32
+ {
33
+ op: 'contains',
34
+ value: 'bare string — wildcards escaped, compiled as ILIKE %value%. Do not send % or SQL LIKE syntax.',
35
+ },
36
+ { op: 'is_null', value: 'none' },
37
+ { op: 'not_null', value: 'none' },
38
+ ],
39
+ aggregates: [...exports.AGG_FNS],
40
+ buckets: [...exports.BUCKETS],
41
+ sort_dirs: [...exports.SORT_DIRS],
42
+ relative_dates: {
43
+ tokens: ['@today', '@today-Nd', '@today+Nd'],
44
+ example: '@today-30d',
45
+ timezone: RELATIVE_DATE_TZ,
46
+ note: 'Resolved server-side to an ISO calendar date. Do not compute today in the client.',
47
+ },
48
+ rails: {
49
+ tenancy: 'injected',
50
+ limit_cap: exports.DEFAULT_ROW_CAP,
51
+ group_by_cap: exports.GROUP_BY_CAP,
52
+ offset_cap: exports.OFFSET_CAP,
53
+ statement_timeout_ms: exports.STATEMENT_TIMEOUT_MS,
54
+ },
55
+ };
56
+ class ReportViewQueryError extends Error {
57
+ constructor(code, message) {
58
+ super(message);
59
+ this.code = code;
60
+ this.name = 'ReportViewQueryError';
61
+ }
62
+ }
63
+ exports.ReportViewQueryError = ReportViewQueryError;
64
+ function compileReportViewQuery(view, dsl, businessId, options = {}) {
65
+ if (!Number.isFinite(businessId) || businessId <= 0) {
66
+ throw new ReportViewQueryError('unknown_column', 'business_id is injected from the caller and cannot be supplied in the DSL.');
67
+ }
68
+ const agentColumns = agentVisibleColumns(view);
69
+ const byName = new Map(agentColumns.map((column) => [column.name, column]));
70
+ const names = agentColumns.map((column) => column.name);
71
+ assertNoTenancyLeak(dsl, view, names);
72
+ const aggregates = dsl.aggregates || [];
73
+ const groupBy = dsl.group_by || [];
74
+ const isAggregate = aggregates.length > 0 || groupBy.length > 0;
75
+ if (groupBy.length > exports.GROUP_BY_CAP) {
76
+ throw new ReportViewQueryError('group_by_limit', `group_by_limit: at most ${exports.GROUP_BY_CAP} group_by columns are allowed.`);
77
+ }
78
+ const offset = dsl.offset === undefined ? 0 : assertInt(dsl.offset, 'offset');
79
+ if (offset < 0)
80
+ throw new ReportViewQueryError('offset_limit', 'offset_limit: offset must be ≥ 0.');
81
+ if (offset > exports.OFFSET_CAP) {
82
+ throw new ReportViewQueryError('offset_limit', `offset_limit: offset must be ≤ ${exports.OFFSET_CAP}.`);
83
+ }
84
+ const rowCap = Math.min(Math.max(view.row_cap || exports.DEFAULT_ROW_CAP, 1), exports.DEFAULT_ROW_CAP);
85
+ const requested = dsl.limit === undefined ? rowCap : assertInt(dsl.limit, 'limit');
86
+ if (requested <= 0)
87
+ throw new ReportViewQueryError('limit', 'limit must be a positive integer.');
88
+ const limit = Math.min(requested, rowCap);
89
+ const now = options.now || new Date();
90
+ const params = [businessId];
91
+ const select = [];
92
+ const output = [];
93
+ const selectNames = new Set();
94
+ const addOutput = (column) => {
95
+ output.push({
96
+ name: column.name,
97
+ title: column.display_name || column.name,
98
+ type: column.semantic_type || 'string',
99
+ ...(column.format ? { format: column.format } : {}),
100
+ ...(column.enum_map ? { enum_map: column.enum_map } : {}),
101
+ });
102
+ selectNames.add(column.name);
103
+ };
104
+ if (isAggregate) {
105
+ for (const group of groupBy) {
106
+ const column = requireColumn(group.column, byName, names, view.catalog_name);
107
+ if (column.groupable === false) {
108
+ throw new ReportViewQueryError('not_groupable', `not_groupable: column '${column.name}' cannot be grouped.`);
109
+ }
110
+ if (group.bucket) {
111
+ if (column.bucketable !== true) {
112
+ throw new ReportViewQueryError('not_bucketable', `not_bucketable: column '${column.name}' is not bucketable.`);
113
+ }
114
+ const bucket = requireAllowlisted(group.bucket, exports.BUCKETS, 'bucket');
115
+ select.push(`date_trunc('${bucket}', ${quoteIdent(column.name)}) AS ${quoteIdent(column.name)}`);
116
+ }
117
+ else {
118
+ select.push(quoteIdent(column.name));
119
+ }
120
+ addOutput(column);
121
+ }
122
+ for (const aggregate of aggregates) {
123
+ const fn = requireAllowlisted(aggregate.fn, exports.AGG_FNS, 'aggregate');
124
+ const alias = resolveAlias(aggregate, fn);
125
+ if (selectNames.has(alias)) {
126
+ throw new ReportViewQueryError('unknown_column', `unknown_column: aggregate alias '${alias}' collides with another selected name.`);
127
+ }
128
+ if (fn === 'count' && !aggregate.column) {
129
+ select.push(`COUNT(*) AS ${quoteIdent(alias)}`);
130
+ }
131
+ else {
132
+ const column = requireColumn(aggregate.column, byName, names, view.catalog_name);
133
+ assertAggregatable(column, fn);
134
+ if (fn === 'count')
135
+ select.push(`COUNT(${quoteIdent(column.name)}) AS ${quoteIdent(alias)}`);
136
+ else if (fn === 'count_distinct')
137
+ select.push(`COUNT(DISTINCT ${quoteIdent(column.name)}) AS ${quoteIdent(alias)}`);
138
+ else
139
+ select.push(`${fn.toUpperCase()}(${quoteIdent(column.name)}) AS ${quoteIdent(alias)}`);
140
+ }
141
+ addOutput({ name: alias, display_name: alias, semantic_type: 'number' });
142
+ }
143
+ const selectedNonAgg = (dsl.columns || []).filter((name) => !aggregates.some((aggregate) => resolveAlias(aggregate, aggregate.fn) === name));
144
+ for (const name of selectedNonAgg) {
145
+ if (!selectNames.has(name)) {
146
+ throw new ReportViewQueryError('not_groupable', `not_groupable: selected column '${name}' must appear in group_by when aggregating.`);
147
+ }
148
+ }
149
+ }
150
+ else {
151
+ const requestedCols = dsl.columns?.length ? dsl.columns : names;
152
+ for (const name of requestedCols) {
153
+ const column = requireColumn(name, byName, names, view.catalog_name);
154
+ select.push(quoteIdent(column.name));
155
+ addOutput(column);
156
+ }
157
+ if (!select.length) {
158
+ throw new ReportViewQueryError('unknown_column', `unknown_column: view '${view.catalog_name}' has no selectable columns.`);
159
+ }
160
+ }
161
+ const where = [`${quoteIdent(view.tenancy_column)} = $1`];
162
+ for (const filter of dsl.filters || []) {
163
+ const column = requireColumn(filter.column, byName, names, view.catalog_name);
164
+ if (column.filterable === false) {
165
+ throw new ReportViewQueryError('not_filterable', `not_filterable: column '${column.name}' cannot be filtered.`);
166
+ }
167
+ const op = requireAllowlisted(filter.op, exports.OPS, 'op');
168
+ where.push(compileFilter(column, op, filter.value, params, now));
169
+ }
170
+ const sql = [`SELECT ${select.join(', ')}`, `FROM ${quoteIdent(view.table_name)}`, `WHERE ${where.join(' AND ')}`];
171
+ if (groupBy.length) {
172
+ sql.push(`GROUP BY ${groupBy.map((_, index) => String(index + 1)).join(', ')}`);
173
+ }
174
+ if (dsl.sort?.length) {
175
+ const order = dsl.sort.map((item) => {
176
+ const by = String(item.by || '');
177
+ if (!selectNames.has(by)) {
178
+ throw unknownColumn(by, [...selectNames], view.catalog_name);
179
+ }
180
+ const dir = item.dir ? requireAllowlisted(String(item.dir).toLowerCase(), exports.SORT_DIRS, 'dir') : 'asc';
181
+ return `${quoteIdent(by)} ${dir.toUpperCase()}`;
182
+ });
183
+ sql.push(`ORDER BY ${order.join(', ')}`);
184
+ }
185
+ params.push(limit + 1, offset);
186
+ sql.push(`LIMIT $${params.length - 1} OFFSET $${params.length}`);
187
+ return {
188
+ sql: sql.join(' '),
189
+ params,
190
+ limit,
191
+ offset,
192
+ fetchLimit: limit + 1,
193
+ output,
194
+ view: {
195
+ name: view.catalog_name,
196
+ grain: view.grain,
197
+ table_name: view.table_name,
198
+ refreshed_at: view.last_run_time ?? null,
199
+ },
200
+ };
201
+ }
202
+ function agentVisibleColumns(view) {
203
+ return (view.columns || []).filter((column) => {
204
+ if (!column?.name || column.name === view.tenancy_column || column.name === 'business_id')
205
+ return false;
206
+ if (column.visibility === false)
207
+ return false;
208
+ if (column.sensitive === true)
209
+ return false;
210
+ return true;
211
+ });
212
+ }
213
+ function quoteIdent(name) {
214
+ if (!IDENT.test(name))
215
+ throw new ReportViewQueryError('unknown_column', `unknown_column: '${name}' is not a valid identifier.`);
216
+ return `"${name}"`;
217
+ }
218
+ function requireColumn(name, byName, names, viewName) {
219
+ const key = String(name || '');
220
+ if (key === 'business_id')
221
+ throw unknownColumn(key, names, viewName);
222
+ const column = byName.get(key);
223
+ if (!column)
224
+ throw unknownColumn(key, names, viewName);
225
+ return column;
226
+ }
227
+ function unknownColumn(name, names, viewName) {
228
+ const suggestions = nearest(name, names, 3);
229
+ const hint = suggestions.length ? ` Did you mean ${suggestions.join(', ')}?` : '';
230
+ return new ReportViewQueryError('unknown_column', `unknown_column: '${name}' is not a column on ${viewName}.${hint}`);
231
+ }
232
+ function requireAllowlisted(value, allowed, kind) {
233
+ const raw = String(value || '');
234
+ if (kind === 'op' && raw === 'like') {
235
+ throw new ReportViewQueryError('unknown_column', "unknown_column: 'like' is not a valid op. Use contains with a bare string — wildcards are applied server-side.");
236
+ }
237
+ if (allowed.includes(raw))
238
+ return raw;
239
+ throw new ReportViewQueryError('unknown_column', `unknown_column: '${raw}' is not a valid ${kind}.`);
240
+ }
241
+ function resolveAlias(aggregate, fn) {
242
+ if (aggregate.as) {
243
+ if (!IDENT.test(aggregate.as)) {
244
+ throw new ReportViewQueryError('unknown_column', `unknown_column: alias '${aggregate.as}' is not a valid identifier.`);
245
+ }
246
+ return aggregate.as;
247
+ }
248
+ return aggregate.column ? `${fn}_${aggregate.column}` : fn;
249
+ }
250
+ function assertAggregatable(column, fn) {
251
+ const allowed = Array.isArray(column.aggregatable)
252
+ ? column.aggregatable
253
+ : fn === 'count' || fn === 'count_distinct' || column.semantic_type === 'money'
254
+ ? ['count', 'count_distinct', 'sum', 'avg', 'min', 'max']
255
+ : ['count', 'count_distinct'];
256
+ if (!allowed.includes(fn)) {
257
+ const suggestion = allowed.includes('count') ? ' Did you mean count?' : '';
258
+ throw new ReportViewQueryError('aggregate_not_allowed', `aggregate_not_allowed: ${fn} on ${column.name} is not allowed.${suggestion}`);
259
+ }
260
+ if (NUMERIC_AGG.has(fn) &&
261
+ column.semantic_type &&
262
+ !['money', 'percent'].includes(column.semantic_type) &&
263
+ Array.isArray(column.aggregatable) &&
264
+ !column.aggregatable.includes(fn)) {
265
+ throw new ReportViewQueryError('aggregate_not_allowed', `aggregate_not_allowed: ${fn} on ${column.name} — did you mean count?`);
266
+ }
267
+ }
268
+ function compileFilter(column, op, value, params, now) {
269
+ const ident = quoteIdent(column.name);
270
+ if (op === 'is_null')
271
+ return `${ident} IS NULL`;
272
+ if (op === 'not_null')
273
+ return `${ident} IS NOT NULL`;
274
+ if (op === 'in' || op === 'not_in') {
275
+ const list = Array.isArray(value) ? value : null;
276
+ if (!list?.length)
277
+ throw new ReportViewQueryError('value_type_mismatch', `value_type_mismatch: ${op} on ${column.name} needs a non-empty array.`);
278
+ const placeholders = list.map((item) => bind(params, mapEnum(column, resolveRelativeDate(item, now))));
279
+ return op === 'in' ? `${ident} IN (${placeholders.join(', ')})` : `${ident} NOT IN (${placeholders.join(', ')})`;
280
+ }
281
+ if (op === 'between') {
282
+ const pair = Array.isArray(value) ? value : null;
283
+ if (pair?.length !== 2) {
284
+ throw new ReportViewQueryError('value_type_mismatch', `value_type_mismatch: between on ${column.name} needs [from, to].`);
285
+ }
286
+ return `${ident} BETWEEN ${bind(params, mapEnum(column, resolveRelativeDate(pair[0], now)))} AND ${bind(params, mapEnum(column, resolveRelativeDate(pair[1], now)))}`;
287
+ }
288
+ if (op === 'contains') {
289
+ if (typeof value !== 'string') {
290
+ throw new ReportViewQueryError('value_type_mismatch', `value_type_mismatch: contains on ${column.name} needs a string.`);
291
+ }
292
+ return `${ident} ILIKE ${bind(params, `%${escapeLike(value)}%`)} ESCAPE '\\\\'`;
293
+ }
294
+ if (value === undefined || value === null || Array.isArray(value)) {
295
+ throw new ReportViewQueryError('value_type_mismatch', `value_type_mismatch: ${op} on ${column.name} needs a single value.`);
296
+ }
297
+ const mapped = mapEnum(column, resolveRelativeDate(value, now));
298
+ const sqlOp = { eq: '=', neq: '<>', gt: '>', gte: '>=', lt: '<', lte: '<=' }[op];
299
+ return `${ident} ${sqlOp} ${bind(params, mapped)}`;
300
+ }
301
+ function resolveRelativeDate(value, now) {
302
+ if (typeof value !== 'string')
303
+ return value;
304
+ if (value.startsWith('@') && !RELATIVE_DATE.test(value)) {
305
+ throw new ReportViewQueryError('value_type_mismatch', 'value_type_mismatch: relative dates must be @today or @today±Nd (e.g. @today-30d). Do not compute today in the client.');
306
+ }
307
+ const match = value.match(RELATIVE_DATE);
308
+ if (!match)
309
+ return value;
310
+ const today = calendarDate(now, RELATIVE_DATE_TZ);
311
+ if (!match[1])
312
+ return today;
313
+ const delta = Number(match[2]) * (match[1] === '-' ? -1 : 1);
314
+ return addCalendarDays(today, delta);
315
+ }
316
+ function calendarDate(now, timeZone) {
317
+ return new Intl.DateTimeFormat('en-CA', { timeZone, year: 'numeric', month: '2-digit', day: '2-digit' }).format(now);
318
+ }
319
+ function addCalendarDays(isoDate, days) {
320
+ const [year, month, day] = isoDate.split('-').map(Number);
321
+ const utc = new Date(Date.UTC(year, month - 1, day + days));
322
+ return utc.toISOString().slice(0, 10);
323
+ }
324
+ function mapEnum(column, value) {
325
+ const map = column.enum_map;
326
+ if (!map || value === undefined || value === null || typeof value === 'object')
327
+ return value;
328
+ const raw = String(value);
329
+ if (Object.prototype.hasOwnProperty.call(map, raw))
330
+ return raw;
331
+ const match = Object.entries(map).find(([, label]) => String(label).toLowerCase() === raw.toLowerCase());
332
+ return match ? match[0] : value;
333
+ }
334
+ function bind(params, value) {
335
+ params.push(value);
336
+ return `$${params.length}`;
337
+ }
338
+ function escapeLike(value) {
339
+ return value.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/_/g, '\\_');
340
+ }
341
+ function assertInt(value, field) {
342
+ const n = Number(value);
343
+ if (!Number.isInteger(n))
344
+ throw new ReportViewQueryError('value_type_mismatch', `value_type_mismatch: ${field} must be an integer.`);
345
+ return n;
346
+ }
347
+ function assertNoTenancyLeak(dsl, view, names) {
348
+ const banned = new Set([view.tenancy_column, 'business_id']);
349
+ const check = (value) => {
350
+ const key = String(value || '');
351
+ if (banned.has(key))
352
+ throw unknownColumn(key, names, view.catalog_name);
353
+ };
354
+ (dsl.columns || []).forEach(check);
355
+ for (const filter of dsl.filters || [])
356
+ check(filter.column);
357
+ for (const group of dsl.group_by || [])
358
+ check(group.column);
359
+ for (const aggregate of dsl.aggregates || []) {
360
+ check(aggregate.column);
361
+ if (aggregate.as)
362
+ check(aggregate.as);
363
+ }
364
+ for (const item of dsl.sort || [])
365
+ check(item.by);
366
+ }
367
+ function nearest(input, names, n) {
368
+ const needle = String(input || '').toLowerCase();
369
+ return names
370
+ .map((name) => ({ name, d: levenshtein(needle, name.toLowerCase()) }))
371
+ .sort((a, b) => a.d - b.d || a.name.localeCompare(b.name))
372
+ .slice(0, n)
373
+ .filter((row) => row.d <= Math.max(3, Math.floor(needle.length / 2) + 1))
374
+ .map((row) => row.name);
375
+ }
376
+ function levenshtein(a, b) {
377
+ const rows = a.length + 1;
378
+ const cols = b.length + 1;
379
+ const grid = Array.from({ length: rows }, () => new Array(cols).fill(0));
380
+ for (let i = 0; i < rows; i++)
381
+ grid[i][0] = i;
382
+ for (let j = 0; j < cols; j++)
383
+ grid[0][j] = j;
384
+ for (let i = 1; i < rows; i++) {
385
+ for (let j = 1; j < cols; j++) {
386
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
387
+ grid[i][j] = Math.min(grid[i - 1][j] + 1, grid[i][j - 1] + 1, grid[i - 1][j - 1] + cost);
388
+ }
389
+ }
390
+ return grid[a.length][b.length];
391
+ }
392
+ exports.ReportViewQueryCompiler = {
393
+ compileReportViewQuery,
394
+ agentVisibleColumns,
395
+ quoteIdent,
396
+ resolveRelativeDate,
397
+ nearest,
398
+ };
399
+ //# sourceMappingURL=report.view.query.compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.view.query.compiler.js","sourceRoot":"","sources":["../../../src/access/libraries/report.view.query.compiler.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,10 @@ let CredentialResolveService = class CredentialResolveService {
61
61
  throw new nestjs_utility_services_1.OperationException('This user is blocked from the platform');
62
62
  }
63
63
  if (resolved.kind === 'user') {
64
+ const scopes = normalizeScopes(resolved.scope);
64
65
  nestjs_utility_services_1.Auth.login({
65
66
  ...accessObject,
67
+ roles: Array.isArray(accessObject?.roles) ? accessObject.roles : [],
66
68
  req: { ip },
67
69
  client_id: resolved.clientId,
68
70
  business_id: resolved.businessId,
@@ -71,8 +73,8 @@ let CredentialResolveService = class CredentialResolveService {
71
73
  product_id: product_type_enum_1.ProductTypeEnum.EMPLOYEE,
72
74
  api_key_kind: 'user',
73
75
  client_id: resolved.clientId,
74
- scope: resolved.scope?.length ? resolved.scope : ['mcp'],
75
- read_only: resolved.scope?.length === 1 && resolved.scope[0] === 'reporting:read',
76
+ scope: scopes.length ? scopes : ['mcp'],
77
+ read_only: scopes.length === 1 && scopes[0] === 'reporting:read',
76
78
  },
77
79
  });
78
80
  return;
@@ -81,8 +83,12 @@ let CredentialResolveService = class CredentialResolveService {
81
83
  client_id: resolved.clientId,
82
84
  business_id: resolved.businessId,
83
85
  api_key_kind: 'api',
86
+ scope: ['mcp'],
84
87
  };
85
- nestjs_utility_services_1.Auth.login(accessObject);
88
+ nestjs_utility_services_1.Auth.login({
89
+ ...accessObject,
90
+ roles: Array.isArray(accessObject?.roles) ? accessObject.roles : [],
91
+ });
86
92
  }
87
93
  async touchUserSecretActivity(userId, clientId) {
88
94
  await user_business_secret_entity_1.UserBusinessSecretEntity.update({ user_id: userId, client_id: clientId }, { last_activity_at: new Date() });
@@ -106,4 +112,13 @@ exports.CredentialResolveService = CredentialResolveService = __decorate([
106
112
  user_business_access_service_1.UserBusinessAccessService,
107
113
  nestjs_utility_services_1.AuthService])
108
114
  ], CredentialResolveService);
115
+ function normalizeScopes(scope) {
116
+ if (scope == null || scope === '')
117
+ return [];
118
+ const parts = Array.isArray(scope) ? scope : String(scope).split(/[\s,]+/);
119
+ return parts
120
+ .flatMap((entry) => String(entry).split(/[\s,]+/))
121
+ .map((entry) => entry.trim())
122
+ .filter(Boolean);
123
+ }
109
124
  //# sourceMappingURL=credential.resolve.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential.resolve.service.js","sourceRoot":"","sources":["../../../src/access/services/credential.resolve.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential.resolve.service.js","sourceRoot":"","sources":["../../../src/access/services/credential.resolve.service.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,6 @@ import { EmailTemplateLogJob } from '../jobs/email.template.log.job';
40
40
  import { EmailTemplateRecipientJob } from '../jobs/email.template.recipient.job';
41
41
  import { EvaluateEmailRuleJob } from '../jobs/evaluate.email.rule.job';
42
42
  import { EventTriggerJob } from '../jobs/event.trigger.job';
43
- import { FormScriptJob } from '../jobs/form.script.job';
44
43
  import { EventTriggerLogJob } from '../jobs/event.trigger.log.job';
45
44
  import { ExecuteBusinessScriptJob } from '../jobs/execute.business.script.job';
46
45
  import { ExecutionLogJob } from '../jobs/execution.log.job';
@@ -50,6 +49,7 @@ import { FcmTemplateJob } from '../jobs/fcm.template.job';
50
49
  import { FcmTokenJob } from '../jobs/fcm.token.job';
51
50
  import { FeatureJob } from '../jobs/feature.job';
52
51
  import { FeatureMenuJob } from '../jobs/feature.menu.job';
52
+ import { FormScriptJob } from '../jobs/form.script.job';
53
53
  import { GchatIncomingWebhookJob } from '../jobs/gchat.incoming.webhook.job';
54
54
  import { GchatMessageJob } from '../jobs/gchat.message.job';
55
55
  import { GchatTemplateJob } from '../jobs/gchat.template.job';
@@ -157,7 +157,6 @@ export declare class Es6JobsService {
157
157
  private readonly emailTemplateRecipientJob;
158
158
  private readonly evaluateEmailRuleJob;
159
159
  private readonly eventTriggerJob;
160
- private readonly formScriptJob;
161
160
  private readonly eventTriggerLogJob;
162
161
  private readonly executeBusinessScriptJob;
163
162
  private readonly executionLogJob;
@@ -167,6 +166,7 @@ export declare class Es6JobsService {
167
166
  private readonly fcmTokenJob;
168
167
  private readonly featureJob;
169
168
  private readonly featureMenuJob;
169
+ private readonly formScriptJob;
170
170
  private readonly gchatIncomingWebhookJob;
171
171
  private readonly gchatMessageJob;
172
172
  private readonly gchatTemplateJob;
@@ -232,7 +232,7 @@ export declare class Es6JobsService {
232
232
  private readonly whatsappTemplateJob;
233
233
  private readonly whitelistedWhatsappNumberJob;
234
234
  private jobs;
235
- constructor(accessTestJob: AccessTestJob, apiAccountJob: ApiAccountJob, appIntegrationJob: AppIntegrationJob, businessAppIntegrationCredentialJob: BusinessAppIntegrationCredentialJob, businessAppIntegrationJob: BusinessAppIntegrationJob, businessAppIntegrationMessagesJob: BusinessAppIntegrationMessagesJob, businessCurrencyJob: BusinessCurrencyJob, businessDownloadableReportJob: BusinessDownloadableReportJob, businessEmailJob: BusinessEmailJob, businessFeatureJob: BusinessFeatureJob, businessGroupRoleJob: BusinessGroupRoleJob, businessMenuJob: BusinessMenuJob, businessPreferenceJob: BusinessPreferenceJob, businessPropertyJob: BusinessPropertyJob, businessReportJob: BusinessReportJob, businessScriptJob: BusinessScriptJob, businessUserGroupJob: BusinessUserGroupJob, businessUserJob: BusinessUserJob, businessUserNotificationPreferenceJob: BusinessUserNotificationPreferenceJob, businessUserRoleJob: BusinessUserRoleJob, businessWebhookJob: BusinessWebhookJob, bzNotificationChannelPreferenceJob: BzNotificationChannelPreferenceJob, captureEventTriggerJob: CaptureEventTriggerJob, childMenuJob: ChildMenuJob, choiceListJob: ChoiceListJob, choiceTypeJob: ChoiceTypeJob, conversationJob: ConversationJob, currencyRateJob: CurrencyRateJob, customFieldJob: CustomFieldJob, customReportJob: CustomReportJob, dashboardComponentJob: DashboardComponentJob, dashboardJob: DashboardJob, downloadLogJob: DownloadLogJob, emailAttachmentJob: EmailAttachmentJob, emailMessageJob: EmailMessageJob, emailRecipientJob: EmailRecipientJob, emailRuleJob: EmailRuleJob, emailStyleJob: EmailStyleJob, emailTemplateLogJob: EmailTemplateLogJob, emailTemplateRecipientJob: EmailTemplateRecipientJob, evaluateEmailRuleJob: EvaluateEmailRuleJob, eventTriggerJob: EventTriggerJob, formScriptJob: FormScriptJob, eventTriggerLogJob: EventTriggerLogJob, executeBusinessScriptJob: ExecuteBusinessScriptJob, executionLogJob: ExecutionLogJob, fcmMessageJob: FcmMessageJob, fcmNotificationJob: FcmNotificationJob, fcmTemplateJob: FcmTemplateJob, fcmTokenJob: FcmTokenJob, featureJob: FeatureJob, featureMenuJob: FeatureMenuJob, gchatIncomingWebhookJob: GchatIncomingWebhookJob, gchatMessageJob: GchatMessageJob, gchatTemplateJob: GchatTemplateJob, gchatUserJob: GchatUserJob, gchatWebhookJob: GchatWebhookJob, gchatWebhookMessageJob: GchatWebhookMessageJob, generateBusinessReportJob: GenerateBusinessReportJob, gmailIntegrationFetchMessagesJob: GmailIntegrationFetchMessagesJob, groupMemberJob: GroupMemberJob, groupRoleJob: GroupRoleJob, gstMappingJob: GstMappingJob, listPreferenceJob: ListPreferenceJob, listingColumnJob: ListingColumnJob, listingPageJob: ListingPageJob, listingPreferenceJob: ListingPreferenceJob, lockScriptJob: LockScriptJob, menuActionJob: MenuActionJob, menuJob: MenuJob, menuRoleJob: MenuRoleJob, moduleJob: ModuleJob, moduleMenuJob: ModuleMenuJob, onholdDocumentJob: OnholdDocumentJob, overridingScriptJob: OverridingScriptJob, preferenceUserGroupJob: PreferenceUserGroupJob, preferenceUsersJob: PreferenceUsersJob, processServerEmailJob: ProcessServerEmailJob, productJob: ProductJob, refreshBusinessPropertyJob: RefreshBusinessPropertyJob, reportLogJob: ReportLogJob, requestLogJob: RequestLogJob, roleGroupJob: RoleGroupJob, scheduledReportEmailJob: ScheduledReportEmailJob, scheduledReportItemJob: ScheduledReportItemJob, scheduledReportJob: ScheduledReportJob, sendBusinessReportNotificationJob: SendBusinessReportNotificationJob, setBusinessScriptScheduleJob: SetBusinessScriptScheduleJob, setEmailUnreadCountJob: SetEmailUnreadCountJob, slackIncomingWebhookJob: SlackIncomingWebhookJob, slackIntegrationJob: SlackIntegrationJob, slackMessageJob: SlackMessageJob, slackTemplateJob: SlackTemplateJob, slackUserJob: SlackUserJob, slackWebhookJob: SlackWebhookJob, slackWebhookMessageJob: SlackWebhookMessageJob, syncBURoleJob: SyncBURoleJob, syncEmailMessageMetricsJob: SyncEmailMessageMetricsJob, syncEmailMessagesJob: SyncEmailMessagesJob, syncMenuJob: SyncMenuJob, uiActionJob: UiActionJob, uiActionRoleJob: UiActionRoleJob, userBusinessSecretJob: UserBusinessSecretJob, userNotificationJob: UserNotificationJob, userPreferenceJob: UserPreferenceJob, userRoleJob: UserRoleJob, watchlistAssignmentJob: WatchlistAssignmentJob, webhookEventJob: WebhookEventJob, webhookLogJob: WebhookLogJob, webhookSlugJob: WebhookSlugJob, webhookTypeJob: WebhookTypeJob, whatsappIncomingWebhookJob: WhatsappIncomingWebhookJob, whatsappMessageJob: WhatsappMessageJob, whatsappMessagePayloadDto: WhatsappMessagePayloadDto, whatsappTemplateJob: WhatsappTemplateJob, whitelistedWhatsappNumberJob: WhitelistedWhatsappNumberJob);
235
+ constructor(accessTestJob: AccessTestJob, apiAccountJob: ApiAccountJob, appIntegrationJob: AppIntegrationJob, businessAppIntegrationCredentialJob: BusinessAppIntegrationCredentialJob, businessAppIntegrationJob: BusinessAppIntegrationJob, businessAppIntegrationMessagesJob: BusinessAppIntegrationMessagesJob, businessCurrencyJob: BusinessCurrencyJob, businessDownloadableReportJob: BusinessDownloadableReportJob, businessEmailJob: BusinessEmailJob, businessFeatureJob: BusinessFeatureJob, businessGroupRoleJob: BusinessGroupRoleJob, businessMenuJob: BusinessMenuJob, businessPreferenceJob: BusinessPreferenceJob, businessPropertyJob: BusinessPropertyJob, businessReportJob: BusinessReportJob, businessScriptJob: BusinessScriptJob, businessUserGroupJob: BusinessUserGroupJob, businessUserJob: BusinessUserJob, businessUserNotificationPreferenceJob: BusinessUserNotificationPreferenceJob, businessUserRoleJob: BusinessUserRoleJob, businessWebhookJob: BusinessWebhookJob, bzNotificationChannelPreferenceJob: BzNotificationChannelPreferenceJob, captureEventTriggerJob: CaptureEventTriggerJob, childMenuJob: ChildMenuJob, choiceListJob: ChoiceListJob, choiceTypeJob: ChoiceTypeJob, conversationJob: ConversationJob, currencyRateJob: CurrencyRateJob, customFieldJob: CustomFieldJob, customReportJob: CustomReportJob, dashboardComponentJob: DashboardComponentJob, dashboardJob: DashboardJob, downloadLogJob: DownloadLogJob, emailAttachmentJob: EmailAttachmentJob, emailMessageJob: EmailMessageJob, emailRecipientJob: EmailRecipientJob, emailRuleJob: EmailRuleJob, emailStyleJob: EmailStyleJob, emailTemplateLogJob: EmailTemplateLogJob, emailTemplateRecipientJob: EmailTemplateRecipientJob, evaluateEmailRuleJob: EvaluateEmailRuleJob, eventTriggerJob: EventTriggerJob, eventTriggerLogJob: EventTriggerLogJob, executeBusinessScriptJob: ExecuteBusinessScriptJob, executionLogJob: ExecutionLogJob, fcmMessageJob: FcmMessageJob, fcmNotificationJob: FcmNotificationJob, fcmTemplateJob: FcmTemplateJob, fcmTokenJob: FcmTokenJob, featureJob: FeatureJob, featureMenuJob: FeatureMenuJob, formScriptJob: FormScriptJob, gchatIncomingWebhookJob: GchatIncomingWebhookJob, gchatMessageJob: GchatMessageJob, gchatTemplateJob: GchatTemplateJob, gchatUserJob: GchatUserJob, gchatWebhookJob: GchatWebhookJob, gchatWebhookMessageJob: GchatWebhookMessageJob, generateBusinessReportJob: GenerateBusinessReportJob, gmailIntegrationFetchMessagesJob: GmailIntegrationFetchMessagesJob, groupMemberJob: GroupMemberJob, groupRoleJob: GroupRoleJob, gstMappingJob: GstMappingJob, listPreferenceJob: ListPreferenceJob, listingColumnJob: ListingColumnJob, listingPageJob: ListingPageJob, listingPreferenceJob: ListingPreferenceJob, lockScriptJob: LockScriptJob, menuActionJob: MenuActionJob, menuJob: MenuJob, menuRoleJob: MenuRoleJob, moduleJob: ModuleJob, moduleMenuJob: ModuleMenuJob, onholdDocumentJob: OnholdDocumentJob, overridingScriptJob: OverridingScriptJob, preferenceUserGroupJob: PreferenceUserGroupJob, preferenceUsersJob: PreferenceUsersJob, processServerEmailJob: ProcessServerEmailJob, productJob: ProductJob, refreshBusinessPropertyJob: RefreshBusinessPropertyJob, reportLogJob: ReportLogJob, requestLogJob: RequestLogJob, roleGroupJob: RoleGroupJob, scheduledReportEmailJob: ScheduledReportEmailJob, scheduledReportItemJob: ScheduledReportItemJob, scheduledReportJob: ScheduledReportJob, sendBusinessReportNotificationJob: SendBusinessReportNotificationJob, setBusinessScriptScheduleJob: SetBusinessScriptScheduleJob, setEmailUnreadCountJob: SetEmailUnreadCountJob, slackIncomingWebhookJob: SlackIncomingWebhookJob, slackIntegrationJob: SlackIntegrationJob, slackMessageJob: SlackMessageJob, slackTemplateJob: SlackTemplateJob, slackUserJob: SlackUserJob, slackWebhookJob: SlackWebhookJob, slackWebhookMessageJob: SlackWebhookMessageJob, syncBURoleJob: SyncBURoleJob, syncEmailMessageMetricsJob: SyncEmailMessageMetricsJob, syncEmailMessagesJob: SyncEmailMessagesJob, syncMenuJob: SyncMenuJob, uiActionJob: UiActionJob, uiActionRoleJob: UiActionRoleJob, userBusinessSecretJob: UserBusinessSecretJob, userNotificationJob: UserNotificationJob, userPreferenceJob: UserPreferenceJob, userRoleJob: UserRoleJob, watchlistAssignmentJob: WatchlistAssignmentJob, webhookEventJob: WebhookEventJob, webhookLogJob: WebhookLogJob, webhookSlugJob: WebhookSlugJob, webhookTypeJob: WebhookTypeJob, whatsappIncomingWebhookJob: WhatsappIncomingWebhookJob, whatsappMessageJob: WhatsappMessageJob, whatsappMessagePayloadDto: WhatsappMessagePayloadDto, whatsappTemplateJob: WhatsappTemplateJob, whitelistedWhatsappNumberJob: WhitelistedWhatsappNumberJob);
236
236
  alignJobs(): void;
237
237
  setJobs(): void;
238
238
  }
@@ -53,7 +53,6 @@ const email_template_log_job_1 = require("../jobs/email.template.log.job");
53
53
  const email_template_recipient_job_1 = require("../jobs/email.template.recipient.job");
54
54
  const evaluate_email_rule_job_1 = require("../jobs/evaluate.email.rule.job");
55
55
  const event_trigger_job_1 = require("../jobs/event.trigger.job");
56
- const form_script_job_1 = require("../jobs/form.script.job");
57
56
  const event_trigger_log_job_1 = require("../jobs/event.trigger.log.job");
58
57
  const execute_business_script_job_1 = require("../jobs/execute.business.script.job");
59
58
  const execution_log_job_1 = require("../jobs/execution.log.job");
@@ -63,6 +62,7 @@ const fcm_template_job_1 = require("../jobs/fcm.template.job");
63
62
  const fcm_token_job_1 = require("../jobs/fcm.token.job");
64
63
  const feature_job_1 = require("../jobs/feature.job");
65
64
  const feature_menu_job_1 = require("../jobs/feature.menu.job");
65
+ const form_script_job_1 = require("../jobs/form.script.job");
66
66
  const gchat_incoming_webhook_job_1 = require("../jobs/gchat.incoming.webhook.job");
67
67
  const gchat_message_job_1 = require("../jobs/gchat.message.job");
68
68
  const gchat_template_job_1 = require("../jobs/gchat.template.job");
@@ -129,7 +129,7 @@ const whatsapp_template_job_1 = require("../jobs/whatsapp.template.job");
129
129
  const whitelisted_whatsapp_number_job_1 = require("../jobs/whitelisted.whatsapp.number.job");
130
130
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
131
131
  let Es6JobsService = class Es6JobsService {
132
- constructor(accessTestJob, apiAccountJob, appIntegrationJob, businessAppIntegrationCredentialJob, businessAppIntegrationJob, businessAppIntegrationMessagesJob, businessCurrencyJob, businessDownloadableReportJob, businessEmailJob, businessFeatureJob, businessGroupRoleJob, businessMenuJob, businessPreferenceJob, businessPropertyJob, businessReportJob, businessScriptJob, businessUserGroupJob, businessUserJob, businessUserNotificationPreferenceJob, businessUserRoleJob, businessWebhookJob, bzNotificationChannelPreferenceJob, captureEventTriggerJob, childMenuJob, choiceListJob, choiceTypeJob, conversationJob, currencyRateJob, customFieldJob, customReportJob, dashboardComponentJob, dashboardJob, downloadLogJob, emailAttachmentJob, emailMessageJob, emailRecipientJob, emailRuleJob, emailStyleJob, emailTemplateLogJob, emailTemplateRecipientJob, evaluateEmailRuleJob, eventTriggerJob, formScriptJob, eventTriggerLogJob, executeBusinessScriptJob, executionLogJob, fcmMessageJob, fcmNotificationJob, fcmTemplateJob, fcmTokenJob, featureJob, featureMenuJob, gchatIncomingWebhookJob, gchatMessageJob, gchatTemplateJob, gchatUserJob, gchatWebhookJob, gchatWebhookMessageJob, generateBusinessReportJob, gmailIntegrationFetchMessagesJob, groupMemberJob, groupRoleJob, gstMappingJob, listPreferenceJob, listingColumnJob, listingPageJob, listingPreferenceJob, lockScriptJob, menuActionJob, menuJob, menuRoleJob, moduleJob, moduleMenuJob, onholdDocumentJob, overridingScriptJob, preferenceUserGroupJob, preferenceUsersJob, processServerEmailJob, productJob, refreshBusinessPropertyJob, reportLogJob, requestLogJob, roleGroupJob, scheduledReportEmailJob, scheduledReportItemJob, scheduledReportJob, sendBusinessReportNotificationJob, setBusinessScriptScheduleJob, setEmailUnreadCountJob, slackIncomingWebhookJob, slackIntegrationJob, slackMessageJob, slackTemplateJob, slackUserJob, slackWebhookJob, slackWebhookMessageJob, syncBURoleJob, syncEmailMessageMetricsJob, syncEmailMessagesJob, syncMenuJob, uiActionJob, uiActionRoleJob, userBusinessSecretJob, userNotificationJob, userPreferenceJob, userRoleJob, watchlistAssignmentJob, webhookEventJob, webhookLogJob, webhookSlugJob, webhookTypeJob, whatsappIncomingWebhookJob, whatsappMessageJob, whatsappMessagePayloadDto, whatsappTemplateJob, whitelistedWhatsappNumberJob) {
132
+ constructor(accessTestJob, apiAccountJob, appIntegrationJob, businessAppIntegrationCredentialJob, businessAppIntegrationJob, businessAppIntegrationMessagesJob, businessCurrencyJob, businessDownloadableReportJob, businessEmailJob, businessFeatureJob, businessGroupRoleJob, businessMenuJob, businessPreferenceJob, businessPropertyJob, businessReportJob, businessScriptJob, businessUserGroupJob, businessUserJob, businessUserNotificationPreferenceJob, businessUserRoleJob, businessWebhookJob, bzNotificationChannelPreferenceJob, captureEventTriggerJob, childMenuJob, choiceListJob, choiceTypeJob, conversationJob, currencyRateJob, customFieldJob, customReportJob, dashboardComponentJob, dashboardJob, downloadLogJob, emailAttachmentJob, emailMessageJob, emailRecipientJob, emailRuleJob, emailStyleJob, emailTemplateLogJob, emailTemplateRecipientJob, evaluateEmailRuleJob, eventTriggerJob, eventTriggerLogJob, executeBusinessScriptJob, executionLogJob, fcmMessageJob, fcmNotificationJob, fcmTemplateJob, fcmTokenJob, featureJob, featureMenuJob, formScriptJob, gchatIncomingWebhookJob, gchatMessageJob, gchatTemplateJob, gchatUserJob, gchatWebhookJob, gchatWebhookMessageJob, generateBusinessReportJob, gmailIntegrationFetchMessagesJob, groupMemberJob, groupRoleJob, gstMappingJob, listPreferenceJob, listingColumnJob, listingPageJob, listingPreferenceJob, lockScriptJob, menuActionJob, menuJob, menuRoleJob, moduleJob, moduleMenuJob, onholdDocumentJob, overridingScriptJob, preferenceUserGroupJob, preferenceUsersJob, processServerEmailJob, productJob, refreshBusinessPropertyJob, reportLogJob, requestLogJob, roleGroupJob, scheduledReportEmailJob, scheduledReportItemJob, scheduledReportJob, sendBusinessReportNotificationJob, setBusinessScriptScheduleJob, setEmailUnreadCountJob, slackIncomingWebhookJob, slackIntegrationJob, slackMessageJob, slackTemplateJob, slackUserJob, slackWebhookJob, slackWebhookMessageJob, syncBURoleJob, syncEmailMessageMetricsJob, syncEmailMessagesJob, syncMenuJob, uiActionJob, uiActionRoleJob, userBusinessSecretJob, userNotificationJob, userPreferenceJob, userRoleJob, watchlistAssignmentJob, webhookEventJob, webhookLogJob, webhookSlugJob, webhookTypeJob, whatsappIncomingWebhookJob, whatsappMessageJob, whatsappMessagePayloadDto, whatsappTemplateJob, whitelistedWhatsappNumberJob) {
133
133
  this.accessTestJob = accessTestJob;
134
134
  this.apiAccountJob = apiAccountJob;
135
135
  this.appIntegrationJob = appIntegrationJob;
@@ -172,7 +172,6 @@ let Es6JobsService = class Es6JobsService {
172
172
  this.emailTemplateRecipientJob = emailTemplateRecipientJob;
173
173
  this.evaluateEmailRuleJob = evaluateEmailRuleJob;
174
174
  this.eventTriggerJob = eventTriggerJob;
175
- this.formScriptJob = formScriptJob;
176
175
  this.eventTriggerLogJob = eventTriggerLogJob;
177
176
  this.executeBusinessScriptJob = executeBusinessScriptJob;
178
177
  this.executionLogJob = executionLogJob;
@@ -182,6 +181,7 @@ let Es6JobsService = class Es6JobsService {
182
181
  this.fcmTokenJob = fcmTokenJob;
183
182
  this.featureJob = featureJob;
184
183
  this.featureMenuJob = featureMenuJob;
184
+ this.formScriptJob = formScriptJob;
185
185
  this.gchatIncomingWebhookJob = gchatIncomingWebhookJob;
186
186
  this.gchatMessageJob = gchatMessageJob;
187
187
  this.gchatTemplateJob = gchatTemplateJob;
@@ -294,7 +294,6 @@ let Es6JobsService = class Es6JobsService {
294
294
  '6f4a79a7fb7bdf66788368a36e780fde': this.emailTemplateRecipientJob,
295
295
  '5e77b61f1ec9433816b0304cca59b845': this.evaluateEmailRuleJob,
296
296
  '71a7bf7f64dd313c91f38c48aea8b18e': this.eventTriggerJob,
297
- '69f08636173c0e1a797ccc54d25e8c25': this.formScriptJob,
298
297
  aedf078502ae7a9447edd334b17b1d89: this.eventTriggerLogJob,
299
298
  '2b123e3dcf817a37ade84326f01859c1': this.executeBusinessScriptJob,
300
299
  a26abc298b6b26cfbf3a7d0c52aa991d: this.executionLogJob,
@@ -304,6 +303,7 @@ let Es6JobsService = class Es6JobsService {
304
303
  '1ee5cf5eee1013306eab4a4190a2dd09': this.fcmTokenJob,
305
304
  dbe13000898bdfd0a0601490e0bbf703: this.featureJob,
306
305
  '49cfbc22351965d1f4355f0079d49373': this.featureMenuJob,
306
+ c3c871dbe1165edfe3b79f871f7d8a10: this.formScriptJob,
307
307
  ba74133d03313f6620374ed9be540907: this.gchatIncomingWebhookJob,
308
308
  '4cc7d538a35084dbfbc13f1ba17c1dfa': this.gchatMessageJob,
309
309
  '34424d2faf4bda66bab01b98e9232ce9': this.gchatTemplateJob,
@@ -419,7 +419,6 @@ exports.Es6JobsService = Es6JobsService = __decorate([
419
419
  email_template_recipient_job_1.EmailTemplateRecipientJob,
420
420
  evaluate_email_rule_job_1.EvaluateEmailRuleJob,
421
421
  event_trigger_job_1.EventTriggerJob,
422
- form_script_job_1.FormScriptJob,
423
422
  event_trigger_log_job_1.EventTriggerLogJob,
424
423
  execute_business_script_job_1.ExecuteBusinessScriptJob,
425
424
  execution_log_job_1.ExecutionLogJob,
@@ -429,6 +428,7 @@ exports.Es6JobsService = Es6JobsService = __decorate([
429
428
  fcm_token_job_1.FcmTokenJob,
430
429
  feature_job_1.FeatureJob,
431
430
  feature_menu_job_1.FeatureMenuJob,
431
+ form_script_job_1.FormScriptJob,
432
432
  gchat_incoming_webhook_job_1.GchatIncomingWebhookJob,
433
433
  gchat_message_job_1.GchatMessageJob,
434
434
  gchat_template_job_1.GchatTemplateJob,