@lilaquadrat/studio 10.0.0-beta.4 → 10.0.0-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/lib/main.d.ts +1 -2
- package/lib/main.js +1 -2
- package/lib/main.js.map +1 -1
- package/lib/services.d.ts +1 -4
- package/lib/services.js +9 -4
- package/lib/services.js.map +1 -1
- package/lib/src/services/certificates.service.d.ts +0 -56
- package/lib/src/services/certificates.service.js +198 -168
- package/lib/src/services/certificates.service.js.map +1 -1
- package/lib/src/services/certificatesAction.service.d.ts +0 -41
- package/lib/src/services/certificatesAction.service.js +236 -187
- package/lib/src/services/certificatesAction.service.js.map +1 -1
- package/lib/src/services/domains.service.d.ts +2 -9
- package/lib/src/services/domains.service.js +72 -48
- package/lib/src/services/domains.service.js.map +1 -1
- package/lib/src/services/publishData.service.d.ts +2 -2
- package/lib/src/services/publishData.service.js +26 -13
- package/lib/src/services/publishData.service.js.map +1 -1
- package/lib/src/services/universal.service.d.ts +0 -17
- package/lib/src/services/universal.service.js +166 -141
- package/lib/src/services/universal.service.js.map +1 -1
- package/package.json +1 -5
- package/lib/src/classes/ControllerBase.class.d.ts +0 -114
- package/lib/src/classes/ControllerBase.class.js +0 -268
- package/lib/src/classes/ControllerBase.class.js.map +0 -1
|
@@ -1,142 +1,167 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
1
|
+
// import {
|
|
2
|
+
// Filter, WithId, Sort, SortDirection, ObjectId,
|
|
3
|
+
// } from 'mongodb';
|
|
4
|
+
// import { Immutable, Modelv2, ControllerBase } from '../../main.js';
|
|
5
|
+
// import { BasicData, Content, DatabaseQueryOptions, Universal } from '@lilaquadrat/interfaces';
|
|
6
|
+
// export default class UniversalService extends Immutable<Universal> {
|
|
7
|
+
// limit = 30;
|
|
8
|
+
// search = ['name', 'id'];
|
|
9
|
+
// constructor(model: Modelv2<Universal>) {
|
|
10
|
+
// super();
|
|
11
|
+
// if (!model) throw new Error('UNIVERSAL_SERVICE_MODEL_MISSING');
|
|
12
|
+
// this.model = model;
|
|
13
|
+
// }
|
|
14
|
+
// single(
|
|
15
|
+
// stringOrObjectID: BasicData<Content>['_id'] | string | number,
|
|
16
|
+
// company: string,
|
|
17
|
+
// project: string,
|
|
18
|
+
// app: string,
|
|
19
|
+
// model: string,
|
|
20
|
+
// affectedStates?: Content['state'][],
|
|
21
|
+
// ) {
|
|
22
|
+
// const query: Filter<Universal> = {
|
|
23
|
+
// company,
|
|
24
|
+
// project,
|
|
25
|
+
// app,
|
|
26
|
+
// model,
|
|
27
|
+
// };
|
|
28
|
+
// if (typeof stringOrObjectID === 'string' || typeof stringOrObjectID === 'number') {
|
|
29
|
+
// query.id = stringOrObjectID;
|
|
30
|
+
// }
|
|
31
|
+
// if (typeof stringOrObjectID === 'object') {
|
|
32
|
+
// query._id = stringOrObjectID;
|
|
33
|
+
// }
|
|
34
|
+
// if (affectedStates) {
|
|
35
|
+
// query.state = { $in: affectedStates };
|
|
36
|
+
// }
|
|
37
|
+
// return this.model.db.findOne(query);
|
|
38
|
+
// }
|
|
39
|
+
// existsById(
|
|
40
|
+
// id: string | number,
|
|
41
|
+
// company: string,
|
|
42
|
+
// project: string,
|
|
43
|
+
// app: string,
|
|
44
|
+
// model: string,
|
|
45
|
+
// ) {
|
|
46
|
+
// return this.model.db
|
|
47
|
+
// .countDocuments({
|
|
48
|
+
// id,
|
|
49
|
+
// company,
|
|
50
|
+
// project,
|
|
51
|
+
// app,
|
|
52
|
+
// model,
|
|
53
|
+
// })
|
|
54
|
+
// .then((found) => found > 0);
|
|
55
|
+
// }
|
|
56
|
+
// getByInternalId(
|
|
57
|
+
// _id: ObjectId,
|
|
58
|
+
// company: string,
|
|
59
|
+
// project: string,
|
|
60
|
+
// app: string,
|
|
61
|
+
// model: string,
|
|
62
|
+
// affectedStates?: Content['state'][],
|
|
63
|
+
// ) {
|
|
64
|
+
// return this.single(_id, company, project, app, model, affectedStates);
|
|
65
|
+
// }
|
|
66
|
+
// list(
|
|
67
|
+
// query: Filter<WithId<Universal>>,
|
|
68
|
+
// select: Record<string, number>,
|
|
69
|
+
// site: number,
|
|
70
|
+
// limit: number,
|
|
71
|
+
// model: Modelv2<Universal>,
|
|
72
|
+
// sort?: string,
|
|
73
|
+
// order?: number,
|
|
74
|
+
// ) {
|
|
75
|
+
// let realSite: number = 0;
|
|
76
|
+
// let realSelect: Record<keyof Universal, number>;
|
|
77
|
+
// let realSort: Record<string, SortDirection> = {};
|
|
78
|
+
// let all: number;
|
|
79
|
+
// /**
|
|
80
|
+
// * see comment from this function
|
|
81
|
+
// */
|
|
82
|
+
// if (site) realSite = site - 1;
|
|
83
|
+
// const skipLimit = ControllerBase.getLimit(realSite, limit, this.limit);
|
|
84
|
+
// if (select) {
|
|
85
|
+
// realSelect = { ...select };
|
|
86
|
+
// } else {
|
|
87
|
+
// realSelect = { history: 0 };
|
|
88
|
+
// }
|
|
89
|
+
// if (sort && order) {
|
|
90
|
+
// realSort[`${sort === 'updated' ? 'history.updated' : sort}`] = +order as SortDirection;
|
|
91
|
+
// } else {
|
|
92
|
+
// realSort = { _id: 1 };
|
|
93
|
+
// }
|
|
94
|
+
// return model.db
|
|
95
|
+
// .countDocuments(query as Filter<Universal>)
|
|
96
|
+
// .then((count: number) => {
|
|
97
|
+
// all = count;
|
|
98
|
+
// return model.db
|
|
99
|
+
// .find(query, { projection: realSelect })
|
|
100
|
+
// .limit(skipLimit.limit)
|
|
101
|
+
// .skip(skipLimit.skip)
|
|
102
|
+
// .sort(realSort)
|
|
103
|
+
// .toArray();
|
|
104
|
+
// })
|
|
105
|
+
// .then((data) => ({ data, all, count: data.length }));
|
|
106
|
+
// }
|
|
107
|
+
// buildQuery(
|
|
108
|
+
// query: Filter<WithId<Universal>>,
|
|
109
|
+
// company?: string,
|
|
110
|
+
// project?: string | boolean,
|
|
111
|
+
// options?: DatabaseQueryOptions,
|
|
112
|
+
// ) {
|
|
113
|
+
// const realQuery: Record<string, any> = { ...query };
|
|
114
|
+
// const orArray: Object[] = [];
|
|
115
|
+
// let tags: string[];
|
|
116
|
+
// let keepTags = false;
|
|
117
|
+
// let keepSearch = false;
|
|
118
|
+
// let keepSort = false;
|
|
119
|
+
// if (company) realQuery.company = company;
|
|
120
|
+
// if (project) realQuery.project = project;
|
|
121
|
+
// if (project === false) realQuery.project = { $exists: false };
|
|
122
|
+
// if (options) {
|
|
123
|
+
// if (options.keepTags) keepTags = true;
|
|
124
|
+
// if (options.keepSearch) keepSearch = true;
|
|
125
|
+
// if (options.keepSort) keepSort = true;
|
|
126
|
+
// }
|
|
127
|
+
// if (!keepSort) {
|
|
128
|
+
// delete realQuery.sort;
|
|
129
|
+
// delete realQuery.order;
|
|
130
|
+
// }
|
|
131
|
+
// if (query.available) {
|
|
132
|
+
// realQuery.available = query.available === 'true';
|
|
133
|
+
// }
|
|
134
|
+
// /**
|
|
135
|
+
// * make sure tags are an array
|
|
136
|
+
// */
|
|
137
|
+
// if (query.tags && !keepTags) {
|
|
138
|
+
// if (!Array.isArray(query.tags)) {
|
|
139
|
+
// tags = [query.tags];
|
|
140
|
+
// } else {
|
|
141
|
+
// tags = query.tags;
|
|
142
|
+
// }
|
|
143
|
+
// realQuery.tags = { $in: tags };
|
|
144
|
+
// }
|
|
145
|
+
// if (query.search && !keepSearch) {
|
|
146
|
+
// if (this.search.length > 1) {
|
|
147
|
+
// this.search.forEach((single: string) => {
|
|
148
|
+
// orArray.push({
|
|
149
|
+
// [single]: {
|
|
150
|
+
// $regex: query.search.toLowerCase().trim(),
|
|
151
|
+
// $options: 'i',
|
|
152
|
+
// },
|
|
153
|
+
// });
|
|
154
|
+
// });
|
|
155
|
+
// realQuery.$or = orArray;
|
|
156
|
+
// } else {
|
|
157
|
+
// realQuery[this.search[0]] = {
|
|
158
|
+
// $regex: query.search.toLowerCase().trim(),
|
|
159
|
+
// $options: 'i',
|
|
160
|
+
// };
|
|
161
|
+
// }
|
|
162
|
+
// delete realQuery.search;
|
|
163
|
+
// }
|
|
164
|
+
// return realQuery as Filter<WithId<Universal>>;
|
|
165
|
+
// }
|
|
166
|
+
// }
|
|
142
167
|
//# sourceMappingURL=universal.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal.service.js","sourceRoot":"","sources":["../../../src/services/universal.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"universal.service.js","sourceRoot":"","sources":["../../../src/services/universal.service.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,mDAAmD;AACnD,oBAAoB;AACpB,sEAAsE;AACtE,iGAAiG;AAEjG,uEAAuE;AAEvE,gBAAgB;AAEhB,6BAA6B;AAE7B,6CAA6C;AAE7C,eAAe;AAEf,sEAAsE;AAEtE,0BAA0B;AAE1B,MAAM;AAEN,YAAY;AACZ,qEAAqE;AACrE,uBAAuB;AACvB,uBAAuB;AACvB,mBAAmB;AACnB,qBAAqB;AACrB,2CAA2C;AAC3C,QAAQ;AAER,yCAAyC;AACzC,iBAAiB;AACjB,iBAAiB;AACjB,aAAa;AACb,eAAe;AACf,SAAS;AAET,0FAA0F;AAE1F,qCAAqC;AAErC,QAAQ;AAER,kDAAkD;AAElD,sCAAsC;AAEtC,QAAQ;AAER,4BAA4B;AAE5B,+CAA+C;AAE/C,QAAQ;AAER,2CAA2C;AAE3C,MAAM;AAEN,gBAAgB;AAChB,2BAA2B;AAC3B,uBAAuB;AACvB,uBAAuB;AACvB,mBAAmB;AACnB,qBAAqB;AACrB,QAAQ;AAER,2BAA2B;AAC3B,0BAA0B;AAC1B,cAAc;AACd,mBAAmB;AACnB,mBAAmB;AACnB,eAAe;AACf,iBAAiB;AACjB,WAAW;AACX,qCAAqC;AAErC,MAAM;AAEN,qBAAqB;AACrB,qBAAqB;AACrB,uBAAuB;AACvB,uBAAuB;AACvB,mBAAmB;AACnB,qBAAqB;AACrB,2CAA2C;AAC3C,QAAQ;AAER,6EAA6E;AAE7E,MAAM;AAEN,UAAU;AACV,wCAAwC;AACxC,sCAAsC;AACtC,oBAAoB;AACpB,qBAAqB;AACrB,iCAAiC;AACjC,qBAAqB;AACrB,sBAAsB;AACtB,QAAQ;AAER,gCAAgC;AAChC,uDAAuD;AACvD,wDAAwD;AACxD,uBAAuB;AAEvB,UAAU;AACV,wCAAwC;AACxC,UAAU;AACV,qCAAqC;AAErC,8EAA8E;AAE9E,oBAAoB;AAEpB,oCAAoC;AAEpC,eAAe;AAEf,qCAAqC;AAErC,QAAQ;AAER,2BAA2B;AAE3B,gGAAgG;AAEhG,eAAe;AAEf,+BAA+B;AAE/B,QAAQ;AAER,sBAAsB;AACtB,oDAAoD;AACpD,mCAAmC;AAEnC,uBAAuB;AAEvB,0BAA0B;AAC1B,qDAAqD;AACrD,oCAAoC;AACpC,kCAAkC;AAClC,4BAA4B;AAC5B,wBAAwB;AAExB,WAAW;AACX,8DAA8D;AAE9D,MAAM;AAEN,gBAAgB;AAChB,wCAAwC;AACxC,wBAAwB;AACxB,kCAAkC;AAClC,sCAAsC;AACtC,QAAQ;AAER,2DAA2D;AAC3D,oCAAoC;AAEpC,0BAA0B;AAC1B,4BAA4B;AAC5B,8BAA8B;AAC9B,4BAA4B;AAE5B,gDAAgD;AAChD,gDAAgD;AAChD,qEAAqE;AAErE,qBAAqB;AAErB,+CAA+C;AAC/C,mDAAmD;AACnD,+CAA+C;AAE/C,QAAQ;AAER,uBAAuB;AAEvB,+BAA+B;AAC/B,gCAAgC;AAEhC,QAAQ;AAER,6BAA6B;AAE7B,0DAA0D;AAE1D,QAAQ;AAER,UAAU;AACV,qCAAqC;AACrC,UAAU;AACV,qCAAqC;AAErC,0CAA0C;AAE1C,+BAA+B;AAE/B,iBAAiB;AAEjB,6BAA6B;AAE7B,UAAU;AAEV,wCAAwC;AAExC,QAAQ;AAER,yCAAyC;AAEzC,sCAAsC;AAEtC,oDAAoD;AAEpD,2BAA2B;AAC3B,0BAA0B;AAC1B,2DAA2D;AAC3D,+BAA+B;AAC/B,iBAAiB;AACjB,gBAAgB;AAEhB,cAAc;AAEd,mCAAmC;AAEnC,iBAAiB;AAEjB,wCAAwC;AACxC,uDAAuD;AACvD,2BAA2B;AAC3B,aAAa;AAEb,UAAU;AAEV,iCAAiC;AAEjC,QAAQ;AAER,qDAAqD;AAErD,MAAM;AAEN,IAAI"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lilaquadrat/studio",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.6",
|
|
4
4
|
"description": "classes and tools for STUDIO",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -122,10 +122,6 @@
|
|
|
122
122
|
"@lilaquadrat/interfaces": "^1.32.0",
|
|
123
123
|
"@nats-io/jetstream": "^3.2.0",
|
|
124
124
|
"@nats-io/transport-node": "^3.2.0",
|
|
125
|
-
"@root/acme": "^3.1.0",
|
|
126
|
-
"@root/csr": "^0.8.1",
|
|
127
|
-
"@root/keypairs": "^0.10.0",
|
|
128
|
-
"@root/pem": "^1.0.4",
|
|
129
125
|
"ajv": "^8.8.2",
|
|
130
126
|
"ajv-formats": "^2.1.0",
|
|
131
127
|
"ajv-keywords": "^5.1.0",
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Router, Response } from 'express';
|
|
2
|
-
import { Filter, MongoServerError, SortDirection, WithId, Document } from 'mongodb';
|
|
3
|
-
import { Modelv2 } from '../../main.js';
|
|
4
|
-
import ImmutableError from './errors/Immutable.error.js';
|
|
5
|
-
import { DatabaseQuerySites, DatabaseQueryOptions, ListOfModels } from '@lilaquadrat/interfaces';
|
|
6
|
-
import { ListCustomQueries } from '@lilaquadrat/interfaces';
|
|
7
|
-
import InvalidIdError from './errors/InvalidId.error.js';
|
|
8
|
-
import ForbiddenError from './errors/Forbidden.error.js';
|
|
9
|
-
export default abstract class ControllerBase {
|
|
10
|
-
logger: Console;
|
|
11
|
-
router: Router;
|
|
12
|
-
/**
|
|
13
|
-
* max documents per call.
|
|
14
|
-
* custom limit cant be higher than this
|
|
15
|
-
*
|
|
16
|
-
* @abstract
|
|
17
|
-
* @type {number}
|
|
18
|
-
* @memberof ControllerBase
|
|
19
|
-
*/
|
|
20
|
-
limit: number;
|
|
21
|
-
/**
|
|
22
|
-
* defines which fields are included or excluded if nothing is emitet
|
|
23
|
-
*
|
|
24
|
-
* @type {string}
|
|
25
|
-
* @memberof ControllerBase
|
|
26
|
-
*/
|
|
27
|
-
selectDefault: any;
|
|
28
|
-
/**
|
|
29
|
-
* defines which keys are used for regex search
|
|
30
|
-
* if more then one entry, it will be an $or
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* For example:
|
|
34
|
-
*
|
|
35
|
-
* ```ts
|
|
36
|
-
* {$or: [{ $regex: key1, $options: 'i' }, { $regex: key2, $options: 'i' }]}
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* @type {string[]}
|
|
40
|
-
* @memberof ControllerBase
|
|
41
|
-
*/
|
|
42
|
-
search: string[];
|
|
43
|
-
cleanErrors(errors: {
|
|
44
|
-
[key: string]: any;
|
|
45
|
-
}): {
|
|
46
|
-
[key: string]: any;
|
|
47
|
-
};
|
|
48
|
-
handleError(error: MongoServerError | ImmutableError | InvalidIdError | ForbiddenError, res: Response): void;
|
|
49
|
-
response(res: any, data: any, count?: number): void;
|
|
50
|
-
static buildResponse<M>(data: ListOfModels<M>, site: number, limit: number, hardLimit?: number): {
|
|
51
|
-
data: M[] | undefined;
|
|
52
|
-
all: number | undefined;
|
|
53
|
-
sites: DatabaseQuerySites;
|
|
54
|
-
count: number | undefined;
|
|
55
|
-
};
|
|
56
|
-
static getLimit(site: number, limit: number, hardLimit?: number): {
|
|
57
|
-
skip: number;
|
|
58
|
-
limit: number;
|
|
59
|
-
};
|
|
60
|
-
static getRealLimit(limit: number, hardLimit?: number): number;
|
|
61
|
-
getSort(sort?: string, order?: '1' | 0): {};
|
|
62
|
-
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* @param {number} site
|
|
66
|
-
* @param {number} limit
|
|
67
|
-
* @param {number} count all data count regardless of site
|
|
68
|
-
* @param {number} current current count of documents
|
|
69
|
-
* @returns {DatabaseQuerySites}
|
|
70
|
-
* @memberof ControllerBase
|
|
71
|
-
*/
|
|
72
|
-
static getSites(site: number, limit: number, count: number, current: number): DatabaseQuerySites;
|
|
73
|
-
exec(): void;
|
|
74
|
-
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* @param {DatabaseQuery} query
|
|
78
|
-
* @param {string} [company]
|
|
79
|
-
* @param {string} [project]
|
|
80
|
-
* @param {DatabaseQueryOptions} [options]
|
|
81
|
-
* @returns
|
|
82
|
-
* @memberof ControllerBase
|
|
83
|
-
*/
|
|
84
|
-
buildQuery<M>(query: Filter<WithId<M>>, company?: string, project?: string | boolean, options?: DatabaseQueryOptions): Filter<WithId<M>>;
|
|
85
|
-
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* @param {DatabaseQuery} query
|
|
89
|
-
* @param {string} select
|
|
90
|
-
* @param {number} site start counting at 1 instead of zero. no site / zero will be the same as 1
|
|
91
|
-
* @param {number} limit
|
|
92
|
-
* @param {Model<Document>} model
|
|
93
|
-
* @param {string} [sort]
|
|
94
|
-
* @param {string} [order]
|
|
95
|
-
* @returns
|
|
96
|
-
* @memberof ControllerBase
|
|
97
|
-
*/
|
|
98
|
-
list<M extends Document>(query: Filter<M>, select: Record<string, number>, site: number, limit: number, model: Modelv2<M>, sort?: string, order?: number): Promise<{
|
|
99
|
-
data: WithId<M>[];
|
|
100
|
-
all: number;
|
|
101
|
-
count: number;
|
|
102
|
-
}>;
|
|
103
|
-
listCustomQuery<M extends Document>(queries: ListCustomQueries<M>, model: Modelv2<M>): Promise<{
|
|
104
|
-
all: number;
|
|
105
|
-
data: M[];
|
|
106
|
-
count: number;
|
|
107
|
-
}>;
|
|
108
|
-
static getSkipLimitSort(site: number, limit: number, sort?: string, order?: number): {
|
|
109
|
-
skip: number;
|
|
110
|
-
limit: number;
|
|
111
|
-
sort: Record<string, SortDirection>;
|
|
112
|
-
};
|
|
113
|
-
abstract routing(): void;
|
|
114
|
-
}
|