@solidxai/core 0.1.13-beta.4 → 0.1.13-beta.6
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/.claude/settings.local.json +16 -0
- package/CHANGELOG.md +1053 -0
- package/CLAUDE.md +26 -0
- package/dist/commands/run-tests.command.d.ts +7 -1
- package/dist/commands/run-tests.command.d.ts.map +1 -1
- package/dist/commands/run-tests.command.js +49 -3
- package/dist/commands/run-tests.command.js.map +1 -1
- package/dist/constants/chatter-message.constants.d.ts +1 -0
- package/dist/constants/chatter-message.constants.d.ts.map +1 -1
- package/dist/constants/chatter-message.constants.js +3 -1
- package/dist/constants/chatter-message.constants.js.map +1 -1
- package/dist/constants/user.constants.d.ts +2 -0
- package/dist/constants/user.constants.d.ts.map +1 -0
- package/dist/constants/user.constants.js +5 -0
- package/dist/constants/user.constants.js.map +1 -0
- package/dist/controllers/chatter-message.controller.d.ts +5 -0
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.js +14 -0
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +36 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +12 -7
- package/dist/services/chatter-message.service.d.ts +10 -0
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +44 -3
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +2 -0
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +13 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +40 -0
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +22 -0
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/testing/adapters/ui/playwright-adapter.d.ts +5 -0
- package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
- package/dist/testing/adapters/ui/playwright-adapter.js +17 -1
- package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
- package/dist/testing/adapters/ui/ui.types.d.ts +2 -0
- package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -1
- package/dist/testing/adapters/ui/ui.types.js.map +1 -1
- package/dist/testing/steps/ui/actions.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/actions.step.js +6 -2
- package/dist/testing/steps/ui/actions.step.js.map +1 -1
- package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/assertions.step.js +11 -3
- package/dist/testing/steps/ui/assertions.step.js.map +1 -1
- package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/form.step.js +9 -3
- package/dist/testing/steps/ui/form.step.js.map +1 -1
- package/dist/testing/steps/ui/manual.step.js +1 -1
- package/dist/testing/steps/ui/manual.step.js.map +1 -1
- package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/navigation.step.js +3 -1
- package/dist/testing/steps/ui/navigation.step.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/run-tests.command.ts +47 -1
- package/src/constants/chatter-message.constants.ts +12 -0
- package/src/constants/user.constants.ts +13 -0
- package/src/controllers/chatter-message.controller.ts +8 -0
- package/src/entities/user.entity.ts +53 -36
- package/src/seeders/seed-data/solid-core-metadata.json +12 -7
- package/src/services/1.js +6 -0
- package/src/services/chatter-message.service.ts +86 -4
- package/src/services/crud.service.ts +31 -1
- package/src/services/settings/default-settings-provider.service.ts +22 -0
- package/src/testing/README.md +64 -2
- package/src/testing/adapters/ui/playwright-adapter.ts +25 -0
- package/src/testing/adapters/ui/ui.types.ts +2 -0
- package/src/testing/steps/ui/actions.step.ts +8 -4
- package/src/testing/steps/ui/assertions.step.ts +18 -5
- package/src/testing/steps/ui/form.step.ts +16 -6
- package/src/testing/steps/ui/manual.step.ts +1 -1
- package/src/testing/steps/ui/navigation.step.ts +4 -2
- package/dist-tests/api/authenticate.spec.js +0 -119
- package/dist-tests/api/authenticate.spec.js.map +0 -1
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
- package/dist-tests/api/ping.spec.js +0 -21
- package/dist-tests/api/ping.spec.js.map +0 -1
- package/dist-tests/helpers/auth.js +0 -41
- package/dist-tests/helpers/auth.js.map +0 -1
- package/dist-tests/helpers/env.js +0 -11
- package/dist-tests/helpers/env.js.map +0 -1
- package/docs/agent-builder/notebook-lm-prompt-for-agent-builder.md +0 -136
- package/docs/agent-builder/team-ready-note-agent-builder.md +0 -305
- package/docs/agent-hub-grooming.md +0 -301
- package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +0 -438
- package/docs/dashboards/dashboard-curl-smoke-tests.txt +0 -146
- package/docs/dashboards/delete-legacy-dashboard-metadata.sql +0 -172
- package/docs/datasource-introspection-ddl-analysis.md +0 -326
- package/docs/datasource-introspection-implementation-plan.md +0 -306
- package/docs/grouping-enhancements.md +0 -89
- package/docs/java-spring/README.md +0 -3
- package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
- package/docs/module-package-import-handoff.md +0 -691
- package/docs/seed-changes.md +0 -65
- package/docs/test-data-workflow.md +0 -200
- package/docs/type-declaration-import-issue.md +0 -24
- package/docs/workflow/business-automation-example-notes.md +0 -309
- package/docs/workflow/control-flow-node-addition-sop.md +0 -324
- package/docs/workflow/data-engineering-pipeline-example-notes.md +0 -330
- package/docs/workflow/foreach-example-notes.md +0 -187
- package/docs/workflow/hello-world-example-notes.md +0 -271
- package/docs/workflow/kestra-concepts-plugins-blueprints.md +0 -315
- package/docs/workflow/loop-until-example-notes.md +0 -198
- package/docs/workflow/microservices-and-apis-example-notes.md +0 -264
- package/docs/workflow/samples.md +0 -25
- package/docs/workflow/what-is-kestra.md +0 -79
- package/docs/workflow/workflow-core-module-handoff-summary.md +0 -191
- package/docs/workflow/workflow-module-brd.md +0 -185
- package/docs/workflow/workflow-module-domain-model.md +0 -252
- package/docs/workflow/workflow-module-metadata-dsl.md +0 -302
- package/docs/workflow/workflow-module-technical-spec.md +0 -293
- package/docs/workflow/workflow-node-type-contracts.md +0 -635
- package/docs/workflow/workflow-node-ui-metadata-contract.md +0 -1262
- package/docs/workflow/workflow-solidx-model-field-spec.md +0 -284
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftActiveDirectoryProfilePicture: string;\n\n @Index()\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n @Expose()\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n/**\n * Serialization is locked down twice over, and both halves are load-bearing:\n *\n * - The class-level `@Exclude()` below makes User itself an allowlist: only `@Expose()`d\n * properties are serialized.\n * - Every other property additionally carries its own `@Exclude()`. That looks redundant\n * here, and for `User` it is - but class-transformer resolves the *class-level* strategy\n * with a direct lookup on the exact constructor (MetadataStorage.getStrategy), so a\n * subclass inherits nothing and falls back to `exposeAll`. Since this entity is a\n * `@TableInheritance` root that consuming projects extend (see\n * IExtensionUserCreationProvider), an extension user that forgets its own `@Exclude()`\n * would otherwise serialize the password hash and every OAuth/verification token.\n * Property-level metadata *is* walked up the prototype chain, so the per-property\n * decorators are what actually protect subclasses.\n *\n * Keep both. Adding a new column? Give it `@Expose()` or `@Exclude()` - never neither.\n */\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n @Exclude()\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftActiveDirectoryId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftActiveDirectoryAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n microsoftActiveDirectoryProfilePicture: string;\n\n @Index()\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n @Exclude()\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n @Exclude()\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n @Exclude()\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n @Exclude()\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n @Exclude()\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n @Exclude()\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n @Exclude()\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n @Exclude()\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n @Exclude()\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Exclude()\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n @Exclude()\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n @Exclude()\n userViewMetadata: UserViewMetadata[];\n\n @Exclude()\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n @Exclude()\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n @Exclude()\n @Column({ nullable: true })\n rehashedAt: Date;\n\n @Expose()\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}\n"]}
|
|
@@ -6141,7 +6141,7 @@
|
|
|
6141
6141
|
"type": "int",
|
|
6142
6142
|
"ormType": "integer",
|
|
6143
6143
|
"isSystem": false,
|
|
6144
|
-
"defaultValue": 1,
|
|
6144
|
+
"defaultValue": "1",
|
|
6145
6145
|
"min": null,
|
|
6146
6146
|
"max": null,
|
|
6147
6147
|
"required": true,
|
|
@@ -6162,7 +6162,7 @@
|
|
|
6162
6162
|
"type": "int",
|
|
6163
6163
|
"ormType": "integer",
|
|
6164
6164
|
"isSystem": false,
|
|
6165
|
-
"defaultValue": 0,
|
|
6165
|
+
"defaultValue": "0",
|
|
6166
6166
|
"min": null,
|
|
6167
6167
|
"max": null,
|
|
6168
6168
|
"required": false,
|
|
@@ -7367,7 +7367,7 @@
|
|
|
7367
7367
|
"type": "boolean",
|
|
7368
7368
|
"ormType": "boolean",
|
|
7369
7369
|
"isSystem": false,
|
|
7370
|
-
"defaultValue": false,
|
|
7370
|
+
"defaultValue": "false",
|
|
7371
7371
|
"required": false,
|
|
7372
7372
|
"unique": false,
|
|
7373
7373
|
"index": true,
|
|
@@ -7868,6 +7868,7 @@
|
|
|
7868
7868
|
"ChatterMessageController.findMany",
|
|
7869
7869
|
"ChatterMessageController.markCompleted",
|
|
7870
7870
|
"ChatterMessageController.updateCustomNoteMessage",
|
|
7871
|
+
"ChatterMessageController.getMentionableUsers",
|
|
7871
7872
|
"ListOfValuesController.findMany",
|
|
7872
7873
|
"ListOfValuesController.findOne",
|
|
7873
7874
|
"SettingController.getAllSettings",
|
|
@@ -10433,7 +10434,8 @@
|
|
|
10433
10434
|
"attrs": {
|
|
10434
10435
|
"name": "user",
|
|
10435
10436
|
"isSearchable": true,
|
|
10436
|
-
"searchField": "user.fullName"
|
|
10437
|
+
"searchField": "user.fullName",
|
|
10438
|
+
"coModelFieldToDisplay": "fullName"
|
|
10437
10439
|
}
|
|
10438
10440
|
}
|
|
10439
10441
|
]
|
|
@@ -10517,7 +10519,8 @@
|
|
|
10517
10519
|
{
|
|
10518
10520
|
"type": "field",
|
|
10519
10521
|
"attrs": {
|
|
10520
|
-
"name": "user"
|
|
10522
|
+
"name": "user",
|
|
10523
|
+
"coModelFieldToDisplay": "fullName"
|
|
10521
10524
|
}
|
|
10522
10525
|
},
|
|
10523
10526
|
{
|
|
@@ -14855,7 +14858,8 @@
|
|
|
14855
14858
|
"name": "user",
|
|
14856
14859
|
"label": "User",
|
|
14857
14860
|
"isSearchable": true,
|
|
14858
|
-
"searchField": "user.fullName"
|
|
14861
|
+
"searchField": "user.fullName",
|
|
14862
|
+
"coModelFieldToDisplay": "fullName"
|
|
14859
14863
|
}
|
|
14860
14864
|
},
|
|
14861
14865
|
{
|
|
@@ -17077,7 +17081,8 @@
|
|
|
17077
17081
|
"name": "user",
|
|
17078
17082
|
"label": "User",
|
|
17079
17083
|
"isSearchable": true,
|
|
17080
|
-
"searchField": "user.fullName"
|
|
17084
|
+
"searchField": "user.fullName",
|
|
17085
|
+
"coModelFieldToDisplay": "fullName"
|
|
17081
17086
|
}
|
|
17082
17087
|
}
|
|
17083
17088
|
]
|
|
@@ -10,6 +10,7 @@ import { FieldMetadataRepository } from '../repository/field-metadata.repository
|
|
|
10
10
|
import { MediaRepository } from '../repository/media.repository';
|
|
11
11
|
import { ModelMetadataRepository } from '../repository/model-metadata.repository';
|
|
12
12
|
import { CRUDService } from '../services/crud.service';
|
|
13
|
+
import { BasicFilterDto } from '../dtos/basic-filters.dto';
|
|
13
14
|
import { ChatterMessage } from '../entities/chatter-message.entity';
|
|
14
15
|
import { RequestContextService } from './request-context.service';
|
|
15
16
|
import { PublisherFactory } from './queues/publisher-factory.service';
|
|
@@ -31,11 +32,20 @@ export declare class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
31
32
|
private resolveMessageUserId;
|
|
32
33
|
private resolveMessageUser;
|
|
33
34
|
private stampMessageAuditFields;
|
|
35
|
+
private trimMessageUser;
|
|
36
|
+
private trimMessageUsers;
|
|
37
|
+
find(basicFilterDto: BasicFilterDto, solidRequestContext?: any): Promise<any>;
|
|
38
|
+
findOne(id: number, query?: any, solidRequestContext?: any): Promise<ChatterMessage>;
|
|
34
39
|
private isEditableCustomNoteMessage;
|
|
35
40
|
private parseAttachmentIds;
|
|
36
41
|
private parseMessageBodyMentions;
|
|
37
42
|
private renderMentionTokens;
|
|
38
43
|
private publishChatterMentionNotifications;
|
|
44
|
+
getMentionableUsers(search?: string, limit?: number): Promise<Array<{
|
|
45
|
+
id: number;
|
|
46
|
+
username: string;
|
|
47
|
+
fullName: string;
|
|
48
|
+
}>>;
|
|
39
49
|
markCompleted(id: number): Promise<ChatterMessage>;
|
|
40
50
|
updateCustomNoteMessage(id: number, updateDto: UpdateChatterNoteMessageDto, files?: Express.Multer.File[]): Promise<ChatterMessage>;
|
|
41
51
|
postMessage(postDto: PostChatterMessageDto, files?: Express.Multer.File[]): Promise<ChatterMessage>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatter-message.service.d.ts","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAY,aAAa,EAAsB,MAAM,SAAS,CAAC;AAKtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"chatter-message.service.d.ts","sourceRoot":"","sources":["../../src/services/chatter-message.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAY,aAAa,EAAsB,MAAM,SAAS,CAAC;AAKtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAStE,qBACa,qBAAsB,SAAQ,WAAW,CAAC,cAAc,CAAC;IAK9D,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,wBAAwB;IAEvC,QAAQ,CAAC,yBAAyB,EAAE,+BAA+B;IACnE,QAAQ,CAAC,eAAe,EAAE,eAAe;IAGzC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS;IAI7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IApBrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;gBAIrD,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,wBAAwB,EAE9B,yBAAyB,EAAE,+BAA+B,EAC1D,eAAe,EAAE,eAAe,EAGhC,iBAAiB,EAAE,uBAAuB,EAC1C,SAAS,EAAE,SAAS,EAIZ,iBAAiB,EAAE,uBAAuB,EAClD,qBAAqB,EAAE,qBAAqB,EACpC,0BAA0B,EAAE,0BAA0B,EACtD,gBAAgB,EAAE,gBAAgB,CAAC,iCAAiC,CAAC;IAK1F,OAAO,CAAC,iBAAiB;YAUX,kBAAkB;IAUhC,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAQlB,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,mBAAmB,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAUjF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,GAAQ,EAAE,mBAAmB,GAAE,GAAQ;IAIxE,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,mBAAmB;YAQb,kCAAkC;IAyD1C,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAsB3H,aAAa,CAAC,EAAE,EAAE,MAAM;IAiBxB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,2BAA2B,EAAE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAO;IAyG7G,WAAW,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAO;IAmD7E,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAuD9G,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAE,GAAG,EAAO,EAAE,YAAY,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA6G/J,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA8D5H,OAAO,CAAC,gBAAgB;YAyBV,uBAAuB;IA+CrC,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,uBAAuB;IAgC/B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;YASZ,sBAAsB;IA6CpC,OAAO,CAAC,WAAW;IAOb,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;;;;;;;;;;;CAwK5E"}
|
|
@@ -32,6 +32,7 @@ const model_metadata_repository_1 = require("../repository/model-metadata.reposi
|
|
|
32
32
|
const crud_service_1 = require("./crud.service");
|
|
33
33
|
const chatter_message_details_entity_1 = require("../entities/chatter-message-details.entity");
|
|
34
34
|
const chatter_message_entity_1 = require("../entities/chatter-message.entity");
|
|
35
|
+
const user_entity_1 = require("../entities/user.entity");
|
|
35
36
|
const mediaStorageProviders_1 = require("./mediaStorageProviders");
|
|
36
37
|
const request_context_service_1 = require("./request-context.service");
|
|
37
38
|
const common_2 = require("@nestjs/common");
|
|
@@ -85,6 +86,26 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
|
|
|
85
86
|
chatterMessage.createdBy = resolvedUserId;
|
|
86
87
|
chatterMessage.updatedBy = resolvedUserId;
|
|
87
88
|
}
|
|
89
|
+
trimMessageUser(message) {
|
|
90
|
+
if (message?.user) {
|
|
91
|
+
message.user = this.toUserSummary(message.user);
|
|
92
|
+
}
|
|
93
|
+
return message;
|
|
94
|
+
}
|
|
95
|
+
trimMessageUsers(messages) {
|
|
96
|
+
messages?.forEach(message => this.trimMessageUser(message));
|
|
97
|
+
}
|
|
98
|
+
async find(basicFilterDto, solidRequestContext = {}) {
|
|
99
|
+
const result = await super.find(basicFilterDto, solidRequestContext);
|
|
100
|
+
this.trimMessageUsers(result?.records);
|
|
101
|
+
for (const groupRecord of result?.groupRecords ?? []) {
|
|
102
|
+
this.trimMessageUsers(groupRecord?.groupData?.records);
|
|
103
|
+
}
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
async findOne(id, query = {}, solidRequestContext = {}) {
|
|
107
|
+
return this.trimMessageUser(await super.findOne(id, query, solidRequestContext));
|
|
108
|
+
}
|
|
88
109
|
isEditableCustomNoteMessage(message) {
|
|
89
110
|
if (message.messageType !== chatter_message_constants_1.CHATTER_MESSAGE_TYPE.CUSTOM) {
|
|
90
111
|
return false;
|
|
@@ -166,6 +187,23 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
|
|
|
166
187
|
this._logger.error(`Failed to publish chatter mention notification email job: ${error.message}`, error.stack);
|
|
167
188
|
}
|
|
168
189
|
}
|
|
190
|
+
async getMentionableUsers(search, limit = 8) {
|
|
191
|
+
const normalizedLimit = Number.isInteger(limit) && limit > 0 && limit <= 50 ? limit : 8;
|
|
192
|
+
const userRepository = this.entityManager.getRepository(user_entity_1.User);
|
|
193
|
+
const qb = userRepository
|
|
194
|
+
.createQueryBuilder('user')
|
|
195
|
+
.select(['user.id', 'user.username', 'user.fullName'])
|
|
196
|
+
.where('user.active = :active', { active: true });
|
|
197
|
+
const trimmedSearch = (search ?? '').trim();
|
|
198
|
+
if (trimmedSearch) {
|
|
199
|
+
qb.andWhere('(LOWER(user.username) LIKE :search OR LOWER(user.fullName) LIKE :search)', {
|
|
200
|
+
search: `%${trimmedSearch.toLowerCase()}%`,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
qb.orderBy('user.username', 'ASC').take(normalizedLimit);
|
|
204
|
+
const users = await qb.getMany();
|
|
205
|
+
return users.map(user => ({ id: user.id, username: user.username, fullName: user.fullName }));
|
|
206
|
+
}
|
|
169
207
|
async markCompleted(id) {
|
|
170
208
|
const activeUser = this.requestContextService.getActiveUser();
|
|
171
209
|
if (!activeUser) {
|
|
@@ -262,7 +300,7 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
|
|
|
262
300
|
}
|
|
263
301
|
}
|
|
264
302
|
await this.publishChatterMentionNotifications(savedMessage, model);
|
|
265
|
-
return savedMessage;
|
|
303
|
+
return this.trimMessageUser(savedMessage);
|
|
266
304
|
}
|
|
267
305
|
async postMessage(postDto, files = []) {
|
|
268
306
|
const coModelName = (0, string_helper_1.lowerFirst)(postDto.coModelName);
|
|
@@ -734,14 +772,16 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
|
|
|
734
772
|
qb.andWhere(new typeorm_2.Brackets(qb => {
|
|
735
773
|
qb.where(orConditions.join(' OR '), parameters);
|
|
736
774
|
}));
|
|
737
|
-
const relations = ['chatterMessageDetails'
|
|
775
|
+
const relations = ['chatterMessageDetails'];
|
|
738
776
|
if (populate && populate.length > 0) {
|
|
739
777
|
const normalizedPopulate = this.crudHelperService.normalize(populate);
|
|
740
|
-
relations.push(...normalizedPopulate.filter(rel => !relations.includes(rel)));
|
|
778
|
+
relations.push(...normalizedPopulate.filter(rel => rel !== 'user' && !relations.includes(rel)));
|
|
741
779
|
}
|
|
742
780
|
relations.forEach(relation => {
|
|
743
781
|
qb.leftJoinAndSelect(`entity.${relation}`, relation);
|
|
744
782
|
});
|
|
783
|
+
qb.leftJoin('entity.user', 'user');
|
|
784
|
+
qb.addSelect(chatter_message_constants_1.CHATTER_MESSAGE_USER_FIELDS.map(field => `user.${field}`));
|
|
745
785
|
if (filters) {
|
|
746
786
|
qb.andWhere(new typeorm_2.Brackets(whereQb => {
|
|
747
787
|
this.crudHelperService.applyFilters(whereQb, filters, 'entity', qb);
|
|
@@ -751,6 +791,7 @@ let ChatterMessageService = ChatterMessageService_1 = class ChatterMessageServic
|
|
|
751
791
|
qb.skip(offset).take(limit);
|
|
752
792
|
const [entities, count] = await qb.getManyAndCount();
|
|
753
793
|
this.logHeapUsed('getChatterMessages-entitiesLoaded');
|
|
794
|
+
this.trimMessageUsers(entities);
|
|
754
795
|
const DATE_FIELD_TYPES = ['date', 'datetime', 'time'];
|
|
755
796
|
for (const entity of entities) {
|
|
756
797
|
for (const detail of entity.chatterMessageDetails ?? []) {
|