@zola_do/crud 0.2.3 → 0.2.5
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 +104 -1
- package/dist/controller/entity-crud.controller.d.ts +2 -2
- package/dist/controller/entity-crud.controller.js +60 -10
- package/dist/controller/entity-crud.controller.js.map +1 -1
- package/dist/controller/extra-crud.controller.d.ts +2 -2
- package/dist/controller/extra-crud.controller.js +59 -9
- package/dist/controller/extra-crud.controller.js.map +1 -1
- package/dist/controller/relation-crud.controller.d.ts +2 -2
- package/dist/controller/relation-crud.controller.js +58 -8
- package/dist/controller/relation-crud.controller.js.map +1 -1
- package/dist/crud-operation/repository/entity-crud.repository.js +1 -2
- package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
- package/dist/crud-operation/repository/extra-crud.repository.js +1 -2
- package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -1
- package/dist/optional/rpc.d.ts +1 -0
- package/dist/optional/rpc.js +18 -0
- package/dist/optional/rpc.js.map +1 -0
- package/dist/repository/index.d.ts +1 -0
- package/dist/repository/index.js +18 -0
- package/dist/repository/index.js.map +1 -0
- package/dist/request-context/index.d.ts +1 -0
- package/dist/request-context/index.js +18 -0
- package/dist/request-context/index.js.map +1 -0
- package/dist/service/entity-crud.service.d.ts +3 -3
- package/dist/service/entity-crud.service.js +111 -33
- package/dist/service/entity-crud.service.js.map +1 -1
- package/dist/service/extra-crud.service.d.ts +2 -2
- package/dist/service/extra-crud.service.js +111 -38
- package/dist/service/extra-crud.service.js.map +1 -1
- package/dist/service/relation-crud.service.js +15 -1
- package/dist/service/relation-crud.service.js.map +1 -1
- package/dist/shared/api-data/api-paginated-response.js +24 -0
- package/dist/shared/api-data/api-paginated-response.js.map +1 -1
- package/dist/shared/api-data/data-response-format.d.ts +6 -0
- package/dist/shared/api-data/data-response-format.js +24 -0
- package/dist/shared/api-data/data-response-format.js.map +1 -1
- package/dist/shared/exceptions/index.d.ts +0 -1
- package/dist/shared/exceptions/index.js +0 -1
- package/dist/shared/exceptions/index.js.map +1 -1
- package/dist/shared/request-context/apply-create-context.helper.js +17 -4
- package/dist/shared/request-context/apply-create-context.helper.js.map +1 -1
- package/dist/shared/types/crud-option.type.d.ts +69 -12
- package/dist/shared/utils/crud-hooks.helper.d.ts +31 -2
- package/dist/shared/utils/crud-hooks.helper.js +172 -1
- package/dist/shared/utils/crud-hooks.helper.js.map +1 -1
- package/dist/shared/utils/cursor-query.helper.d.ts +6 -0
- package/dist/shared/utils/cursor-query.helper.js +49 -0
- package/dist/shared/utils/cursor-query.helper.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/package.json +30 -1
package/README.md
CHANGED
|
@@ -14,6 +14,31 @@ npm install @zola_do/nestjs-shared
|
|
|
14
14
|
|
|
15
15
|
## Dependencies
|
|
16
16
|
|
|
17
|
+
- `@zola_do/collection-query`
|
|
18
|
+
- `@zola_do/authorization`
|
|
19
|
+
- Optional (only for RPC exception filter): `@nestjs/microservices`
|
|
20
|
+
|
|
21
|
+
## Recommended Imports
|
|
22
|
+
|
|
23
|
+
`@zola_do/crud` root imports remain fully supported for backward compatibility.
|
|
24
|
+
For new code, prefer focused subpath imports:
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { EntityCrudController } from '@zola_do/crud/controller';
|
|
28
|
+
import { EntityCrudService } from '@zola_do/crud/service';
|
|
29
|
+
import { EntityCrudRepository } from '@zola_do/crud/repository';
|
|
30
|
+
import {
|
|
31
|
+
CRUD_REQUEST_CONTEXT_RESOLVER,
|
|
32
|
+
CrudRequestContextResolver,
|
|
33
|
+
} from '@zola_do/crud/request-context';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Optional RPC exception filter stays available at:
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { ExceptionFilter } from '@zola_do/crud/optional/rpc';
|
|
40
|
+
```
|
|
41
|
+
|
|
17
42
|
## Usage
|
|
18
43
|
|
|
19
44
|
### Entity Setup
|
|
@@ -114,6 +139,72 @@ const options: EntityCrudOptions = {
|
|
|
114
139
|
};
|
|
115
140
|
```
|
|
116
141
|
|
|
142
|
+
### Operation Hooks and Policy Callbacks
|
|
143
|
+
|
|
144
|
+
`EntityCrudOptions` and `ExtraCrudOptions` support reusable per-operation hooks:
|
|
145
|
+
|
|
146
|
+
- `beforeCreate` / `afterCreate`
|
|
147
|
+
- `beforeFindAll` / `afterFindAll`
|
|
148
|
+
- `beforeFindOne` / `afterFindOne`
|
|
149
|
+
- `beforeUpdate` / `afterUpdate`
|
|
150
|
+
- `beforeDelete` / `afterDelete` (alias hooks)
|
|
151
|
+
- `beforeRestore` / `afterRestore`
|
|
152
|
+
|
|
153
|
+
Delete hook compatibility is preserved:
|
|
154
|
+
|
|
155
|
+
- Legacy: `beforeSoftDelete` / `afterSoftDelete`
|
|
156
|
+
- New alias: `beforeDelete` / `afterDelete`
|
|
157
|
+
- If both are configured, both run (legacy first, then alias)
|
|
158
|
+
|
|
159
|
+
Hooks receive operation context with request and mutable payload/filter data.
|
|
160
|
+
`service` is the injected CRUD service instance (for example, your subclass of
|
|
161
|
+
`EntityCrudService`), so hook code can call custom service methods directly:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
const options: EntityCrudOptions = {
|
|
165
|
+
blockedWriteFields: ['eventId'],
|
|
166
|
+
|
|
167
|
+
authorize: async ({ req, operation }) => {
|
|
168
|
+
if (!req?.user && operation !== 'findAll') return false;
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
beforeCreate: async ({ service, req, params, itemData }) => {
|
|
172
|
+
const userId = req?.user?.sub ?? req?.user?.id;
|
|
173
|
+
const eventId = params?.eventId;
|
|
174
|
+
if (!userId || !eventId) throw new UnauthorizedException();
|
|
175
|
+
|
|
176
|
+
await service.assertCanEditEvent(eventId, userId);
|
|
177
|
+
itemData.eventId = eventId;
|
|
178
|
+
itemData.status ??= 'pending';
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
beforeFindAll: async ({ service, req, params, where }) => {
|
|
182
|
+
const userId = req?.user?.sub ?? req?.user?.id;
|
|
183
|
+
await service.assertCanAccessEvent(params?.eventId, userId);
|
|
184
|
+
where.eventId = params?.eventId;
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
canUpdate: async ({ service, req, params }) => {
|
|
188
|
+
const userId = req?.user?.sub ?? req?.user?.id;
|
|
189
|
+
await service.assertCanEditEvent(params?.eventId, userId);
|
|
190
|
+
return true;
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
When using this pattern, define those methods in your app service class that
|
|
196
|
+
extends `EntityCrudService<T>` (or `ExtraCrudService<T>`).
|
|
197
|
+
|
|
198
|
+
Hook context includes:
|
|
199
|
+
|
|
200
|
+
- `req`, `params`, `query`
|
|
201
|
+
- `operation`, `id`
|
|
202
|
+
- `itemData` (mutable create/update payload)
|
|
203
|
+
- `where` (mutable filter scope for read/list operations)
|
|
204
|
+
- `service`, `repository`
|
|
205
|
+
- `entity`, `result` (when available)
|
|
206
|
+
- `setMeta(key, value)` / `getMeta(key)` for cross-hook metadata
|
|
207
|
+
|
|
117
208
|
### Endpoint Disabling (`operations`)
|
|
118
209
|
|
|
119
210
|
For `EntityCrudController` and `ExtraCrudController`, `operations` supports these keys:
|
|
@@ -202,8 +293,20 @@ export class ProductCategoriesController extends RelationCrudController(
|
|
|
202
293
|
- **Services:** `EntityCrudService`, `RelationCrudService`, `ExtraCrudService`
|
|
203
294
|
- **Repositories:** `EntityCrudRepository`, `RelationCrudRepository`, `ExtraCrudRepository`
|
|
204
295
|
- **Context Mapping:** `CRUD_REQUEST_CONTEXT_RESOLVER`, `CrudRequestContextResolver`
|
|
296
|
+
- **Subpath entrypoints:** `@zola_do/crud/controller`, `@zola_do/crud/service`, `@zola_do/crud/repository`, `@zola_do/crud/request-context`
|
|
297
|
+
- **Root entrypoint:** `@zola_do/crud` (supported for backward compatibility)
|
|
298
|
+
|
|
299
|
+
### Optional Features
|
|
300
|
+
|
|
301
|
+
`ExceptionFilter` for Nest microservices transport is available as an optional export:
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
import { ExceptionFilter } from '@zola_do/crud/optional/rpc';
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
When using this filter, install `@nestjs/microservices` in your app.
|
|
205
308
|
|
|
206
|
-
##
|
|
309
|
+
## Related Packages
|
|
207
310
|
|
|
208
311
|
- [@zola_do/collection-query](../collection-query) — Query decoding for list endpoints
|
|
209
312
|
- [@zola_do/authorization](../authorization) — Guards for protected CRUD
|
|
@@ -5,11 +5,11 @@ export declare function EntityCrudController<TEntity extends ObjectLiteral>(opti
|
|
|
5
5
|
new (service: EntityCrudService<TEntity>): {
|
|
6
6
|
readonly service: EntityCrudService<TEntity>;
|
|
7
7
|
create(itemData: DeepPartial<TEntity>, req?: any): Promise<TEntity>;
|
|
8
|
-
findAll(q?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
8
|
+
findAll(q?: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
9
9
|
findOne(id: string, req?: any): Promise<TEntity | undefined>;
|
|
10
10
|
update(id: string, itemData: Partial<TEntity>, req?: any): Promise<TEntity | undefined>;
|
|
11
11
|
softDelete(id: string, req?: any): Promise<void>;
|
|
12
12
|
restore(id: string, req?: any): Promise<void>;
|
|
13
|
-
findAllArchived(q?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
13
|
+
findAllArchived(q?: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
14
14
|
};
|
|
15
15
|
};
|
|
@@ -43,12 +43,16 @@ function EntityCrudController(options) {
|
|
|
43
43
|
async create(itemData, req) {
|
|
44
44
|
return await this.service.create(itemData, req, options);
|
|
45
45
|
}
|
|
46
|
-
async findAll(q, req) {
|
|
47
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
48
|
-
|
|
46
|
+
async findAll(q, cursor, limit, direction, req) {
|
|
47
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
48
|
+
cursor,
|
|
49
|
+
limit,
|
|
50
|
+
direction,
|
|
51
|
+
});
|
|
52
|
+
return await this.service.findAll(query, req, options);
|
|
49
53
|
}
|
|
50
54
|
async findOne(id, req) {
|
|
51
|
-
return await this.service.findOne(id, req);
|
|
55
|
+
return await this.service.findOne(id, req, options);
|
|
52
56
|
}
|
|
53
57
|
async update(id, itemData, req) {
|
|
54
58
|
return await this.service.update(id, itemData, req, options);
|
|
@@ -59,8 +63,12 @@ function EntityCrudController(options) {
|
|
|
59
63
|
async restore(id, req) {
|
|
60
64
|
return this.service.restore(id, req, options);
|
|
61
65
|
}
|
|
62
|
-
async findAllArchived(q, req) {
|
|
63
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
66
|
+
async findAllArchived(q, cursor, limit, direction, req) {
|
|
67
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
68
|
+
cursor,
|
|
69
|
+
limit,
|
|
70
|
+
direction,
|
|
71
|
+
});
|
|
64
72
|
return this.service.findAllArchived(query, req);
|
|
65
73
|
}
|
|
66
74
|
};
|
|
@@ -73,9 +81,12 @@ function EntityCrudController(options) {
|
|
|
73
81
|
], EntityCrudControllerHost.prototype, "create", null);
|
|
74
82
|
__decorate([
|
|
75
83
|
__param(0, (0, common_1.Query)('q')),
|
|
76
|
-
__param(1, (0, common_1.
|
|
84
|
+
__param(1, (0, common_1.Query)('cursor')),
|
|
85
|
+
__param(2, (0, common_1.Query)('limit')),
|
|
86
|
+
__param(3, (0, common_1.Query)('direction')),
|
|
87
|
+
__param(4, (0, common_1.Req)()),
|
|
77
88
|
__metadata("design:type", Function),
|
|
78
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
89
|
+
__metadata("design:paramtypes", [String, String, String, String, Object]),
|
|
79
90
|
__metadata("design:returntype", Promise)
|
|
80
91
|
], EntityCrudControllerHost.prototype, "findAll", null);
|
|
81
92
|
__decorate([
|
|
@@ -109,9 +120,12 @@ function EntityCrudController(options) {
|
|
|
109
120
|
], EntityCrudControllerHost.prototype, "restore", null);
|
|
110
121
|
__decorate([
|
|
111
122
|
__param(0, (0, common_1.Query)('q')),
|
|
112
|
-
__param(1, (0, common_1.
|
|
123
|
+
__param(1, (0, common_1.Query)('cursor')),
|
|
124
|
+
__param(2, (0, common_1.Query)('limit')),
|
|
125
|
+
__param(3, (0, common_1.Query)('direction')),
|
|
126
|
+
__param(4, (0, common_1.Req)()),
|
|
113
127
|
__metadata("design:type", Function),
|
|
114
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
128
|
+
__metadata("design:paramtypes", [String, String, String, String, Object]),
|
|
115
129
|
__metadata("design:returntype", Promise)
|
|
116
130
|
], EntityCrudControllerHost.prototype, "findAllArchived", null);
|
|
117
131
|
EntityCrudControllerHost = __decorate([
|
|
@@ -141,6 +155,24 @@ function EntityCrudController(options) {
|
|
|
141
155
|
description: 'Collection Query Parameter. Optional',
|
|
142
156
|
required: false,
|
|
143
157
|
}),
|
|
158
|
+
(0, swagger_1.ApiQuery)({
|
|
159
|
+
name: 'cursor',
|
|
160
|
+
type: String,
|
|
161
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
162
|
+
required: false,
|
|
163
|
+
}),
|
|
164
|
+
(0, swagger_1.ApiQuery)({
|
|
165
|
+
name: 'limit',
|
|
166
|
+
type: Number,
|
|
167
|
+
description: 'Cursor page size. Optional',
|
|
168
|
+
required: false,
|
|
169
|
+
}),
|
|
170
|
+
(0, swagger_1.ApiQuery)({
|
|
171
|
+
name: 'direction',
|
|
172
|
+
type: String,
|
|
173
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
174
|
+
required: false,
|
|
175
|
+
}),
|
|
144
176
|
(0, common_1.UseGuards)(findAllDisable.mode === 'block'
|
|
145
177
|
? new shared_1.CrudOperationDisabledGuard('findAll')
|
|
146
178
|
: (0, authorization_1.PermissionsGuard)(options === null || options === void 0 ? void 0 : options.viewPermission)),
|
|
@@ -196,6 +228,24 @@ function EntityCrudController(options) {
|
|
|
196
228
|
description: 'Collection Query Parameter. Optional',
|
|
197
229
|
required: false,
|
|
198
230
|
}),
|
|
231
|
+
(0, swagger_1.ApiQuery)({
|
|
232
|
+
name: 'cursor',
|
|
233
|
+
type: String,
|
|
234
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
235
|
+
required: false,
|
|
236
|
+
}),
|
|
237
|
+
(0, swagger_1.ApiQuery)({
|
|
238
|
+
name: 'limit',
|
|
239
|
+
type: Number,
|
|
240
|
+
description: 'Cursor page size. Optional',
|
|
241
|
+
required: false,
|
|
242
|
+
}),
|
|
243
|
+
(0, swagger_1.ApiQuery)({
|
|
244
|
+
name: 'direction',
|
|
245
|
+
type: String,
|
|
246
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
247
|
+
required: false,
|
|
248
|
+
}),
|
|
199
249
|
]);
|
|
200
250
|
}
|
|
201
251
|
return EntityCrudControllerHost;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-crud.controller.js","sourceRoot":"","sources":["../../src/controller/entity-crud.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"entity-crud.controller.js","sourceRoot":"","sources":["../../src/controller/entity-crud.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ export declare function ExtraCrudController<TEntity extends ObjectLiteral>(optio
|
|
|
7
7
|
new (service: ExtraCrudService<TEntity>): {
|
|
8
8
|
readonly service: ExtraCrudService<TEntity>;
|
|
9
9
|
create(itemData: DeepPartial<TEntity>, req?: any): Promise<TEntity>;
|
|
10
|
-
findAll(id: string, q: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
10
|
+
findAll(id: string, q: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
11
11
|
findOne(id: string, req?: any): Promise<TEntity | undefined>;
|
|
12
12
|
update(id: string, itemData: Partial<TEntity>, req?: any): Promise<TEntity | undefined>;
|
|
13
13
|
softDelete(id: string, req?: any): Promise<void>;
|
|
14
14
|
restore(id: string, req?: any): Promise<void>;
|
|
15
|
-
findAllArchived(id: string, q?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
15
|
+
findAllArchived(id: string, q?: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
@@ -47,12 +47,16 @@ function ExtraCrudController(options) {
|
|
|
47
47
|
async create(itemData, req) {
|
|
48
48
|
return await this.service.create(itemData, req, options);
|
|
49
49
|
}
|
|
50
|
-
async findAll(id, q, req) {
|
|
51
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
50
|
+
async findAll(id, q, cursor, limit, direction, req) {
|
|
51
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
52
|
+
cursor,
|
|
53
|
+
limit,
|
|
54
|
+
direction,
|
|
55
|
+
});
|
|
52
56
|
return await this.service.findAll(id, query, options, req);
|
|
53
57
|
}
|
|
54
58
|
async findOne(id, req) {
|
|
55
|
-
return await this.service.findOne(id, req);
|
|
59
|
+
return await this.service.findOne(id, req, options);
|
|
56
60
|
}
|
|
57
61
|
async update(id, itemData, req) {
|
|
58
62
|
return await this.service.update(id, itemData, req, options);
|
|
@@ -63,8 +67,12 @@ function ExtraCrudController(options) {
|
|
|
63
67
|
async restore(id, req) {
|
|
64
68
|
return await this.service.restore(id, req, options);
|
|
65
69
|
}
|
|
66
|
-
async findAllArchived(id, q, req) {
|
|
67
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
70
|
+
async findAllArchived(id, q, cursor, limit, direction, req) {
|
|
71
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
72
|
+
cursor,
|
|
73
|
+
limit,
|
|
74
|
+
direction,
|
|
75
|
+
});
|
|
68
76
|
return await this.service.findAllArchived(id, query, options, req);
|
|
69
77
|
}
|
|
70
78
|
};
|
|
@@ -78,9 +86,12 @@ function ExtraCrudController(options) {
|
|
|
78
86
|
__decorate([
|
|
79
87
|
__param(0, (0, common_1.Param)('id')),
|
|
80
88
|
__param(1, (0, common_1.Query)('q')),
|
|
81
|
-
__param(2, (0, common_1.
|
|
89
|
+
__param(2, (0, common_1.Query)('cursor')),
|
|
90
|
+
__param(3, (0, common_1.Query)('limit')),
|
|
91
|
+
__param(4, (0, common_1.Query)('direction')),
|
|
92
|
+
__param(5, (0, common_1.Req)()),
|
|
82
93
|
__metadata("design:type", Function),
|
|
83
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
94
|
+
__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
84
95
|
__metadata("design:returntype", Promise)
|
|
85
96
|
], ExtraCrudControllerHost.prototype, "findAll", null);
|
|
86
97
|
__decorate([
|
|
@@ -115,9 +126,12 @@ function ExtraCrudController(options) {
|
|
|
115
126
|
__decorate([
|
|
116
127
|
__param(0, (0, common_1.Param)('id')),
|
|
117
128
|
__param(1, (0, common_1.Query)('q')),
|
|
118
|
-
__param(2, (0, common_1.
|
|
129
|
+
__param(2, (0, common_1.Query)('cursor')),
|
|
130
|
+
__param(3, (0, common_1.Query)('limit')),
|
|
131
|
+
__param(4, (0, common_1.Query)('direction')),
|
|
132
|
+
__param(5, (0, common_1.Req)()),
|
|
119
133
|
__metadata("design:type", Function),
|
|
120
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
134
|
+
__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
121
135
|
__metadata("design:returntype", Promise)
|
|
122
136
|
], ExtraCrudControllerHost.prototype, "findAllArchived", null);
|
|
123
137
|
ExtraCrudControllerHost = __decorate([
|
|
@@ -146,6 +160,24 @@ function ExtraCrudController(options) {
|
|
|
146
160
|
description: 'Collection Query Parameter. Optional',
|
|
147
161
|
required: false,
|
|
148
162
|
}),
|
|
163
|
+
(0, swagger_1.ApiQuery)({
|
|
164
|
+
name: 'cursor',
|
|
165
|
+
type: String,
|
|
166
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
167
|
+
required: false,
|
|
168
|
+
}),
|
|
169
|
+
(0, swagger_1.ApiQuery)({
|
|
170
|
+
name: 'limit',
|
|
171
|
+
type: Number,
|
|
172
|
+
description: 'Cursor page size. Optional',
|
|
173
|
+
required: false,
|
|
174
|
+
}),
|
|
175
|
+
(0, swagger_1.ApiQuery)({
|
|
176
|
+
name: 'direction',
|
|
177
|
+
type: String,
|
|
178
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
179
|
+
required: false,
|
|
180
|
+
}),
|
|
149
181
|
(0, common_1.UseGuards)(findAllDisable.mode === 'block'
|
|
150
182
|
? new shared_1.CrudOperationDisabledGuard('findAll')
|
|
151
183
|
: (0, authorization_1.PermissionsGuard)(options.viewPermission)),
|
|
@@ -201,6 +233,24 @@ function ExtraCrudController(options) {
|
|
|
201
233
|
description: 'Collection Query Parameter. Optional',
|
|
202
234
|
required: false,
|
|
203
235
|
}),
|
|
236
|
+
(0, swagger_1.ApiQuery)({
|
|
237
|
+
name: 'cursor',
|
|
238
|
+
type: String,
|
|
239
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
240
|
+
required: false,
|
|
241
|
+
}),
|
|
242
|
+
(0, swagger_1.ApiQuery)({
|
|
243
|
+
name: 'limit',
|
|
244
|
+
type: Number,
|
|
245
|
+
description: 'Cursor page size. Optional',
|
|
246
|
+
required: false,
|
|
247
|
+
}),
|
|
248
|
+
(0, swagger_1.ApiQuery)({
|
|
249
|
+
name: 'direction',
|
|
250
|
+
type: String,
|
|
251
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
252
|
+
required: false,
|
|
253
|
+
}),
|
|
204
254
|
]);
|
|
205
255
|
}
|
|
206
256
|
return ExtraCrudControllerHost;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-crud.controller.js","sourceRoot":"","sources":["../../src/controller/extra-crud.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"extra-crud.controller.js","sourceRoot":"","sources":["../../src/controller/extra-crud.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AA8BA,kDAsOC;AApQD,2CAawB;AAExB,wCAA8C;AAC9C,6CAAmE;AACnE,gEAAkE;AAClE,0DAA0D;AAC1D,sCAOmB;AAEnB,MAAa,UAAU;CAAG;AAA1B,gCAA0B;AAE1B,SAAgB,mBAAmB,CACjC,OAAyB;;IAEzB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAE5C,MAAM,sBAAsB,GAAG,CAC7B,MAAkC,EACmB,EAAE;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAC5B,IAAS,EACT,UAAkB,EAClB,UAAsB,EACtB,EAAE;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE/E,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,IAGM,uBAAuB,GAH7B,MAGM,uBAAuB;QAC3B,YAA4B,OAAkC;YAAlC,YAAO,GAAP,OAAO,CAA2B;QAAG,CAAC;QAE5D,AAAN,KAAK,CAAC,MAAM,CACF,QAA8B,EAC/B,GAAS;YAEhB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAEK,AAAN,KAAK,CAAC,OAAO,CACE,EAAU,EACX,CAAS,EACJ,MAAe,EAChB,KAAc,EACV,SAAkB,EAC/B,GAAS;YAEhB,MAAM,KAAK,GAAG,IAAA,+BAAsB,EAAC,IAAA,wCAAqB,EAAC,CAAC,CAAC,EAAE;gBAC7D,MAAM;gBACN,KAAK;gBACL,SAAS;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAEK,AAAN,KAAK,CAAC,OAAO,CACE,EAAU,EAChB,GAAS;YAEhB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAEK,AAAN,KAAK,CAAC,MAAM,CACG,EAAU,EACf,QAA0B,EAC3B,GAAS;YAEhB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAEK,AAAN,KAAK,CAAC,UAAU,CAAc,EAAU,EAAS,GAAS;YACxD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAEK,AAAN,KAAK,CAAC,OAAO,CAAc,EAAU,EAAS,GAAS;YACrD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAEK,AAAN,KAAK,CAAC,eAAe,CACN,EAAU,EACX,CAAU,EACL,MAAe,EAChB,KAAc,EACV,SAAkB,EAC/B,GAAS;YAEhB,MAAM,KAAK,GAAG,IAAA,+BAAsB,EAAC,IAAA,wCAAqB,EAAC,CAAC,CAAC,EAAE;gBAC7D,MAAM;gBACN,KAAK;gBACL,SAAS;aACV,CAAC,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;KACF,CAAA;IA7DO;QACH,WAAA,IAAA,aAAI,GAAE,CAAA;QACN,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAGP;IAEK;QACH,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QACX,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;QACV,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;QACf,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;QACd,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;QAClB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0DAQP;IAEK;QACH,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QACX,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0DAGP;IAEK;QACH,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QACX,WAAA,IAAA,aAAI,GAAE,CAAA;QACN,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAGP;IAEK;QAAY,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QAAc,WAAA,IAAA,YAAG,GAAE,CAAA;;;;6DAE/C;IAEK;QAAS,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QAAc,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0DAE5C;IAEK;QACH,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QACX,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;QACV,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;QACf,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;QACd,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;QAClB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;kEAQP;IA/DG,uBAAuB;QAH5B,IAAA,mBAAU,GAAE;QACZ,IAAA,wBAAe,GAAgC;QAC/C,IAAA,uBAAa,GAAE;yCAEuB,0BAAgB;OADjD,uBAAuB,CAgE5B;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,qBAAqB,CAAC,uBAAuB,EAAE,QAAQ,EAAE;YACvD,IAAA,aAAI,GAAE;YACN,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,SAAS,IAAI,UAAU,EAAE,CAAC;YAC1C,IAAA,kBAAS,EACP,aAAa,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,CAAC,IAAI,mCAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC;gBAChE,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAC/C;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnC,qBAAqB,CAAC,uBAAuB,EAAE,SAAS,EAAE;YACxD,IAAA,YAAG,EAAC,UAAU,CAAC;YACf,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAS,EACP,cAAc,CAAC,IAAI,KAAK,OAAO;gBAC7B,CAAC,CAAC,IAAI,mCAA0B,CAAC,SAAS,CAAC;gBAC3C,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,cAAc,CAAC,CAC7C;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnC,qBAAqB,CAAC,uBAAuB,EAAE,SAAS,EAAE;YACxD,IAAA,YAAG,EAAC,KAAK,CAAC;YACV,IAAA,kBAAS,EACP,cAAc,CAAC,IAAI,KAAK,OAAO;gBAC7B,CAAC,CAAC,IAAI,mCAA0B,CAAC,SAAS,CAAC;gBAC3C,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,cAAc,CAAC,CAC7C;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,qBAAqB,CAAC,uBAAuB,EAAE,QAAQ,EAAE;YACvD,IAAA,YAAG,EAAC,KAAK,CAAC;YACV,IAAA,kBAAS,EACP,aAAa,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,CAAC,IAAI,mCAA0B,CAAC,QAAQ,CAAC;gBAC1C,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAC/C;YACD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,SAAS,IAAI,UAAU,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,qBAAqB,CAAC,uBAAuB,EAAE,YAAY,EAAE;YAC3D,IAAA,eAAM,EAAC,KAAK,CAAC;YACb,IAAA,kBAAS,EACP,aAAa,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,CAAC,IAAI,mCAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC;gBAChE,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAC/C;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnC,qBAAqB,CAAC,uBAAuB,EAAE,SAAS,EAAE;YACxD,IAAA,cAAK,EAAC,aAAa,CAAC;YACpB,IAAA,kBAAS,EACP,cAAc,CAAC,IAAI,KAAK,OAAO;gBAC7B,CAAC,CAAC,IAAI,mCAA0B,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC;gBAClE,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAChD;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC3E,IAAI,eAAe,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,qBAAqB,CAAC,uBAAuB,EAAE,iBAAiB,EAAE;YAChE,IAAA,YAAG,EAAC,yBAAyB,CAAC;YAC9B,IAAA,kBAAS,EACP,eAAe,CAAC,IAAI,KAAK,OAAO;gBAC9B,CAAC,CAAC,IAAI,mCAA0B,CAAC,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC;gBAC3E,CAAC,CAAC,IAAA,gCAAgB,EAAC,OAAO,CAAC,sBAAsB,CAAC,CACrD;YACD,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,4BAA4B;gBACzC,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,IAAA,kBAAQ,EAAC;gBACP,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,KAAK;aAChB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
|
|
@@ -6,7 +6,7 @@ export declare function RelationCrudController<TEntity extends ObjectLiteral>(op
|
|
|
6
6
|
readonly service: RelationCrudService<TEntity>;
|
|
7
7
|
bulkSaveFirst(itemData: any, req?: any): Promise<any>;
|
|
8
8
|
bulkSaveSecond(itemData: any, req?: any): Promise<any>;
|
|
9
|
-
findAllFirst(id: string, q: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
10
|
-
findAllSecond(id: string, q: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
9
|
+
findAllFirst(id: string, q: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
10
|
+
findAllSecond(id: string, q: string, cursor?: string, limit?: string, direction?: string, req?: any): Promise<DataResponseFormat<TEntity>>;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
@@ -47,12 +47,20 @@ function RelationCrudController(options) {
|
|
|
47
47
|
async bulkSaveSecond(itemData, req) {
|
|
48
48
|
return await this.service.bulkSaveSecond(itemData, options, req);
|
|
49
49
|
}
|
|
50
|
-
async findAllFirst(id, q, req) {
|
|
51
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
50
|
+
async findAllFirst(id, q, cursor, limit, direction, req) {
|
|
51
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
52
|
+
cursor,
|
|
53
|
+
limit,
|
|
54
|
+
direction,
|
|
55
|
+
});
|
|
52
56
|
return await this.service.findAllFirst(id, query, options);
|
|
53
57
|
}
|
|
54
|
-
async findAllSecond(id, q, req) {
|
|
55
|
-
const query = (0, collection_query_1.decodeCollectionQuery)(q)
|
|
58
|
+
async findAllSecond(id, q, cursor, limit, direction, req) {
|
|
59
|
+
const query = (0, shared_1.mergeCursorQueryParams)((0, collection_query_1.decodeCollectionQuery)(q), {
|
|
60
|
+
cursor,
|
|
61
|
+
limit,
|
|
62
|
+
direction,
|
|
63
|
+
});
|
|
56
64
|
return await this.service.findAllSecond(id, query, options);
|
|
57
65
|
}
|
|
58
66
|
};
|
|
@@ -73,17 +81,23 @@ function RelationCrudController(options) {
|
|
|
73
81
|
__decorate([
|
|
74
82
|
__param(0, (0, common_1.Param)('id')),
|
|
75
83
|
__param(1, (0, common_1.Query)('q')),
|
|
76
|
-
__param(2, (0, common_1.
|
|
84
|
+
__param(2, (0, common_1.Query)('cursor')),
|
|
85
|
+
__param(3, (0, common_1.Query)('limit')),
|
|
86
|
+
__param(4, (0, common_1.Query)('direction')),
|
|
87
|
+
__param(5, (0, common_1.Req)()),
|
|
77
88
|
__metadata("design:type", Function),
|
|
78
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
89
|
+
__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
79
90
|
__metadata("design:returntype", Promise)
|
|
80
91
|
], RelationCrudControllerHost.prototype, "findAllFirst", null);
|
|
81
92
|
__decorate([
|
|
82
93
|
__param(0, (0, common_1.Param)('id')),
|
|
83
94
|
__param(1, (0, common_1.Query)('q')),
|
|
84
|
-
__param(2, (0, common_1.
|
|
95
|
+
__param(2, (0, common_1.Query)('cursor')),
|
|
96
|
+
__param(3, (0, common_1.Query)('limit')),
|
|
97
|
+
__param(4, (0, common_1.Query)('direction')),
|
|
98
|
+
__param(5, (0, common_1.Req)()),
|
|
85
99
|
__metadata("design:type", Function),
|
|
86
|
-
__metadata("design:paramtypes", [String, String, Object]),
|
|
100
|
+
__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
87
101
|
__metadata("design:returntype", Promise)
|
|
88
102
|
], RelationCrudControllerHost.prototype, "findAllSecond", null);
|
|
89
103
|
RelationCrudControllerHost = __decorate([
|
|
@@ -127,6 +141,24 @@ function RelationCrudController(options) {
|
|
|
127
141
|
description: 'Collection Query Parameter. Optional',
|
|
128
142
|
required: false,
|
|
129
143
|
}),
|
|
144
|
+
(0, swagger_1.ApiQuery)({
|
|
145
|
+
name: 'cursor',
|
|
146
|
+
type: String,
|
|
147
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
148
|
+
required: false,
|
|
149
|
+
}),
|
|
150
|
+
(0, swagger_1.ApiQuery)({
|
|
151
|
+
name: 'limit',
|
|
152
|
+
type: Number,
|
|
153
|
+
description: 'Cursor page size. Optional',
|
|
154
|
+
required: false,
|
|
155
|
+
}),
|
|
156
|
+
(0, swagger_1.ApiQuery)({
|
|
157
|
+
name: 'direction',
|
|
158
|
+
type: String,
|
|
159
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
160
|
+
required: false,
|
|
161
|
+
}),
|
|
130
162
|
]);
|
|
131
163
|
}
|
|
132
164
|
const findAllSecondDisable = normalizeDisableConfig(operations.findAllSecond);
|
|
@@ -142,6 +174,24 @@ function RelationCrudController(options) {
|
|
|
142
174
|
description: 'Collection Query Parameter. Optional',
|
|
143
175
|
required: false,
|
|
144
176
|
}),
|
|
177
|
+
(0, swagger_1.ApiQuery)({
|
|
178
|
+
name: 'cursor',
|
|
179
|
+
type: String,
|
|
180
|
+
description: 'Cursor token for seek pagination. Optional',
|
|
181
|
+
required: false,
|
|
182
|
+
}),
|
|
183
|
+
(0, swagger_1.ApiQuery)({
|
|
184
|
+
name: 'limit',
|
|
185
|
+
type: Number,
|
|
186
|
+
description: 'Cursor page size. Optional',
|
|
187
|
+
required: false,
|
|
188
|
+
}),
|
|
189
|
+
(0, swagger_1.ApiQuery)({
|
|
190
|
+
name: 'direction',
|
|
191
|
+
type: String,
|
|
192
|
+
description: 'Cursor direction (n|p, also accepts next|prev). Optional',
|
|
193
|
+
required: false,
|
|
194
|
+
}),
|
|
145
195
|
]);
|
|
146
196
|
}
|
|
147
197
|
return RelationCrudControllerHost;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-crud.controller.js","sourceRoot":"","sources":["../../src/controller/relation-crud.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"relation-crud.controller.js","sourceRoot":"","sources":["../../src/controller/relation-crud.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,14 +33,13 @@ let EntityCrudRepository = class EntityCrudRepository {
|
|
|
33
33
|
async create(itemData, req, options) {
|
|
34
34
|
var _a, _b;
|
|
35
35
|
const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
|
|
36
|
-
await (0, shared_1.
|
|
36
|
+
await (0, shared_1.runBeforeCreatePipeline)({
|
|
37
37
|
itemData: payload,
|
|
38
38
|
req,
|
|
39
39
|
options,
|
|
40
40
|
resolver: this.requestContextResolver,
|
|
41
41
|
});
|
|
42
42
|
const repo = this.getRepository();
|
|
43
|
-
await (0, shared_1.runCrudHook)(options, "beforeCreate", { itemData: payload, req });
|
|
44
43
|
const item = repo.create(payload);
|
|
45
44
|
await repo.insert(item);
|
|
46
45
|
const createdItem = item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/entity-crud.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAgF;AAChF,2CAMwB;AACxB,gEAA8E;AAC9E,yCASsB;AACtB,uCAAuC;AAIhC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,UAAyB,EACjB,QAAkB,EAG1B,sBAAmD;QAJnD,eAAU,GAAV,UAAU,CAAe;QACjB,aAAQ,GAAR,QAAQ,CAAU;QAG1B,2BAAsB,GAAtB,sBAAsB,CAA6B;IACnE,CAAC;IACJ,aAAa;;QACX,MAAM,OAAO,GAAkB,IAAI,CAAC,QAAQ,CAAC,2BAAkB,CAAC,CAAC;QACjE,MAAM,IAAI,GACR,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,mCAC1D,IAAI,CAAC,UAAU,CAAC;QAClB,OAAO,IAAW,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,MAAM,CACV,QAA0B,EAC1B,GAAS,EACT,OAA2B;;QAE3B,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,QAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,IAAA,
|
|
1
|
+
{"version":3,"file":"entity-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/entity-crud.repository.ts"],"names":[],"mappings":"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"}
|