@solidstarters/solid-core 1.2.183 → 1.2.185

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 (64) hide show
  1. package/dev-grooming-docs/ozzy-prompts.txt +32 -0
  2. package/dist/config/iam.config.d.ts +2 -0
  3. package/dist/config/iam.config.d.ts.map +1 -1
  4. package/dist/config/iam.config.js +1 -0
  5. package/dist/config/iam.config.js.map +1 -1
  6. package/dist/interfaces.d.ts +9 -1
  7. package/dist/interfaces.d.ts.map +1 -1
  8. package/dist/interfaces.js.map +1 -1
  9. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +10 -8
  10. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  11. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +35 -11
  12. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  13. package/dist/seeders/seed-data/solid-core-metadata.json +48 -48
  14. package/dist/services/chatter-message.service.d.ts.map +1 -1
  15. package/dist/services/chatter-message.service.js +9 -2
  16. package/dist/services/chatter-message.service.js.map +1 -1
  17. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +10 -0
  18. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts.map +1 -0
  19. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.js +35 -0
  20. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.js.map +1 -0
  21. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +16 -0
  22. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +1 -0
  23. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +74 -0
  24. package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +1 -0
  25. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +12 -0
  26. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts.map +1 -0
  27. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js +41 -0
  28. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.js.map +1 -0
  29. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +12 -0
  30. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts.map +1 -0
  31. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js +42 -0
  32. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.js.map +1 -0
  33. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
  34. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts.map +1 -1
  35. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js +8 -6
  36. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.js.map +1 -1
  37. package/dist/services/model-metadata.service.js +4 -4
  38. package/dist/services/model-metadata.service.js.map +1 -1
  39. package/dist/services/setting.service.d.ts.map +1 -1
  40. package/dist/services/setting.service.js +4 -2
  41. package/dist/services/setting.service.js.map +1 -1
  42. package/dist/services/solid-ts-morph.service.d.ts +5 -0
  43. package/dist/services/solid-ts-morph.service.d.ts.map +1 -1
  44. package/dist/services/solid-ts-morph.service.js +21 -0
  45. package/dist/services/solid-ts-morph.service.js.map +1 -1
  46. package/dist/solid-core.module.d.ts.map +1 -1
  47. package/dist/solid-core.module.js +9 -1
  48. package/dist/solid-core.module.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +1 -1
  51. package/src/config/iam.config.ts +2 -1
  52. package/src/interfaces.ts +12 -1
  53. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +45 -10
  54. package/src/seeders/seed-data/solid-core-metadata.json +48 -48
  55. package/src/services/chatter-message.service.ts +11 -3
  56. package/src/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.ts +34 -0
  57. package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +69 -0
  58. package/src/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.ts +43 -0
  59. package/src/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.ts +44 -0
  60. package/src/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.ts +4 -3
  61. package/src/services/model-metadata.service.ts +4 -4
  62. package/src/services/setting.service.ts +4 -2
  63. package/src/services/solid-ts-morph.service.ts +37 -0
  64. package/src/solid-core.module.ts +12 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core",
3
- "version": "1.2.183",
3
+ "version": "1.2.185",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,7 +24,8 @@ export const iamConfig = registerAs('iam', () => {
24
24
  redirectURL: process.env.IAM_GOOGLE_OAUTH_REDIRECT_URL,
25
25
  },
26
26
  iamAutoGeneratedPassword:process.env.IAM_AUTOGENERATED_PASSWORD || true,
27
- passwordPepper: process.env.IAM_PASSWORD_PEPPER || '', // Adding a pepper to the password hashing process for extra security
27
+ passwordPepper: process.env.IAM_PASSWORD_PEPPER || '', // Adding a pepper to the password hashing process for extra security,
28
+ showNameFieldsForRegistration:process.env.IAM_SHOW_NAME_FIELDS_FOR_REGISTRATION === 'true' ? true : false,
28
29
  };
29
30
  })
30
31
 
