@solidstarters/solid-core 1.2.203 → 1.2.204
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/services/selection-providers/list-of-roles-selectionproviders.service.d.ts +15 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.d.ts.map +1 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js +59 -0
- package/dist/services/selection-providers/list-of-roles-selectionproviders.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +2 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/services/selection-providers/list-of-roles-selectionproviders.service.ts +69 -0
- package/src/solid-core.module.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.204",
|
|
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",
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Injectable, BadRequestException } from "@nestjs/common";
|
|
2
|
+
import { SelectionProvider } from "src/decorators/selection-provider.decorator";
|
|
3
|
+
import {
|
|
4
|
+
ISelectionProvider,
|
|
5
|
+
ISelectionProviderContext,
|
|
6
|
+
ISelectionProviderValues
|
|
7
|
+
} from "../../interfaces";
|
|
8
|
+
import { BasicFilterDto } from "src/dtos/basic-filters.dto";
|
|
9
|
+
import { RoleMetadataService } from "../role-metadata.service";
|
|
10
|
+
|
|
11
|
+
const DEFAULT_LIMIT = 100;
|
|
12
|
+
|
|
13
|
+
interface ListOfRolesProviderContext extends ISelectionProviderContext {
|
|
14
|
+
filters?: Record<string, any>;
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@SelectionProvider()
|
|
19
|
+
@Injectable()
|
|
20
|
+
export class ListOfRolesSelectionProvider implements ISelectionProvider<ListOfRolesProviderContext> {
|
|
21
|
+
|
|
22
|
+
constructor(
|
|
23
|
+
private readonly roleMetadataService: RoleMetadataService
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
name(): string {
|
|
27
|
+
return 'ListOfRolesSelectionProvider';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
help(): string {
|
|
31
|
+
return '# Simple Role selection provider (search + include/exclude)';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async value( optionValue: string, ctxt: ListOfRolesProviderContext ): Promise<ISelectionProviderValues> {
|
|
35
|
+
|
|
36
|
+
const basicFilterQuery = new BasicFilterDto(1, 0);
|
|
37
|
+
basicFilterQuery.filters = {
|
|
38
|
+
name: { $eq: optionValue }
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const roles = await this.roleMetadataService.find(basicFilterQuery);
|
|
42
|
+
|
|
43
|
+
if (!roles.records || roles.records.length === 0) {
|
|
44
|
+
throw new BadRequestException(
|
|
45
|
+
`Invalid role name: ${optionValue}`
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const role = roles.records[0];
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
label: role.name,
|
|
53
|
+
value: role.name
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async values( query: string, ctxt: ListOfRolesProviderContext ): Promise<readonly ISelectionProviderValues[]> {
|
|
58
|
+
|
|
59
|
+
const basicFilterQuery = new BasicFilterDto(DEFAULT_LIMIT, 0);
|
|
60
|
+
basicFilterQuery.filters = ctxt.filters || {};
|
|
61
|
+
|
|
62
|
+
const roles = await this.roleMetadataService.find(basicFilterQuery);
|
|
63
|
+
|
|
64
|
+
return roles.records.map(role => ({
|
|
65
|
+
label: role.name,
|
|
66
|
+
value: role.name
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
}
|
package/src/solid-core.module.ts
CHANGED
|
@@ -344,6 +344,7 @@ import { WhatsAppFactory } from './factories/whatsapp.factory';
|
|
|
344
344
|
import { WhatsApp } from 'twilio/lib/twiml/VoiceResponse';
|
|
345
345
|
import { ImageEncodingService } from './helpers/image-encoding.helper';
|
|
346
346
|
import { SolidMicroserviceAdapter } from './helpers/solid-microservice-adapter.service';
|
|
347
|
+
import { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';
|
|
347
348
|
|
|
348
349
|
|
|
349
350
|
@Global()
|
|
@@ -734,6 +735,7 @@ import { SolidMicroserviceAdapter } from './helpers/solid-microservice-adapter.s
|
|
|
734
735
|
|
|
735
736
|
ImageEncodingService,
|
|
736
737
|
SolidMicroserviceAdapter,
|
|
738
|
+
ListOfRolesSelectionProvider,
|
|
737
739
|
],
|
|
738
740
|
exports: [
|
|
739
741
|
AiInteractionService,
|