@servicelabsco/slabs-access-manager 2.0.0 → 2.0.1

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/README.md CHANGED
@@ -1,73 +1,177 @@
1
- <p align="center">
2
- <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="200" alt="Nest Logo" /></a>
3
- </p>
4
-
5
- [circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
6
- [circleci-url]: https://circleci.com/gh/nestjs/nest
7
-
8
- <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
9
- <p align="center">
10
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
11
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
12
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
13
- <a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
14
- <a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
15
- <a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
16
- <a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
17
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
18
- <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a>
19
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
20
- <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
21
- </p>
22
- <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
23
- [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
24
-
25
- ## Description
26
-
27
- [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
28
-
29
- ## Installation
1
+ # @servicelabsco/slabs-access-manager
2
+
3
+ NestJS access-domain library for Finnoto services. Install it into your app to get business users/roles/groups, menus, dashboards, reports, notifications (email / FCM / Slack / GChat / WhatsApp), bulk upload, file upload, PDF generation, UI policy, and approval workflows — as Nest modules, TypeORM entities, services, jobs, and migrations.
4
+
5
+ This repo is also a runnable HTTP server, but **most teams consume it as an npm package**.
6
+
7
+ **Current major:** `2.x` · **Requires** Node `>=24.11.0` and `@servicelabsco/nestjs-utility-services` `^3.0.5`.
8
+
9
+ ## Install
30
10
 
31
11
  ```bash
32
- $ npm install
12
+ npm install @servicelabsco/slabs-access-manager@^2
33
13
  ```
34
14
 
35
- ## Running the app
15
+ Align your host app with the same Nest 11 / TypeORM / BullMQ stack that NU 3.x expects. Keep `nestjs-utility-services` on `^3.0.5` or newer within 3.x.
16
+
17
+ ## Quick start
18
+
19
+ Import the modules you need next to your own `TypeOrmModule`, BullMQ, and NU modules (`AuthModule`, `PlatformUtilityModule`, `SystemModule`, etc.):
20
+
21
+ ```ts
22
+ import { Module, MiddlewareConsumer, RequestMethod } from '@nestjs/common';
23
+ import {
24
+ AccessModule,
25
+ AccessUtilityModule,
26
+ AccessWorkflowModule, // optional — approval / delegation
27
+ BusinessMiddleware,
28
+ } from '@servicelabsco/slabs-access-manager';
29
+ import {
30
+ AuthModule,
31
+ BasicAuthMiddleware,
32
+ JwtMiddleware,
33
+ PlatformUtilityModule,
34
+ RestrictedMiddleware,
35
+ SystemModule,
36
+ } from '@servicelabsco/nestjs-utility-services';
37
+
38
+ @Module({
39
+ imports: [
40
+ // your TypeOrmModule.forRoot(...), BullModule.forRoot(...), ConfigModule, …
41
+ AuthModule,
42
+ SystemModule,
43
+ PlatformUtilityModule,
44
+ AccessModule,
45
+ AccessUtilityModule,
46
+ AccessWorkflowModule,
47
+ ],
48
+ })
49
+ export class AppModule {
50
+ configure(consumer: MiddlewareConsumer) {
51
+ consumer.apply(JwtMiddleware, BasicAuthMiddleware).forRoutes({ path: '*', method: RequestMethod.ALL });
52
+ consumer.apply(RestrictedMiddleware).forRoutes({ path: 'api/*', method: RequestMethod.ALL });
53
+ consumer.apply(BusinessMiddleware).forRoutes({ path: 'api/b/*', method: RequestMethod.ALL });
54
+ }
55
+ }
56
+ ```
36
57
 
37
- ```bash
38
- # development
39
- $ npm run start
58
+ Adjust path prefixes to match your API. `BusinessMiddleware` loads business roles into `Auth.user()` for business-scoped routes.
59
+
60
+ ## Using the package
40
61
 
41
- # watch mode
42
- $ npm run start:dev
62
+ Import from the package root (barrel generated on publish):
43
63
 
44
- # production mode
45
- $ npm run start:prod
64
+ ```ts
65
+ import {
66
+ AccessModule,
67
+ AccessUtilityModule,
68
+ BusinessUserEntity,
69
+ BusinessUserRoleService,
70
+ ListingService,
71
+ NotificationService,
72
+ FileUploadService,
73
+ BusinessParamDto,
74
+ } from '@servicelabsco/slabs-access-manager';
46
75
  ```
47
76
 
48
- ## Test
77
+ Typical export categories:
49
78
 
50
- ```bash
51
- # unit tests
52
- $ npm run test
79
+ | Category | Examples |
80
+ | --- | --- |
81
+ | Modules | `AccessModule`, `AccessUtilityModule`, `AccessWorkflowModule` |
82
+ | Entities | `BusinessUserEntity`, `ApiAccountEntity`, `BulkUploadItemEntity`, … |
83
+ | Services | `ListingService`, `NotificationService`, `FileUploadService`, `ApiAccountService`, … |
84
+ | Libraries / use cases | `ProcessDbFind`, `SendEmailService`, `ProcessBusinessUserRoleUpdate`, … |
85
+ | DTOs | `BusinessParamDto`, `CommonListFilterDto`, `DbFindOptionsDto`, … |
86
+ | Middleware | `BusinessMiddleware` |
87
+
88
+ Prefer the public root exports. Deep `dist/...` paths are not a supported contract.
89
+
90
+ Inside handlers, use NU’s `Auth.user()` / `Auth.check()` — not `req.user`. Business context is usually at `Auth.user().auth_attributes.business_id`.
91
+
92
+ ## Domain modules
93
+
94
+ ### `AccessModule`
95
+
96
+ Core access domain: business users, roles, groups, menus, features, dashboards, reports, scripts, webhooks, choice lists, custom fields, listings, currencies, app integrations, and notification channels.
97
+
98
+ Depends on NU (`AuthModule`, `PlatformUtilityModule`, `SystemModule`) and pulls in `AccessUtilityModule`.
99
+
100
+ ### `AccessUtilityModule`
101
+
102
+ Shared utilities used by Access and by host apps: bulk upload, S3/Lambda file upload, PDF documents, UI policy, data-access helpers.
103
+
104
+ Uses `forwardRef(() => AccessModule)` to break the Nest cycle with Access.
105
+
106
+ ### `AccessWorkflowModule`
53
107
 
54
- # e2e tests
55
- $ npm run test:e2e
108
+ Approval workflow steps, stage activity, authority delegation, and related limit/config surfaces. Import only if your product uses workflows. Depends on both Access modules.
56
109
 
57
- # test coverage
58
- $ npm run test:cov
110
+ ## Database and migrations
111
+
112
+ Entities and migrations ship inside this package under `dist/`.
113
+
114
+ Your TypeORM config should load sibling `@servicelabsco/*` entities and migrations the same way this app does, for example:
115
+
116
+ ```ts
117
+ entities: [
118
+ join(__dirname, '/../**/**/*.entity.{ts,js}'),
119
+ join(__dirname, '..', '..', 'node_modules/@servicelabsco/**/*.entity.{ts,js}'),
120
+ ],
121
+ migrations: [
122
+ join(__dirname, '/../migrations/**/*.{ts,js}'),
123
+ join(__dirname, '..', '..', 'node_modules/@servicelabsco/**/migrations/**/*.{ts,js}'),
124
+ ],
125
+ migrationsTableName: 'sys_migrations',
126
+ synchronize: false,
59
127
  ```
60
128
 
61
- ## Support
129
+ Run migrations from the **host** app (or this package when you run it as a server). Do not enable `synchronize` against these tables.
130
+
131
+ Naming uses TypeORM `SnakeNamingStrategy` (`businessId` → `business_id`).
132
+
133
+ ## Jobs and entity events (NU 3.0.5)
134
+
135
+ From NU `3.0.5`, entity-bound queue work and TypeORM subscribers can coexist:
136
+
137
+ - **Post-persist / async side effects** live on jobs decorated with `@SubscribeFor(SomeEntity)` (they receive `DatabaseEventDto` via the dispatcher after commit).
138
+ - **Synchronous `beforeInsert` / `beforeUpdate` / …** stay on TypeORM subscribers that extend `CommonSubscriber`.
139
+
140
+ Empty no-op jobs and subscribers were removed in 2.0. Do not reintroduce “subscriber only to `delayedDispatch` + job handling the same event” — that double-fires under the new model.
141
+
142
+ If you extend this package with your own entity reactions, follow the same split: mutate rows in `before*`, enqueue or react after persist with `@SubscribeFor`.
143
+
144
+ ## Auth and HTTP surface
145
+
146
+ When you mount these modules, their controllers register under your Nest app. Protect them with the same middleware chain your product already uses for NU:
147
+
148
+ | Prefix (typical) | Middleware | Principal |
149
+ | --- | --- | --- |
150
+ | `*` | `JwtMiddleware`, `BasicAuthMiddleware` | Parse credentials if present |
151
+ | `api/*` | + `RestrictedMiddleware` | Authenticated JWT user |
152
+ | `api/b/*` | + `BusinessMiddleware` | Business roles on `Auth.user()` |
153
+ | `v1/*` / `internal/*` | Host-defined | API-key or server-to-server |
154
+
155
+ Exact routes depend on which modules you import. Treat published controllers, DTOs, and entities as a **versioned contract** — bumping this package can change them for every consumer.
156
+
157
+ ## Runtime expectations
158
+
159
+ Consumers usually already provide:
160
+
161
+ - Postgres (primary; optional read replica connection named `'read'`)
162
+ - Redis + BullMQ (`BULL_QUEUE_NAME` / queue config compatible with NU)
163
+ - JWT / app secrets as required by `nestjs-utility-services`
164
+
165
+ This package does not replace your `AppModule` bootstrap; it plugs into it.
62
166
 
63
- Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
167
+ ## Versioning
64
168
 
65
- ## Stay in touch
169
+ - **npm:** `@servicelabsco/slabs-access-manager`
170
+ - **2.x** — current major (NU `^3.0.5`, Node `>=24.11`, `@SubscribeFor` job model)
171
+ - Follow semver: breaking public surface → new major
66
172
 
67
- - Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
68
- - Website - [https://nestjs.com](https://nestjs.com/)
69
- - Twitter - [@nestframework](https://twitter.com/nestframework)
173
+ Check [npm](https://www.npmjs.com/package/@servicelabsco/slabs-access-manager) for the latest published version.
70
174
 
71
175
  ## License
72
176
 
73
- Nest is [MIT licensed](LICENSE).
177
+ MIT
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BusinessGroupRoleJob = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const nestjs_utility_services_1 = require("@servicelabsco/nestjs-utility-services");
15
- const business_group_role_entity_1 = require("../entities/business.group.role.entity");
16
15
  const business_user_group_entity_1 = require("../entities/business.user.group.entity");
17
16
  const process_business_group_role_updation_1 = require("../libraries/process.business.group.role.updation");
18
17
  let BusinessGroupRoleJob = class BusinessGroupRoleJob extends nestjs_utility_services_1.CommonJob {
@@ -40,7 +39,6 @@ let BusinessGroupRoleJob = class BusinessGroupRoleJob extends nestjs_utility_ser
40
39
  };
41
40
  exports.BusinessGroupRoleJob = BusinessGroupRoleJob;
42
41
  exports.BusinessGroupRoleJob = BusinessGroupRoleJob = __decorate([
43
- (0, nestjs_utility_services_1.SubscribeFor)(business_group_role_entity_1.BusinessGroupRoleEntity),
44
42
  (0, common_1.Injectable)(),
45
43
  __metadata("design:paramtypes", [nestjs_utility_services_1.QueueService,
46
44
  nestjs_utility_services_1.SqlService])
@@ -1 +1 @@
1
- {"version":3,"file":"business.group.role.job.js","sourceRoot":"","sources":["../../../src/access/jobs/business.group.role.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA6H;AAC7H,uFAAiF;AACjF,uFAAiF;AACjF,4GAAqG;AAQ9F,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mCAAS;IAC/C,YACuB,YAA0B,EAC5B,UAAsB;QAEvC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAHvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,eAAU,GAAV,UAAU,CAAY;IAG3C,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,GAA8C;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAQO,KAAK,CAAC,cAAc,CAAC,GAA8C;QACvE,OAAO,IAAI,uEAAgC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAQO,KAAK,CAAC,eAAe,CAAC,EAAU;QACpC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,GAAG,GAAG,8DAA8D,EAAE,yBAAyB,CAAC;QAEtG,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE/C,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AA7CY,oDAAoB;+BAApB,oBAAoB;IAFhC,IAAA,sCAAY,EAAC,oDAAuB,CAAC;IACrC,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QAChB,oCAAU;GAHlC,oBAAoB,CA6ChC"}
1
+ {"version":3,"file":"business.group.role.job.js","sourceRoot":"","sources":["../../../src/access/jobs/business.group.role.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAA+G;AAE/G,uFAAiF;AACjF,4GAAqG;AAW9F,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mCAAS;IAC/C,YACuB,YAA0B,EAC5B,UAAsB;QAEvC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAHvB,iBAAY,GAAZ,YAAY,CAAc;QAC5B,eAAU,GAAV,UAAU,CAAY;IAG3C,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,GAA8C;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAQO,KAAK,CAAC,cAAc,CAAC,GAA8C;QACvE,OAAO,IAAI,uEAAgC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAQO,KAAK,CAAC,eAAe,CAAC,EAAU;QACpC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,GAAG,GAAG,8DAA8D,EAAE,yBAAyB,CAAC;QAEtG,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE/C,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AA7CY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAG4B,sCAAY;QAChB,oCAAU;GAHlC,oBAAoB,CA6ChC"}
@@ -1,9 +1,9 @@
1
1
  import { CommonJob, DatabaseEventDto, QueueService } from '@servicelabsco/nestjs-utility-services';
2
- import { GroupRoleEntity } from '../entities/group.role.entity';
2
+ import { BusinessGroupRoleEntity } from '../entities/business.group.role.entity';
3
3
  export declare class GroupRoleJob extends CommonJob {
4
4
  protected readonly queueService: QueueService;
5
5
  constructor(queueService: QueueService);
6
- handle(evt: DatabaseEventDto<GroupRoleEntity>): Promise<void>;
7
- handleInsertion(evt: DatabaseEventDto<GroupRoleEntity>): Promise<any>;
8
- handleDeletion(evt: DatabaseEventDto<GroupRoleEntity>): Promise<void>;
6
+ handle(evt: DatabaseEventDto<BusinessGroupRoleEntity>): Promise<void>;
7
+ handleInsertion(evt: DatabaseEventDto<BusinessGroupRoleEntity>): Promise<any>;
8
+ handleDeletion(evt: DatabaseEventDto<BusinessGroupRoleEntity>): Promise<void>;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group.role.job.js","sourceRoot":"","sources":["../../../src/access/jobs/group.role.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAiH;AAEjH,mEAA8D;AAC9D,uDAAwD;AACxD,uFAAiF;AACjF,yEAAoE;AACpE,uFAAiF;AAQ1E,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,mCAAS;IACvC,YAA+B,YAA0B;QACrD,KAAK,CAAC,kCAAkC,CAAC,CAAC;QADf,iBAAY,GAAZ,YAAY,CAAc;IAEzD,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,GAAsC;QAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAOD,KAAK,CAAC,eAAe,CAAC,GAAsC;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,uCAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,iCAAc,CAAC,aAAa,CAAC;gBAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAOD,KAAK,CAAC,cAAc,CAAC,GAAsC;QACvD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YAAE,OAAO;QACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAEnC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,uCAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,iCAAc,CAAC,UAAU,CAAC;gBAC5B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAA;AA3DY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,sCAAY,EAAC,oDAAuB,CAAC;IACrC,IAAA,mBAAU,GAAE;qCAEoC,sCAAY;GADhD,YAAY,CA2DxB"}
1
+ {"version":3,"file":"group.role.job.js","sourceRoot":"","sources":["../../../src/access/jobs/group.role.job.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oFAAiH;AACjH,mEAA8D;AAC9D,uDAAwD;AACxD,uFAAiF;AACjF,yEAAoE;AACpE,uFAAiF;AAY1E,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,mCAAS;IACvC,YAA+B,YAA0B;QACrD,KAAK,CAAC,kCAAkC,CAAC,CAAC;QADf,iBAAY,GAAZ,YAAY,CAAc;IAEzD,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,GAA8C;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAOD,KAAK,CAAC,eAAe,CAAC,GAA8C;QAChE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,uCAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,iCAAc,CAAC,aAAa,CAAC;gBAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAOD,KAAK,CAAC,cAAc,CAAC,GAA8C;QAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YAAE,OAAO;QACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAEnC,MAAM,KAAK,GAAG,MAAM,oDAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAM,uCAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,iCAAc,CAAC,UAAU,CAAC;gBAC5B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;aACjC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAA;AA3DY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,sCAAY,EAAC,oDAAuB,CAAC;IACrC,IAAA,mBAAU,GAAE;qCAEoC,sCAAY;GADhD,YAAY,CA2DxB"}
@@ -41,6 +41,9 @@ export declare class ListingService {
41
41
  getQuery(listing: ProcessCommonList): string;
42
42
  private assertSafeFilterQuery;
43
43
  private handleIdsFilter;
44
+ private columnAlias;
45
+ private getOrderBody;
46
+ private assertSafeClientOrder;
44
47
  getRecords(listing: ProcessCommonList): Promise<void>;
45
48
  aggregate(listing: ProcessCommonList): Promise<{
46
49
  aggregate: any;
@@ -196,12 +196,36 @@ let ListingService = class ListingService {
196
196
  const idsCompareKey = this.options?.idsCompareKey || 'a.id';
197
197
  return `${idsCompareKey} in (${this.options?.ids.join(',')})`;
198
198
  }
199
+ columnAlias(column) {
200
+ const last = (column || '').trim().split(/\s+/).pop() || '';
201
+ return last.split('.').pop().toLowerCase();
202
+ }
203
+ getOrderBody(listing) {
204
+ this.assertSafeClientOrder(listing.getFilter().order);
205
+ const requested = listing.getFilter().order ?? listing.getConfig().order;
206
+ const order = typeof requested === 'string' ? requested.trim() : '';
207
+ if (listing.getConfig().api_config)
208
+ return order;
209
+ const columns = listing.getConfig().columns || [];
210
+ const hasId = columns.some((column) => this.columnAlias(column) === 'id');
211
+ if (!hasId)
212
+ return order;
213
+ if (/\bsq\.id\b/i.test(order))
214
+ return order;
215
+ return order ? `${order}, sq.id desc` : `sq.id desc`;
216
+ }
217
+ assertSafeClientOrder(order) {
218
+ if (typeof order !== 'string' || !order.trim())
219
+ return;
220
+ if (!this.sqlService.isSafeOrderBy(order))
221
+ throw new nestjs_utility_services_1.OperationException(`Invalid order clause: ${order}`);
222
+ }
199
223
  async getRecords(listing) {
200
224
  const filter = listing.getFilter();
201
225
  const limit = filter.limit ?? 20;
202
226
  const page = filter.page || 1;
203
227
  const offset = (page - 1) * limit;
204
- const order = listing.getFilter().order || listing.getConfig().order;
228
+ const order = this.getOrderBody(listing);
205
229
  const sql = `select sq.* from ${listing.getQuery()} ${order ? `order by ${order}` : ''} limit ${limit} offset ${offset}`;
206
230
  let response = listing.getResponse();
207
231
  response.stats.limit = limit;
@@ -226,7 +250,8 @@ let ListingService = class ListingService {
226
250
  if (!listing.getFilter()?.listing_slug)
227
251
  throw new nestjs_utility_services_1.OperationException(`listing slug is mandatory for csv exports`);
228
252
  const limit = await this.getDownloadLimit(listing.getBusiness().id);
229
- const dataSql = `select sq.* from ${listing.getQuery()} limit ${limit}`;
253
+ const order = this.getOrderBody(listing);
254
+ const dataSql = `select sq.* from ${listing.getQuery()} ${order ? `order by ${order}` : ''} limit ${limit}`;
230
255
  const records = await this.sqlService.read(dataSql);
231
256
  return new process_listing_csv_file_1.ProcessListingCsvFile(this.uploadService, this.sqlService).process(listing.getFilter().listing_slug, records);
232
257
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listing.service.js","sourceRoot":"","sources":["../../../src/access/services/listing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing.service.js","sourceRoot":"","sources":["../../../src/access/services/listing.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicelabsco/slabs-access-manager",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Support for application level menus and dashboards",
5
5
  "author": "Hemant Kumar Sah <hemantanshu@gmail.com>",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "@googleapis/chat": "^44.6.0",
47
47
  "@modelcontextprotocol/sdk": "^1.29.0",
48
48
  "@nestjs/typeorm": "^11.0.0",
49
- "@servicelabsco/nestjs-utility-services": "^3.0.5",
49
+ "@servicelabsco/nestjs-utility-services": "^3.0.7",
50
50
  "cheerio": "^1.0.0",
51
51
  "csv-parse": "^6.2.1",
52
52
  "csv-parser": "^3.0.0",