package/src/interfaces.ts CHANGED
@@ -278,7 +278,7 @@ export interface IErrorCodeProvider {
278
278
 
279
279
  // MCP Tool Related
280
280
 
281
- export type PlanStep = CreateNewFileStep | RegisterNestProviderStep;
281
+ export type PlanStep = CreateNewFileStep | RegisterNestProviderStep | AddMethodToExistingClassStep;
282
282
 
283
283
  export interface CreateNewFileStep {
284
284
  type: "createNewFile";
@@ -298,6 +298,17 @@ export interface RegisterNestProviderStep {
298
298
  rationale?: string; // optional, ignored by executor
299
299
  }
300
300
 
301
+ export interface AddMethodToExistingClassStep {
302
+ type: "addMethodToExistingClass";
303
+ path: string; // e.g. apps/api/src/address-master/services/address-master.service.ts
304
+ className: string // e.g. CountryService
305
+ methodName: string // e.g. addCountry
306
+ content: string // Full Method Code
307
+ rationale?: string; // optional, ignored by executor
308
+ }
309
+
310
+
311
+
301
312
  export interface McpComputedProviderResponse {
302
313
  plan: PlanStep[];
303
314
  // provider?: any; // (intentionally ignored per your note)
@@ -1,15 +1,17 @@
1
1
  import { Injectable, Logger } from '@nestjs/common';
2
+ import { ModelMetadataService } from 'src';
3
+ import { SolidRegistry } from 'src/helpers/solid-registry';
2
4
  import { QueueMessage } from 'src/interfaces/mq';
3
- import { MqMessageService } from '../../services/mq-message.service';
4
- import { MqMessageQueueService } from '../../services/mq-message-queue.service';
5
- import { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
6
- import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
7
- import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
5
+ import { DashboardRepository } from 'src/repository/dashboard.repository';
8
6
  import { AiInteractionService } from 'src/services/ai-interaction.service';
9
- import { PollerService } from 'src/services/poller.service';
10
- import { SolidRegistry } from 'src/helpers/solid-registry';
11
7
  import { ModuleMetadataService } from 'src/services/module-metadata.service';
12
- import { ModelMetadataService } from 'src';
8
+ import { PollerService } from 'src/services/poller.service';
9
+ import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
10
+ import { Not } from 'typeorm';
11
+ import { McpResponse, QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
12
+ import { MqMessageQueueService } from '../../services/mq-message-queue.service';
13
+ import { MqMessageService } from '../../services/mq-message.service';
14
+ import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
13
15
 
14
16
  @Injectable()
15
17
  export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {
@@ -23,6 +25,8 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
23
25
  readonly moduleMetadataService: ModuleMetadataService,
24
26
  readonly modelMetadataService: ModelMetadataService,
25
27
  private readonly solidRegistry: SolidRegistry,
28
+ // private readonly dashboardService: DashboardService
29
+ private readonly dashboardRepository: DashboardRepository
26
30
 
27
31
  ) {
28
32
  super(mqMessageService, mqMessageQueueService, poller);
@@ -122,6 +126,22 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
122
126
  populate: ['module']
123
127
  });
124
128
 
129
+ // Get the list of dashboards
130
+ // TODO: Ideally we should fetch dashboard like below, but used below approach to avoid below CLS issues for now.
131
+ // Cannot set the key "filter". No CLS context available, please make sure that a ClsMiddleware/Guard/Interceptor has set up the context, or wrap any calls that depend on CLS with "ClsService#run"
132
+ // const { records: existingDashboards } = await this.dashboardService.find({
133
+ // fields
134
+ // })
135
+ const existingDashboards = await this.dashboardRepository.find(
136
+ {
137
+ where: {
138
+ module: {
139
+ name: Not('solid-core')
140
+ }
141
+ },
142
+ }
143
+ );
144
+
125
145
  // Build markdown sections using template interpolation
126
146
  const modulesSection = (existingModules ?? [])
127
147
  .map(m => [
@@ -140,6 +160,14 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
140
160
  ].join('\n'))
141
161
  .join('\n\n');
142
162
 
163
+ const dashboardsSection = (existingDashboards ?? [])
164
+ .map(d => [
165
+ `### ${d.displayName}`,
166
+ `- name: ${d.name}`,
167
+ `- description: ${d.description ?? ""}`,
168
+ ].join('\n'))
169
+ .join('\n\n');
170
+
143
171
  const computationProvidersSection = (existingComputationProviders ?? [])
144
172
  .map(m => [
145
173
  `### ${m.instance.name()}`,
@@ -148,6 +176,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
148
176
  ].join('\n'))
149
177
  .join('\n\n');
150
178
 
179
+
151
180
  const finalPrompt = `
152
181
  # User Prompt:
153
182
  ${prompt}
@@ -162,15 +191,21 @@ ${prompt}
162
191
  # LISTS FOR REFERENCE AND VALIDATIONS
163
192
 
164
193
  ## LIST OF EXISTING MODULES
165
- Use the below list of models with module names to infer which module & models the user is referring to, you can try to pull out the singularName incase of models.
194
+ Use the below list of modules to infer which module the user is referring to, .
166
195
 
167
196
  ${modulesSection}
168
197
 
169
198
  ## LIST OF EXISTING MODELS
170
- Use the below list of modules to infer which module the user is referring to.
199
+ Use the below list of models to infer which model the user is referring to.
200
+ You need to pull out the singularName for the model from the user prompt to match against the below list.
171
201
 
172
202
  ${modelsSection}
173
203
 
204
+ ## LIST OF EXISTING DASHBOARDS
205
+ Use the below list of dashboards to infer which dashboard the user is referring to.
206
+
207
+ ${dashboardsSection}
208
+
174
209
  ## LIST OF EXISTING COMPUTED FIELD PROVIDERS
175
210
  Use the below list of computed field providers to infer which provider the user is referring to.
176
211
 
@@ -6242,7 +6242,7 @@
6242
6242
  "attrs": {
6243
6243
  "name": "group-1",
6244
6244
  "label": "",
6245
- "className": "col-6"
6245
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6246
6246
  },
6247
6247
  "children": [
6248
6248
  {
@@ -6432,7 +6432,7 @@
6432
6432
  "attrs": {
6433
6433
  "name": "group-1",
6434
6434
  "label": "",
6435
- "className": "col-6"
6435
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6436
6436
  },
6437
6437
  "children": [
6438
6438
  {
@@ -6577,7 +6577,7 @@
6577
6577
  "attrs": {
6578
6578
  "name": "group-1",
6579
6579
  "label": "",
6580
- "className": "col-6"
6580
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6581
6581
  },
6582
6582
  "children": [
6583
6583
  {
@@ -6643,7 +6643,7 @@
6643
6643
  "attrs": {
6644
6644
  "name": "group-1",
6645
6645
  "label": "",
6646
- "className": "col-6"
6646
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6647
6647
  },
6648
6648
  "children": [
6649
6649
  {
@@ -6774,7 +6774,7 @@
6774
6774
  "attrs": {
6775
6775
  "name": "group-1",
6776
6776
  "label": "",
6777
- "className": "col-6"
6777
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6778
6778
  },
6779
6779
  "children": [
6780
6780
  {
@@ -6893,7 +6893,7 @@
6893
6893
  "attrs": {
6894
6894
  "name": "group-1",
6895
6895
  "label": "",
6896
- "className": "col-6"
6896
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
6897
6897
  },
6898
6898
  "children": [
6899
6899
  {
@@ -7106,7 +7106,7 @@
7106
7106
  "attrs": {
7107
7107
  "name": "group-1",
7108
7108
  "label": "",
7109
- "className": "col-6"
7109
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7110
7110
  },
7111
7111
  "children": [
7112
7112
  {
@@ -7251,7 +7251,7 @@
7251
7251
  "attrs": {
7252
7252
  "name": "group-1",
7253
7253
  "label": "",
7254
- "className": "col-6"
7254
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7255
7255
  },
7256
7256
  "children": [
7257
7257
  {
@@ -7375,7 +7375,7 @@
7375
7375
  "attrs": {
7376
7376
  "name": "group-1",
7377
7377
  "label": "",
7378
- "className": "col-6"
7378
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7379
7379
  },
7380
7380
  "children": [
7381
7381
  {
@@ -7485,7 +7485,7 @@
7485
7485
  "attrs": {
7486
7486
  "name": "group-1",
7487
7487
  "label": "",
7488
- "className": "col-6"
7488
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7489
7489
  },
7490
7490
  "children": [
7491
7491
  {
@@ -7637,7 +7637,7 @@
7637
7637
  "attrs": {
7638
7638
  "name": "page-1-row-1-col-1",
7639
7639
  "label": "",
7640
- "className": "col-6"
7640
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7641
7641
  },
7642
7642
  "children": [
7643
7643
  {
@@ -7677,7 +7677,7 @@
7677
7677
  "attrs": {
7678
7678
  "name": "page-1-row-1-col-2",
7679
7679
  "label": "",
7680
- "className": "col-6"
7680
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7681
7681
  },
7682
7682
  "children": [
7683
7683
  {
@@ -7825,7 +7825,7 @@
7825
7825
  "attrs": {
7826
7826
  "name": "page-1-row-1-col-1",
7827
7827
  "label": "",
7828
- "className": "col-6"
7828
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7829
7829
  },
7830
7830
  "children": [
7831
7831
  {
@@ -7841,7 +7841,7 @@
7841
7841
  "attrs": {
7842
7842
  "name": "page-1-row-1-col-2",
7843
7843
  "label": "",
7844
- "className": "col-6"
7844
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
7845
7845
  },
7846
7846
  "children": [
7847
7847
  {
@@ -8013,7 +8013,7 @@
8013
8013
  "attrs": {
8014
8014
  "name": "page-1-row-1-col-1",
8015
8015
  "label": "",
8016
- "className": "col-6"
8016
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8017
8017
  },
8018
8018
  "children": [
8019
8019
  {
@@ -8059,7 +8059,7 @@
8059
8059
  "attrs": {
8060
8060
  "name": "page-1-row-1-col-2",
8061
8061
  "label": "",
8062
- "className": "col-6"
8062
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8063
8063
  },
8064
8064
  "children": [
8065
8065
  {
@@ -8106,7 +8106,7 @@
8106
8106
  "attrs": {
8107
8107
  "name": "page-2-row-1-col-1",
8108
8108
  "label": "",
8109
- "className": "col-6"
8109
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8110
8110
  },
8111
8111
  "children": [
8112
8112
  {
@@ -8123,7 +8123,7 @@
8123
8123
  "attrs": {
8124
8124
  "name": "page-2-row-1-col-1",
8125
8125
  "label": "",
8126
- "className": "col-6"
8126
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8127
8127
  },
8128
8128
  "children": [
8129
8129
  {
@@ -8246,7 +8246,7 @@
8246
8246
  "attrs": {
8247
8247
  "name": "group-1",
8248
8248
  "label": "",
8249
- "className": "col-6"
8249
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8250
8250
  },
8251
8251
  "children": [
8252
8252
  {
@@ -8337,7 +8337,7 @@
8337
8337
  "attrs": {
8338
8338
  "name": "group-1",
8339
8339
  "label": "",
8340
- "className": "col-6"
8340
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8341
8341
  },
8342
8342
  "children": [
8343
8343
  {
@@ -8558,7 +8558,7 @@
8558
8558
  "attrs": {
8559
8559
  "name": "group-1",
8560
8560
  "label": "",
8561
- "className": "col-6"
8561
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8562
8562
  },
8563
8563
  "children": [
8564
8564
  {
@@ -8915,7 +8915,7 @@
8915
8915
  "attrs": {
8916
8916
  "name": "group-1",
8917
8917
  "label": "",
8918
- "className": "col-6"
8918
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
8919
8919
  },
8920
8920
  "children": [
8921
8921
  {
@@ -9240,7 +9240,7 @@
9240
9240
  "attrs": {
9241
9241
  "name": "group-1",
9242
9242
  "label": "",
9243
- "className": "col-6"
9243
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
9244
9244
  },
9245
9245
  "children": [
9246
9246
  {
@@ -9472,7 +9472,7 @@
9472
9472
  "attrs": {
9473
9473
  "name": "group-1",
9474
9474
  "label": "",
9475
- "className": "col-6"
9475
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
9476
9476
  },
9477
9477
  "children": [
9478
9478
  {
@@ -9582,7 +9582,7 @@
9582
9582
  "attrs": {
9583
9583
  "name": "group-1",
9584
9584
  "label": "",
9585
- "className": "col-6"
9585
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
9586
9586
  },
9587
9587
  "children": [
9588
9588
  {
@@ -9635,7 +9635,7 @@
9635
9635
  "attrs": {
9636
9636
  "name": "group-1",
9637
9637
  "label": "",
9638
- "className": "col-6"
9638
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
9639
9639
  },
9640
9640
  "children": [
9641
9641
  {
@@ -9661,7 +9661,7 @@
9661
9661
  "attrs": {
9662
9662
  "name": "group-1",
9663
9663
  "label": "",
9664
- "className": "col-6"
9664
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
9665
9665
  },
9666
9666
  "children": [
9667
9667
  {
@@ -10091,7 +10091,7 @@
10091
10091
  "type": "column",
10092
10092
  "attrs": {
10093
10093
  "name": "col-1",
10094
- "className": "col-6"
10094
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10095
10095
  },
10096
10096
  "children": [
10097
10097
  {
@@ -10107,7 +10107,7 @@
10107
10107
  "type": "column",
10108
10108
  "attrs": {
10109
10109
  "name": "col-2",
10110
- "className": "col-6"
10110
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10111
10111
  },
10112
10112
  "children": [
10113
10113
  {
@@ -10390,7 +10390,7 @@
10390
10390
  "attrs": {
10391
10391
  "name": "group-basic",
10392
10392
  "label": "Basic",
10393
- "className": "col-6"
10393
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10394
10394
  },
10395
10395
  "children": [
10396
10396
  {
@@ -10424,7 +10424,7 @@
10424
10424
  "attrs": {
10425
10425
  "name": "group-config",
10426
10426
  "label": "Configuration",
10427
- "className": "col-6"
10427
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10428
10428
  },
10429
10429
  "children": [
10430
10430
  {
@@ -10584,7 +10584,7 @@
10584
10584
  "attrs": {
10585
10585
  "name": "group-1",
10586
10586
  "label": "",
10587
- "className": "col-6"
10587
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10588
10588
  },
10589
10589
  "children": [
10590
10590
  {
@@ -10783,7 +10783,7 @@
10783
10783
  "attrs": {
10784
10784
  "name": "group-1",
10785
10785
  "label": "",
10786
- "className": "col-6"
10786
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10787
10787
  },
10788
10788
  "children": [
10789
10789
  {
@@ -10811,7 +10811,7 @@
10811
10811
  "attrs": {
10812
10812
  "name": "group-2",
10813
10813
  "label": "",
10814
- "className": "col-6"
10814
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10815
10815
  },
10816
10816
  "children": [
10817
10817
  {
@@ -10899,7 +10899,7 @@
10899
10899
  "attrs": {
10900
10900
  "name": "group-1",
10901
10901
  "label": "",
10902
- "className": "col-6"
10902
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10903
10903
  },
10904
10904
  "children": [
10905
10905
  {
@@ -10937,7 +10937,7 @@
10937
10937
  "attrs": {
10938
10938
  "name": "group-1",
10939
10939
  "label": "",
10940
- "className": "col-6"
10940
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
10941
10941
  },
10942
10942
  "children": [
10943
10943
  {
@@ -11031,7 +11031,7 @@
11031
11031
  "attrs": {
11032
11032
  "name": "group-1",
11033
11033
  "label": "",
11034
- "className": "col-6"
11034
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11035
11035
  },
11036
11036
  "children": [
11037
11037
  {
@@ -11062,7 +11062,7 @@
11062
11062
  "attrs": {
11063
11063
  "name": "group-1",
11064
11064
  "label": "",
11065
- "className": "col-6"
11065
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11066
11066
  },
11067
11067
  "children": [
11068
11068
  {
@@ -11166,7 +11166,7 @@
11166
11166
  "attrs": {
11167
11167
  "name": "group-1",
11168
11168
  "label": "",
11169
- "className": "col-6"
11169
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11170
11170
  },
11171
11171
  "children": [
11172
11172
  {
@@ -11182,7 +11182,7 @@
11182
11182
  "attrs": {
11183
11183
  "name": "group-2",
11184
11184
  "label": "",
11185
- "className": "col-6"
11185
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11186
11186
  },
11187
11187
  "children": []
11188
11188
  }
@@ -11266,7 +11266,7 @@
11266
11266
  "attrs": {
11267
11267
  "name": "group-1",
11268
11268
  "label": "",
11269
- "className": "col-6"
11269
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11270
11270
  },
11271
11271
  "children": [
11272
11272
  {
@@ -11282,7 +11282,7 @@
11282
11282
  "attrs": {
11283
11283
  "name": "group-2",
11284
11284
  "label": "",
11285
- "className": "col-6"
11285
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11286
11286
  },
11287
11287
  "children": []
11288
11288
  }
@@ -11387,7 +11387,7 @@
11387
11387
  "attrs": {
11388
11388
  "name": "group-1",
11389
11389
  "label": "",
11390
- "className": "col-6"
11390
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11391
11391
  },
11392
11392
  "children": [
11393
11393
  {
@@ -11421,7 +11421,7 @@
11421
11421
  "attrs": {
11422
11422
  "name": "group-2",
11423
11423
  "label": "",
11424
- "className": "col-6"
11424
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11425
11425
  },
11426
11426
  "children": [
11427
11427
  {
@@ -11726,7 +11726,7 @@
11726
11726
  "attrs": {
11727
11727
  "name": "group-1",
11728
11728
  "label": "General Info",
11729
- "className": "col-6"
11729
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11730
11730
  },
11731
11731
  "children": [
11732
11732
  {
@@ -11760,7 +11760,7 @@
11760
11760
  "attrs": {
11761
11761
  "name": "group-1",
11762
11762
  "label": "Data Source",
11763
- "className": "col-6"
11763
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
11764
11764
  },
11765
11765
  "children": [
11766
11766
  {
@@ -12173,7 +12173,7 @@
12173
12173
  "attrs": {
12174
12174
  "name": "left-col",
12175
12175
  "label": "Interaction Details",
12176
- "className": "col-6"
12176
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
12177
12177
  },
12178
12178
  "children": [
12179
12179
  {
@@ -12214,7 +12214,7 @@
12214
12214
  "attrs": {
12215
12215
  "name": "right-col",
12216
12216
  "label": "Message Properties",
12217
- "className": "col-6"
12217
+ "className": "col-12 sm:col-12 md:col-6 lg:col-6"
12218
12218
  },
12219
12219
  "children": [
12220
12220
  {
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@nestjs/common';
2
2
  import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
3
3
  import { DiscoveryService, ModuleRef } from "@nestjs/core";
4
- import { EntityManager, Repository, EntityMetadata } from 'typeorm';
4
+ import { EntityManager, Repository, EntityMetadata, Brackets } from 'typeorm';
5
5
 
6
6
  import { CRUDService } from 'src/services/crud.service';
7
7
  import { ModelMetadataService } from 'src/services/model-metadata.service';
@@ -514,7 +514,7 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
514
514
  entityName: string,
515
515
  query: any
516
516
  ) {
517
- const { limit = 25, offset = 0, sort, populate = [], populateMedia = [] } = query;
517
+ const { limit = 25, offset = 0, populate = [], populateMedia = [], filters } = query;
518
518
 
519
519
  const model = await this.modelMetadataRepo.findOne({
520
520
  where: {
@@ -575,7 +575,9 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
575
575
  }
576
576
  }
577
577
 
578
- qb.where(orConditions.join(' OR '), parameters);
578
+ qb.where(new Brackets(qb => {
579
+ qb.where(orConditions.join(' OR '), parameters);
580
+ }));
579
581
 
580
582
  const relations = ['chatterMessageDetails', 'user'];
581
583
  if (populate && populate.length > 0) {
@@ -587,6 +589,12 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
587
589
  qb.leftJoinAndSelect(`entity.${relation}`, relation);
588
590
  });
589
591
 
592
+ if (filters) {
593
+ qb.andWhere(new Brackets(whereQb => {
594
+ this.crudHelperService.applyFilters(whereQb, filters, 'entity', qb);
595
+ }));
596
+ }
597
+
590
598
  qb.orderBy('entity.createdAt', 'DESC');
591
599
 
592
600
  qb.skip(offset).take(limit);
@@ -0,0 +1,34 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ import { Injectable } from "@nestjs/common";
3
+ import { IEntityPreComputeFieldProvider } from "../../../interfaces";
4
+ import { CommonEntity } from "src/entities/common.entity";
5
+ import { ComputedFieldMetadata } from "src/helpers/solid-registry";
6
+ import { ComputedFieldProvider } from "src/decorators/computed-field-provider.decorator";
7
+
8
+ @ComputedFieldProvider()
9
+ @Injectable()
10
+ export class UuidExternalIdEntityComputedFieldProvider
11
+ implements IEntityPreComputeFieldProvider<CommonEntity, any, string>
12
+ {
13
+ name(): string {
14
+ return "UuidExternalIdEntityComputedFieldProvider";
15
+ }
16
+
17
+ help(): string {
18
+ return "Computed field provider used to compute the external id field as a UUID.";
19
+ }
20
+
21
+ valueType(): string {
22
+ return "string";
23
+ }
24
+
25
+ async preComputeValue(
26
+ triggerEntity: CommonEntity,
27
+ computedFieldMetadata: ComputedFieldMetadata<any>
28
+ ): Promise<string> {
29
+ const { computedFieldValueProviderCtxt } = computedFieldMetadata;
30
+ const prefix = computedFieldValueProviderCtxt?.prefix ?? "";
31
+ const generated = `${prefix}-${uuidv4()}`;
32
+ return generated;
33
+ }
34
+ }