@solidstarters/solid-core 1.2.135 → 1.2.136
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.
- package/dist/controllers/ai-interaction.controller.d.ts +2 -1
- package/dist/controllers/ai-interaction.controller.d.ts.map +1 -1
- package/dist/controllers/ai-interaction.controller.js +15 -3
- package/dist/controllers/ai-interaction.controller.js.map +1 -1
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts +43 -0
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.d.ts.map +1 -0
- package/dist/controllers/{question-sql-dataset-config.controller.js → dashboard-question-sql-dataset-config.controller.js} +30 -30
- package/dist/controllers/dashboard-question-sql-dataset-config.controller.js.map +1 -0
- package/dist/controllers/dashboard-question.controller.d.ts +45 -0
- package/dist/controllers/dashboard-question.controller.d.ts.map +1 -0
- package/dist/controllers/{question.controller.js → dashboard-question.controller.js} +31 -31
- package/dist/controllers/dashboard-question.controller.js.map +1 -0
- package/dist/dtos/{create-question-sql-dataset-config.dto.d.ts → create-dashboard-question-sql-dataset-config.dto.d.ts} +2 -2
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.d.ts.map +1 -0
- package/dist/dtos/{create-question-sql-dataset-config.dto.js → create-dashboard-question-sql-dataset-config.dto.js} +13 -13
- package/dist/dtos/create-dashboard-question-sql-dataset-config.dto.js.map +1 -0
- package/dist/dtos/create-dashboard-question.dto.d.ts +17 -0
- package/dist/dtos/create-dashboard-question.dto.d.ts.map +1 -0
- package/dist/dtos/{create-question.dto.js → create-dashboard-question.dto.js} +25 -19
- package/dist/dtos/create-dashboard-question.dto.js.map +1 -0
- package/dist/dtos/create-dashboard.dto.d.ts +2 -2
- package/dist/dtos/create-dashboard.dto.d.ts.map +1 -1
- package/dist/dtos/create-dashboard.dto.js +3 -3
- package/dist/dtos/create-dashboard.dto.js.map +1 -1
- package/dist/dtos/{update-question-sql-dataset-config.dto.d.ts → update-dashboard-question-sql-dataset-config.dto.d.ts} +2 -2
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.d.ts.map +1 -0
- package/dist/dtos/{update-question-sql-dataset-config.dto.js → update-dashboard-question-sql-dataset-config.dto.js} +14 -14
- package/dist/dtos/update-dashboard-question-sql-dataset-config.dto.js.map +1 -0
- package/dist/dtos/update-dashboard-question.dto.d.ts +18 -0
- package/dist/dtos/update-dashboard-question.dto.d.ts.map +1 -0
- package/dist/dtos/{update-question.dto.js → update-dashboard-question.dto.js} +26 -20
- package/dist/dtos/update-dashboard-question.dto.js.map +1 -0
- package/dist/dtos/update-dashboard.dto.d.ts +2 -2
- package/dist/dtos/update-dashboard.dto.d.ts.map +1 -1
- package/dist/dtos/update-dashboard.dto.js +3 -3
- package/dist/dtos/update-dashboard.dto.js.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +13 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +1 -0
- package/dist/entities/{question-sql-dataset-config.entity.js → dashboard-question-sql-dataset-config.entity.js} +19 -19
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -0
- package/dist/entities/dashboard-question.entity.d.ts +16 -0
- package/dist/entities/dashboard-question.entity.d.ts.map +1 -0
- package/dist/entities/{question.entity.js → dashboard-question.entity.js} +23 -19
- package/dist/entities/dashboard-question.entity.js.map +1 -0
- package/dist/entities/dashboard.entity.d.ts +2 -2
- package/dist/entities/dashboard.entity.d.ts.map +1 -1
- package/dist/entities/dashboard.entity.js +3 -3
- package/dist/entities/dashboard.entity.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +16 -2
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js +39 -0
- package/dist/jobs/database/trigger-mcp-client-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +8 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.js +10 -0
- package/dist/jobs/database/trigger-mcp-client-queue-options.js.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +16 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +71 -0
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -0
- package/dist/repository/dashboard.repository.d.ts +1 -3
- package/dist/repository/dashboard.repository.d.ts.map +1 -1
- package/dist/repository/dashboard.repository.js +42 -37
- package/dist/repository/dashboard.repository.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +88 -131
- package/dist/services/ai-interaction.service.d.ts +10 -2
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +53 -18
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +8 -6
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/{question-sql-dataset-config.service.d.ts → dashboard-question-sql-dataset-config.service.d.ts} +5 -5
- package/dist/services/dashboard-question-sql-dataset-config.service.d.ts.map +1 -0
- package/dist/services/{question-sql-dataset-config.service.js → dashboard-question-sql-dataset-config.service.js} +9 -9
- package/dist/services/dashboard-question-sql-dataset-config.service.js.map +1 -0
- package/dist/services/{question.service.d.ts → dashboard-question.service.d.ts} +5 -5
- package/dist/services/dashboard-question.service.d.ts.map +1 -0
- package/dist/services/{question.service.js → dashboard-question.service.js} +10 -10
- package/dist/services/dashboard-question.service.js.map +1 -0
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +1 -0
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts +3 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +22 -0
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.d.ts +1 -0
- package/dist/services/list-of-values.service.d.ts.map +1 -1
- package/dist/services/list-of-values.service.js +3 -0
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +11 -7
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +1 -1
- package/dist/services/question-data-providers/helpers.d.ts +5 -2
- package/dist/services/question-data-providers/helpers.d.ts.map +1 -1
- package/dist/services/question-data-providers/helpers.js +18 -3
- package/dist/services/question-data-providers/helpers.js.map +1 -1
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +10 -4
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +1 -1
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +11 -3
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +1 -1
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +52 -39
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/{question-sql-dataset-config.subscriber.d.ts → dashboard-question-sql-dataset-config.subscriber.d.ts} +6 -6
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts.map +1 -0
- package/dist/subscribers/{question-sql-dataset-config.subscriber.js → dashboard-question-sql-dataset-config.subscriber.js} +10 -10
- package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.js.map +1 -0
- package/dist/subscribers/{question.subscriber.d.ts → dashboard-question.subscriber.d.ts} +7 -7
- package/dist/subscribers/dashboard-question.subscriber.d.ts.map +1 -0
- package/dist/subscribers/{question.subscriber.js → dashboard-question.subscriber.js} +8 -8
- package/dist/subscribers/dashboard-question.subscriber.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/controllers/ai-interaction.controller.ts +8 -2
- package/src/controllers/{question-sql-dataset-config.controller.ts → dashboard-question-sql-dataset-config.controller.ts} +10 -10
- package/src/controllers/{question.controller.ts → dashboard-question.controller.ts} +10 -10
- package/src/dtos/{create-question-sql-dataset-config.dto.ts → create-dashboard-question-sql-dataset-config.dto.ts} +1 -1
- package/src/dtos/{create-question.dto.ts → create-dashboard-question.dto.ts} +9 -4
- package/src/dtos/create-dashboard.dto.ts +3 -3
- package/src/dtos/{update-question-sql-dataset-config.dto.ts → update-dashboard-question-sql-dataset-config.dto.ts} +1 -1
- package/src/dtos/{update-question.dto.ts → update-dashboard-question.dto.ts} +9 -4
- package/src/dtos/update-dashboard.dto.ts +3 -3
- package/src/entities/{question-sql-dataset-config.entity.ts → dashboard-question-sql-dataset-config.entity.ts} +5 -5
- package/src/entities/{question.entity.ts → dashboard-question.entity.ts} +8 -5
- package/src/entities/dashboard.entity.ts +3 -3
- package/src/index.ts +7 -4
- package/src/interfaces.ts +18 -2
- package/src/jobs/database/trigger-mcp-client-publisher-database.service.ts +22 -0
- package/src/jobs/database/trigger-mcp-client-queue-options.ts +9 -0
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +71 -0
- package/src/repository/dashboard.repository.ts +54 -53
- package/src/seeders/seed-data/solid-core-metadata.json +88 -131
- package/src/services/ai-interaction.service.ts +68 -32
- package/src/services/chatter-message.service.ts +12 -6
- package/src/services/{question-sql-dataset-config.service.ts → dashboard-question-sql-dataset-config.service.ts} +5 -5
- package/src/services/{question.service.ts → dashboard-question.service.ts} +6 -6
- package/src/services/field-metadata.service.ts +1 -0
- package/src/services/import-transaction.service.ts +29 -1
- package/src/services/list-of-values.service.ts +5 -0
- package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +14 -10
- package/src/services/question-data-providers/helpers.ts +23 -4
- package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +12 -6
- package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +14 -5
- package/src/services/question-data-providers/test.sql +1 -0
- package/src/services/queues/publisher-factory.service.ts +1 -1
- package/src/solid-core.module.ts +54 -39
- package/src/subscribers/{question-sql-dataset-config.subscriber.ts → dashboard-question-sql-dataset-config.subscriber.ts} +8 -10
- package/src/subscribers/{question.subscriber.ts → dashboard-question.subscriber.ts} +7 -10
- package/dist/controllers/question-sql-dataset-config.controller.d.ts +0 -43
- package/dist/controllers/question-sql-dataset-config.controller.d.ts.map +0 -1
- package/dist/controllers/question-sql-dataset-config.controller.js.map +0 -1
- package/dist/controllers/question.controller.d.ts +0 -45
- package/dist/controllers/question.controller.d.ts.map +0 -1
- package/dist/controllers/question.controller.js.map +0 -1
- package/dist/dtos/create-question-sql-dataset-config.dto.d.ts.map +0 -1
- package/dist/dtos/create-question-sql-dataset-config.dto.js.map +0 -1
- package/dist/dtos/create-question.dto.d.ts +0 -16
- package/dist/dtos/create-question.dto.d.ts.map +0 -1
- package/dist/dtos/create-question.dto.js.map +0 -1
- package/dist/dtos/update-question-sql-dataset-config.dto.d.ts.map +0 -1
- package/dist/dtos/update-question-sql-dataset-config.dto.js.map +0 -1
- package/dist/dtos/update-question.dto.d.ts +0 -17
- package/dist/dtos/update-question.dto.d.ts.map +0 -1
- package/dist/dtos/update-question.dto.js.map +0 -1
- package/dist/entities/question-sql-dataset-config.entity.d.ts +0 -13
- package/dist/entities/question-sql-dataset-config.entity.d.ts.map +0 -1
- package/dist/entities/question-sql-dataset-config.entity.js.map +0 -1
- package/dist/entities/question.entity.d.ts +0 -15
- package/dist/entities/question.entity.d.ts.map +0 -1
- package/dist/entities/question.entity.js.map +0 -1
- package/dist/services/question-sql-dataset-config.service.d.ts.map +0 -1
- package/dist/services/question-sql-dataset-config.service.js.map +0 -1
- package/dist/services/question.service.d.ts.map +0 -1
- package/dist/services/question.service.js.map +0 -1
- package/dist/subscribers/question-sql-dataset-config.subscriber.d.ts.map +0 -1
- package/dist/subscribers/question-sql-dataset-config.subscriber.js.map +0 -1
- package/dist/subscribers/question.subscriber.d.ts.map +0 -1
- package/dist/subscribers/question.subscriber.js.map +0 -1
- package/src/services/1. Create a context menu option i.py +0 -12
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question.entity.js","sourceRoot":"","sources":["../../src/entities/question.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAyD;AACzD,qCAAkF;AAClF,yDAA0D;AAC1D,6FAA0F;AAGnF,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAY;;;;CAuBzC,CAAA;AAvBY,4BAAQ;AAGjB;IAFC,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;sCACf;AAGb;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,CAAC;;4CACQ;AAGnB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,CAAC;;8CACU;AAErB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACvB;AAGrB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnE,IAAA,oBAAU,GAAE;8BACF,4BAAS;2CAAC;AAErB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6DAAwB,EAAE,wBAAwB,CAAC,EAAE,CAAC,wBAAwB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DACtE;AAEtD;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACxB;AAElB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACxB;AAEjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC1B;mBAtBN,QAAQ;IADpB,IAAA,gBAAM,EAAC,aAAa,CAAC;GACT,QAAQ,CAuBpB","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity'\nimport { Entity, Column, Index, JoinColumn, ManyToOne, OneToMany } from 'typeorm';\nimport { Dashboard } from 'src/entities/dashboard.entity';\nimport { QuestionSqlDatasetConfig } from 'src/entities/question-sql-dataset-config.entity'\n\n@Entity(\"ss_question\")\nexport class Question extends CommonEntity {\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n name: string;\n @Index()\n @Column({})\n sourceType: string;\n @Index()\n @Column({})\n visualisedAs: string;\n @Column({ type: \"varchar\", nullable: true })\n providerName: string;\n @ManyToOne(() => Dashboard, { onDelete: \"CASCADE\", nullable: true })\n @JoinColumn()\n dashboard: Dashboard;\n @OneToMany(() => QuestionSqlDatasetConfig, questionSqlDatasetConfig => questionSqlDatasetConfig.question, { cascade: true })\n questionSqlDatasetConfigs: QuestionSqlDatasetConfig[];\n @Column({ type: \"jsonb\", nullable: true })\n chartOptions: any;\n @Column({ type: \"text\", nullable: true })\n labelSql: string;\n @Column({ type: \"text\", nullable: true })\n kpiSql: string;\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question-sql-dataset-config.service.d.ts","sourceRoot":"","sources":["../../src/services/question-sql-dataset-config.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAG,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAE1F,qBACa,+BAAgC,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAEtF,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAVpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,EAC1C,SAAS,EAAE,SAAS;CAKhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question-sql-dataset-config.service.js","sourceRoot":"","sources":["../../src/services/question-sql-dataset-config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAwE;AACxE,uCAA4D;AAC5D,qCAAoD;AAEpD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAC7E,2CAA+C;AAC/C,iDAAwD;AACxD,+DAAqE;AAGrE,uGAA0F;AAGnF,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,0BAAqC;IACxF,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAE5B,IAA0C,EAC1C,SAAoB;QAG9B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAG,aAAa,EAAE,WAAW,EAAG,gBAAgB,EAAE,iBAAiB,EAAC,aAAa,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAbrL,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAsC;QAC1C,cAAS,GAAT,SAAS,CAAW;IAIhC,CAAC;CACD,CAAA;AAjBY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,6BAAmB,GAAE,CAAA;IAErB,WAAA,IAAA,0BAAgB,EAAC,6DAAwB,EAAE,SAAS,CAAC,CAAA;qCARvB,6CAAoB;QACnB,+CAAqB;QAC7B,sBAAa;QACf,0BAAW;QACN,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAEtB,oBAAU;QACL,gBAAS;GAZpB,+BAA+B,CAiB3C","sourcesContent":["import { Injectable } from '@nestjs/common';\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { CRUDService } from 'src/services/crud.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\nimport { ConfigService } from '@nestjs/config';\nimport { FileService } from 'src/services/file.service';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\n\n\nimport { QuestionSqlDatasetConfig } from '../entities/question-sql-dataset-config.entity';\n\n@Injectable()\nexport class QuestionSqlDatasetConfigService extends CRUDService<QuestionSqlDatasetConfig>{\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(QuestionSqlDatasetConfig, 'default')\n readonly repo: Repository<QuestionSqlDatasetConfig>,\n readonly moduleRef: ModuleRef\n\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'questionSqlDatasetConfig', 'solid-core', moduleRef);\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question.service.d.ts","sourceRoot":"","sources":["../../src/services/question.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAyB,MAAM,6DAA6D,CAAC;AAanH,qBACa,eAAgB,SAAQ,WAAW,CAAC,QAAQ,CAAC;IAGtD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,aAAa,EAAE,aAAa;IAbvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEjD,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC1B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa;IAMjC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAE,aAAa,EAAO,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAgClG,OAAO,CAAC,cAAc;YAmBR,YAAY;CAa3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question.service.js","sourceRoot":"","sources":["../../src/services/question.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, Injectable, Logger, NotImplementedException } from '@nestjs/common';\nimport { DiscoveryService, ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';\nimport { EntityManager, Repository } from 'typeorm';\n\nimport { ConfigService } from '@nestjs/config';\nimport { CrudHelperService } from 'src/services/crud-helper.service';\nimport { CRUDService } from 'src/services/crud.service';\nimport { FileService } from 'src/services/file.service';\nimport { ModelMetadataService } from 'src/services/model-metadata.service';\nimport { ModuleMetadataService } from 'src/services/module-metadata.service';\n\n\nimport { DashboardVariable } from 'src/entities/dashboard-variable.entity';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { Question } from '../entities/question.entity';\nimport { SqlExpression, SqlExpressionOperator } from './question-data-providers/chartjs-sql-data-provider.service';\nimport { DashboardService } from './dashboard.service';\nimport { Dashboard } from 'src/entities/dashboard.entity';\n\nenum SOURCE_TYPE {\n SQL = 'sql',\n PROVIDER = 'provider',\n}\n\nconst CHARTJS_SQL_DATA_PROVIDER_NAME = 'ChartJsSqlDataProvider';\nconst PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME = 'PrimeReactMeterGroupSqlDataProvider';\nconst PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME = 'PrimeReactDatatableSqlDataProvider';\n\n@Injectable()\nexport class QuestionService extends CRUDService<Question> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n @InjectRepository(Question, 'default')\n readonly repo: Repository<Question>,\n readonly moduleRef: ModuleRef,\n readonly solidRegistry: SolidRegistry, // Assuming solidRegistry is injected for data providers\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'question', 'solid-core', moduleRef);\n }\n\n // Get the data for a specific question \n async getData(id: number, inputExpressions: SqlExpression[] = [], isPreview = false): Promise<any> {\n // Load the question\n const question = await this.loadQuestion(id);\n if (!question) {\n throw new BadRequestException(`Question with id ${id} not found`);\n }\n\n // Get the dashbbard variables from the question\n const dashboardVariables = question.dashboard?.dashboardVariables || [];\n const expressions: SqlExpression[] = this.getExpressions(isPreview, dashboardVariables, inputExpressions);\n\n // Try to resolve the dataProvider based on a combination of sourceType and visualisedAs\n let dataProvider = null;\n\n if (question.sourceType === SOURCE_TYPE.SQL && ['bar', 'pie', 'line', 'donut'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(CHARTJS_SQL_DATA_PROVIDER_NAME);\n }\n if (question.sourceType === SOURCE_TYPE.SQL && ['prime-meter-group'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_METER_GROUP_SQL_DATA_PROVIDER_NAME);\n }\n if (question.sourceType === SOURCE_TYPE.SQL && ['prime-datatable'].includes(question.visualisedAs)) {\n dataProvider = this.solidRegistry.getDashboardQuestionDataProviderInstance(PRIME_REACT_DATATABLE_SQL_DATA_PROVIDER_NAME);\n }\n\n if (!dataProvider) {\n throw new NotImplementedException(`Invalid data source type ${question.sourceType}`);\n }\n\n return await dataProvider.getData(question, expressions);\n\n }\n\n private getExpressions(isPreview: boolean, dashboardVariables: DashboardVariable[], inputExpressions: SqlExpression[]) {\n const expressions: SqlExpression[] = [];\n if (isPreview) {\n // Convert the dashboard variables into objects of interface type SqlExpression using the default value, default operator and the variable name\n const expr: SqlExpression[] = dashboardVariables.map(variable => {\n return {\n variableName: variable.variableName,\n operator: variable.defaultOperator as SqlExpressionOperator, // Assuming defaultOperator is a valid SqlExpressionOperator\n value: JSON.parse(variable.defaultValue || '[]'), // Assuming defaultValue is a string or can be converted to a string array\n };\n });\n expressions.push(...expr);\n }\n else {\n expressions.push(...inputExpressions);\n }\n return expressions;\n }\n\n private async loadQuestion(id: number) {\n const repo = this.entityManager.getRepository(Question);\n\n // Load the dashboard record using the field\n const question = await repo.findOne({\n where: {\n id,\n },\n relations: ['questionSqlDatasetConfigs', 'dashboard', 'dashboard.dashboardVariables'],\n });\n return question;\n }\n\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question-sql-dataset-config.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/question-sql-dataset-config.subscriber.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,UAAU,EAAiB,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzG,qBACa,kCAAmC,YAAW,yBAAyB,CAAC,wBAAwB,CAAC;IAItG,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IACjE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAL/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,UAAU,EAAE,UAAU,EAC9B,2BAA2B,EAAE,2BAA2B,EACxD,gBAAgB,EAAE,gBAAgB;IAK/C,QAAQ;IAIF,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC;IASxD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC;YAShD,oBAAoB;CAkBrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question-sql-dataset-config.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/question-sql-dataset-config.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AAEnD,uGAA2F;AAC3F,iEAAwD;AACxD,8FAAyF;AACzF,qEAAkE;AAElE,qCAAyG;AAGlG,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAE3C,YAEI,UAAuC,EAC9B,2BAAwD,EACxD,gBAAkC;QAF1B,eAAU,GAAV,UAAU,CAAY;QAC9B,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,qBAAgB,GAAhB,gBAAgB,CAAkB;QAL9B,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAOxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACJ,OAAO,6DAAwB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4C;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4C;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAkB,EAAE,aAA4B;QAE/E,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,0BAAQ,EAAE;YAC5D,KAAK,EAAE;gBACH,EAAE,EAAE,QAAQ,CAAC,EAAE;aAClB;YACD,SAAS,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,+CAA+C,CAAC;SACvJ,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,EAAE,SAAS,CAAC;QAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QAGD,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CAEJ,CAAA;AAnDY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;IAIJ,WAAA,IAAA,0BAAgB,GAAE,CAAA;qCACU,oBAAU;QACD,4DAA2B;QACtC,oCAAgB;GANtC,kCAAkC,CAmD9C","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { InjectDataSource } from \"@nestjs/typeorm\";\nimport { Dashboard } from \"src/entities/dashboard.entity\";\nimport { QuestionSqlDatasetConfig } from \"src/entities/question-sql-dataset-config.entity\";\nimport { Question } from \"src/entities/question.entity\";\nimport { ModuleMetadataHelperService } from \"src/helpers/module-metadata-helper.service\";\nimport { DashboardService } from \"src/services/dashboard.service\";\nimport { QuestionService } from \"src/services/question.service\";\nimport { DataSource, EntityManager, EntitySubscriberInterface, InsertEvent, UpdateEvent } from \"typeorm\";\n\n@Injectable()\nexport class QuestionSqlDatasetConfigSubscriber implements EntitySubscriberInterface<QuestionSqlDatasetConfig> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n @InjectDataSource()\n private readonly dataSource: DataSource,\n readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n readonly dashboardService: DashboardService, // Assuming you have a DashboardService for custom queries\n ) {\n this.dataSource.subscribers.push(this);\n }\n\n listenTo() {\n return QuestionSqlDatasetConfig;\n }\n\n async afterInsert(event: InsertEvent<QuestionSqlDatasetConfig>) {\n const question = event.entity.question;\n if (!question) {\n this.logger.debug('No question found in the QuestionSqlDatasetConfigSubscriber afterInsert method');\n return;\n }\n await this.saveQuestionToConfig(question, event.queryRunner.manager);\n }\n\n async afterUpdate(event: UpdateEvent<QuestionSqlDatasetConfig>) {\n const question = event.databaseEntity.question;\n if (!question) {\n this.logger.debug('No question found in the QuestionSqlDatasetConfigSubscriber afterUpdate method');\n return;\n }\n await this.saveQuestionToConfig(question, event.queryRunner.manager);\n }\n\n private async saveQuestionToConfig(question: Question, entityManager: EntityManager): Promise<void> {\n // Populate the dashboard for the question\n const populatedQuestion = await entityManager.findOne(Question, {\n where: {\n id: question.id,\n },\n relations: ['dashboard', 'dashboard.module', 'dashboard.dashboardVariables', 'dashboard.questions', 'dashboard.questions.questionSqlDatasetConfigs'],\n });\n const dashboard = populatedQuestion?.dashboard;\n\n if (!dashboard) {\n throw new Error(`Dashboard not found for question id ${question.id}`);\n }\n\n // Call the saveDashboardToConfig method from the DashboardService\n await this.dashboardService.saveDashboardToConfig(dashboard);\n }\n\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/question.subscriber.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;AAEzG,qBACa,kBAAmB,YAAW,yBAAyB,CAAC,QAAQ,CAAC;IAItE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,2BAA2B,EAAE,2BAA2B;IACjE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAL/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGvC,UAAU,EAAE,UAAU,EAC9B,2BAA2B,EAAE,2BAA2B,EACxD,gBAAgB,EAAE,gBAAgB;IAK/C,QAAQ;IAIF,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;IAQxC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;YAQhC,qBAAqB;CAqBtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/question.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AAGnD,mEAA0D;AAC1D,iEAAwD;AACxD,8FAAyF;AACzF,qEAAkE;AAElE,qCAAyG;AAGlG,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE3B,YAEI,UAAuC,EAC9B,2BAAwD,EACxD,gBAAkC;QAF1B,eAAU,GAAV,UAAU,CAAY;QAC9B,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,qBAAgB,GAAhB,gBAAgB,CAAkB;QAL9B,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAOxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACJ,OAAO,0BAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA4B;QAC1C,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAkB,EAAE,aAA4B;QAChF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3E,OAAO;QACX,CAAC;QAGD,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,4BAAS,EAAE;YAC9D,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;YAC3B,SAAS,EAAE,CAAC,QAAQ,EAAC,oBAAoB,EAAE,WAAW,EAAE,qCAAqC,CAAC;SACjG,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC;QAGD,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACJ,CAAA;AApDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAIJ,WAAA,IAAA,0BAAgB,GAAE,CAAA;qCACU,oBAAU;QACD,4DAA2B;QACtC,oCAAgB;GANtC,kBAAkB,CAoD9B","sourcesContent":["import { Injectable, Logger } from \"@nestjs/common\";\nimport { InjectDataSource } from \"@nestjs/typeorm\";\nimport e from \"express\";\nimport { DashboardVariable } from \"src/entities/dashboard-variable.entity\";\nimport { Dashboard } from \"src/entities/dashboard.entity\";\nimport { Question } from \"src/entities/question.entity\";\nimport { ModuleMetadataHelperService } from \"src/helpers/module-metadata-helper.service\";\nimport { DashboardService } from \"src/services/dashboard.service\";\nimport { QuestionService } from \"src/services/question.service\";\nimport { EntitySubscriberInterface, DataSource, InsertEvent, UpdateEvent, EntityManager } from \"typeorm\";\n\n@Injectable()\nexport class QuestionSubscriber implements EntitySubscriberInterface<Question> {\n private readonly logger = new Logger(this.constructor.name);\n constructor(\n @InjectDataSource()\n private readonly dataSource: DataSource,\n readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n readonly dashboardService: DashboardService,\n ) {\n this.dataSource.subscribers.push(this);\n }\n\n listenTo() {\n return Question;\n }\n\n async afterInsert(event: InsertEvent<Question>) {\n if (!event.entity) {\n this.logger.debug('No question entity found in the QuestionSubscriber afterInsert method');\n return;\n }\n await this.saveDashboardToConfig(event.entity, event.queryRunner.manager);\n }\n\n async afterUpdate(event: UpdateEvent<Question>) {\n if (!event.databaseEntity) {\n this.logger.debug('No question entity found in the QuestionSubscriber afterUpdate method');\n return;\n }\n await this.saveDashboardToConfig(event.databaseEntity, event.queryRunner.manager);\n }\n\n private async saveDashboardToConfig(question: Question, entityManager: EntityManager): Promise<void> {\n const dashboard = question.dashboard;\n // Get the dashboard from the question & call the saveDashboardToConfig method\n if (!dashboard) {\n this.logger.debug(`Dashboard is undefined for question id ${question.id}`);\n return;\n }\n\n // populate the dashboard with its variables\n const populatedDashboard = await entityManager.findOne(Dashboard, {\n where: { id: dashboard.id },\n relations: ['module','dashboardVariables', 'questions', 'questions.questionSqlDatasetConfigs'],\n });\n\n if (!populatedDashboard) {\n throw new Error(`Dashboard not found for question id ${populatedDashboard.id}`);\n }\n\n // Call the saveDashboardToConfig method from the DashboardService\n await this.dashboardService.saveDashboardToConfig(populatedDashboard);\n }\n}"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
1. Create a context menu option i.e Custom Import
|
|
2
|
-
2. On clicking custom import, we will show the wizard i.e (which will show the sample format links)
|
|
3
|
-
2.1 No need to add any description for now
|
|
4
|
-
2.1 For the sample import endpoint, we will create endpoint like import-template/custom/:format in qb controller, which will just return the saved template file from the media-storage-folder.
|
|
5
|
-
3. On clicking continue on step 2, we will show the upload dialog
|
|
6
|
-
4. On clicking upload, we will call the custom import endpoint
|
|
7
|
-
4.1 start-import/custom/sync (body -> file)
|
|
8
|
-
4.2 basis the mime type, we will call the call appropriate method to read the records from the file
|
|
9
|
-
-> refer importFromFileToDB
|
|
10
|
-
4.3 After reading the records, we will have the json for a particular records
|
|
11
|
-
4.4. We will use this json to create the appropriate entities and save the record.
|
|
12
|
-
4.5 You can use entity manager for saving the entity accordingly.
|