equipped 5.0.5 → 5.0.7

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.
Files changed (189) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/index.cjs +7 -0
  3. package/package.json +132 -29
  4. package/lib/cache/base.d.ts +0 -6
  5. package/lib/cache/base.js +0 -3
  6. package/lib/cache/base.js.map +0 -1
  7. package/lib/cache/index.d.ts +0 -3
  8. package/lib/cache/index.js +0 -4
  9. package/lib/cache/index.js.map +0 -1
  10. package/lib/cache/pipes.d.ts +0 -17
  11. package/lib/cache/pipes.js +0 -10
  12. package/lib/cache/pipes.js.map +0 -1
  13. package/lib/cache/types/redis.d.ts +0 -11
  14. package/lib/cache/types/redis.js +0 -54
  15. package/lib/cache/types/redis.js.map +0 -1
  16. package/lib/dbs/base/_instance.d.ts +0 -20
  17. package/lib/dbs/base/_instance.js +0 -52
  18. package/lib/dbs/base/_instance.js.map +0 -1
  19. package/lib/dbs/base/core.d.ts +0 -113
  20. package/lib/dbs/base/core.js +0 -2
  21. package/lib/dbs/base/core.js.map +0 -1
  22. package/lib/dbs/base/types.d.ts +0 -8
  23. package/lib/dbs/base/types.js +0 -2
  24. package/lib/dbs/base/types.js.map +0 -1
  25. package/lib/dbs/index.d.ts +0 -6
  26. package/lib/dbs/index.js +0 -7
  27. package/lib/dbs/index.js.map +0 -1
  28. package/lib/dbs/mongo/api.d.ts +0 -9
  29. package/lib/dbs/mongo/api.js +0 -149
  30. package/lib/dbs/mongo/api.js.map +0 -1
  31. package/lib/dbs/mongo/changes.d.ts +0 -11
  32. package/lib/dbs/mongo/changes.js +0 -80
  33. package/lib/dbs/mongo/changes.js.map +0 -1
  34. package/lib/dbs/mongo/index.d.ts +0 -21
  35. package/lib/dbs/mongo/index.js +0 -59
  36. package/lib/dbs/mongo/index.js.map +0 -1
  37. package/lib/dbs/mongo/query.d.ts +0 -6
  38. package/lib/dbs/mongo/query.js +0 -72
  39. package/lib/dbs/mongo/query.js.map +0 -1
  40. package/lib/dbs/pipes.d.ts +0 -126
  41. package/lib/dbs/pipes.js +0 -74
  42. package/lib/dbs/pipes.js.map +0 -1
  43. package/lib/errors/equippedError.d.ts +0 -6
  44. package/lib/errors/equippedError.js +0 -12
  45. package/lib/errors/equippedError.js.map +0 -1
  46. package/lib/errors/index.d.ts +0 -9
  47. package/lib/errors/index.js +0 -10
  48. package/lib/errors/index.js.map +0 -1
  49. package/lib/errors/requestError.d.ts +0 -14
  50. package/lib/errors/requestError.js +0 -11
  51. package/lib/errors/requestError.js.map +0 -1
  52. package/lib/errors/types/authorizationExpired.d.ts +0 -5
  53. package/lib/errors/types/authorizationExpired.js +0 -9
  54. package/lib/errors/types/authorizationExpired.js.map +0 -1
  55. package/lib/errors/types/badRequestError.d.ts +0 -5
  56. package/lib/errors/types/badRequestError.js +0 -9
  57. package/lib/errors/types/badRequestError.js.map +0 -1
  58. package/lib/errors/types/notAuthenticatedError.d.ts +0 -5
  59. package/lib/errors/types/notAuthenticatedError.js +0 -9
  60. package/lib/errors/types/notAuthenticatedError.js.map +0 -1
  61. package/lib/errors/types/notAuthorizedError.d.ts +0 -5
  62. package/lib/errors/types/notAuthorizedError.js +0 -9
  63. package/lib/errors/types/notAuthorizedError.js.map +0 -1
  64. package/lib/errors/types/notFoundError.d.ts +0 -5
  65. package/lib/errors/types/notFoundError.js +0 -9
  66. package/lib/errors/types/notFoundError.js.map +0 -1
  67. package/lib/errors/types/refreshTokenMisusedError.d.ts +0 -5
  68. package/lib/errors/types/refreshTokenMisusedError.js +0 -9
  69. package/lib/errors/types/refreshTokenMisusedError.js.map +0 -1
  70. package/lib/errors/types/validationError.d.ts +0 -10
  71. package/lib/errors/types/validationError.js +0 -9
  72. package/lib/errors/types/validationError.js.map +0 -1
  73. package/lib/events/base.d.ts +0 -14
  74. package/lib/events/base.js +0 -6
  75. package/lib/events/base.js.map +0 -1
  76. package/lib/events/index.d.ts +0 -4
  77. package/lib/events/index.js +0 -5
  78. package/lib/events/index.js.map +0 -1
  79. package/lib/events/pipes.d.ts +0 -31
  80. package/lib/events/pipes.js +0 -17
  81. package/lib/events/pipes.js.map +0 -1
  82. package/lib/events/types/kafka.d.ts +0 -9
  83. package/lib/events/types/kafka.js +0 -81
  84. package/lib/events/types/kafka.js.map +0 -1
  85. package/lib/events/types/rabbitmq.d.ts +0 -9
  86. package/lib/events/types/rabbitmq.js +0 -51
  87. package/lib/events/types/rabbitmq.js.map +0 -1
  88. package/lib/index.d.ts +0 -1
  89. package/lib/index.js +0 -2
  90. package/lib/index.js.map +0 -1
  91. package/lib/instance/hooks.d.ts +0 -7
  92. package/lib/instance/hooks.js +0 -26
  93. package/lib/instance/hooks.js.map +0 -1
  94. package/lib/instance/index.d.ts +0 -131
  95. package/lib/instance/index.js +0 -78
  96. package/lib/instance/index.js.map +0 -1
  97. package/lib/instance/settings.d.ts +0 -239
  98. package/lib/instance/settings.js +0 -121
  99. package/lib/instance/settings.js.map +0 -1
  100. package/lib/jobs/index.d.ts +0 -2
  101. package/lib/jobs/index.js +0 -3
  102. package/lib/jobs/index.js.map +0 -1
  103. package/lib/jobs/pipes.d.ts +0 -23
  104. package/lib/jobs/pipes.js +0 -7
  105. package/lib/jobs/pipes.js.map +0 -1
  106. package/lib/jobs/types/redis.d.ts +0 -28
  107. package/lib/jobs/types/redis.js +0 -88
  108. package/lib/jobs/types/redis.js.map +0 -1
  109. package/lib/server/impls/base.d.ts +0 -37
  110. package/lib/server/impls/base.js +0 -205
  111. package/lib/server/impls/base.js.map +0 -1
  112. package/lib/server/impls/express.d.ts +0 -7
  113. package/lib/server/impls/express.js +0 -111
  114. package/lib/server/impls/express.js.map +0 -1
  115. package/lib/server/impls/fastify.d.ts +0 -6
  116. package/lib/server/impls/fastify.js +0 -125
  117. package/lib/server/impls/fastify.js.map +0 -1
  118. package/lib/server/index.d.ts +0 -10
  119. package/lib/server/index.js +0 -10
  120. package/lib/server/index.js.map +0 -1
  121. package/lib/server/middlewares/index.d.ts +0 -1
  122. package/lib/server/middlewares/index.js +0 -2
  123. package/lib/server/middlewares/index.js.map +0 -1
  124. package/lib/server/middlewares/parseAuthUser.d.ts +0 -4
  125. package/lib/server/middlewares/parseAuthUser.js +0 -21
  126. package/lib/server/middlewares/parseAuthUser.js.map +0 -1
  127. package/lib/server/middlewares/requireAuthUser.d.ts +0 -16
  128. package/lib/server/middlewares/requireAuthUser.js +0 -57
  129. package/lib/server/middlewares/requireAuthUser.js.map +0 -1
  130. package/lib/server/openapi.d.ts +0 -33
  131. package/lib/server/openapi.js +0 -202
  132. package/lib/server/openapi.js.map +0 -1
  133. package/lib/server/pipes.d.ts +0 -74
  134. package/lib/server/pipes.js +0 -34
  135. package/lib/server/pipes.js.map +0 -1
  136. package/lib/server/requests-auth/apiKeys.d.ts +0 -4
  137. package/lib/server/requests-auth/apiKeys.js +0 -3
  138. package/lib/server/requests-auth/apiKeys.js.map +0 -1
  139. package/lib/server/requests-auth/index.d.ts +0 -2
  140. package/lib/server/requests-auth/index.js +0 -3
  141. package/lib/server/requests-auth/index.js.map +0 -1
  142. package/lib/server/requests-auth/tokens.d.ts +0 -44
  143. package/lib/server/requests-auth/tokens.js +0 -101
  144. package/lib/server/requests-auth/tokens.js.map +0 -1
  145. package/lib/server/requests.d.ts +0 -80
  146. package/lib/server/requests.js +0 -56
  147. package/lib/server/requests.js.map +0 -1
  148. package/lib/server/routes.d.ts +0 -14
  149. package/lib/server/routes.js +0 -70
  150. package/lib/server/routes.js.map +0 -1
  151. package/lib/server/sockets.d.ts +0 -25
  152. package/lib/server/sockets.js +0 -127
  153. package/lib/server/sockets.js.map +0 -1
  154. package/lib/server/types.d.ts +0 -109
  155. package/lib/server/types.js +0 -26
  156. package/lib/server/types.js.map +0 -1
  157. package/lib/types/index.d.ts +0 -3
  158. package/lib/types/index.js +0 -3
  159. package/lib/types/index.js.map +0 -1
  160. package/lib/types/overrides.d.ts +0 -23
  161. package/lib/types/overrides.js +0 -2
  162. package/lib/types/overrides.js.map +0 -1
  163. package/lib/utilities/authProviders.d.ts +0 -28
  164. package/lib/utilities/authProviders.js +0 -60
  165. package/lib/utilities/authProviders.js.map +0 -1
  166. package/lib/utilities/hash.d.ts +0 -2
  167. package/lib/utilities/hash.js +0 -15
  168. package/lib/utilities/hash.js.map +0 -1
  169. package/lib/utilities/index.d.ts +0 -6
  170. package/lib/utilities/index.js +0 -7
  171. package/lib/utilities/index.js.map +0 -1
  172. package/lib/utilities/json.d.ts +0 -2
  173. package/lib/utilities/json.js +0 -14
  174. package/lib/utilities/json.js.map +0 -1
  175. package/lib/utilities/media.d.ts +0 -1
  176. package/lib/utilities/media.js +0 -11
  177. package/lib/utilities/media.js.map +0 -1
  178. package/lib/utilities/random.d.ts +0 -2
  179. package/lib/utilities/random.js +0 -8
  180. package/lib/utilities/random.js.map +0 -1
  181. package/lib/utilities/retry.d.ts +0 -7
  182. package/lib/utilities/retry.js +0 -12
  183. package/lib/utilities/retry.js.map +0 -1
  184. package/lib/validations/index.d.ts +0 -6
  185. package/lib/validations/index.js +0 -21
  186. package/lib/validations/index.js.map +0 -1
  187. package/lib/validations/valleyed.d.ts +0 -54
  188. package/lib/validations/valleyed.js +0 -32
  189. package/lib/validations/valleyed.js.map +0 -1
@@ -1,149 +0,0 @@
1
- import { ObjectId } from 'mongodb';
2
- import { parseMongodbQueryParams } from './query';
3
- import { EquippedError } from '../../errors';
4
- const idKey = '_id';
5
- export function getTable(config, collection) {
6
- async function transform(doc) {
7
- const docs = Array.isArray(doc) ? doc : [doc];
8
- const mapped = docs.map((d) => config.mapper(d));
9
- return Array.isArray(doc) ? mapped : mapped[0];
10
- }
11
- function prepInsertValue(value, id, now, skipUpdate) {
12
- const base = {
13
- [idKey]: id,
14
- ...(config.options?.skipAudit
15
- ? {}
16
- : {
17
- createdAt: now.getTime(),
18
- ...(skipUpdate ? {} : { updatedAt: now.getTime() }),
19
- }),
20
- };
21
- return {
22
- ...value,
23
- ...base,
24
- };
25
- }
26
- function prepUpdateValue(value, now) {
27
- return {
28
- ...value,
29
- $set: {
30
- ...value.$set,
31
- ...(Object.keys(value).length > 0 && !config.options?.skipAudit
32
- ? {
33
- updatedAt: now.getTime(),
34
- }
35
- : {}),
36
- },
37
- };
38
- }
39
- const table = {
40
- config,
41
- extras: { collection },
42
- query: async (params) => {
43
- const results = await parseMongodbQueryParams(collection, params);
44
- return {
45
- ...results,
46
- results: (await transform(results.results)),
47
- };
48
- },
49
- findMany: async (filter, options = {}) => {
50
- const sortArray = Array.isArray(options.sort) ? options.sort : options.sort ? [options.sort] : [];
51
- const sort = sortArray.map((p) => [p.field, p.desc ? 'desc' : 'asc']);
52
- const docs = await collection
53
- .find(filter, {
54
- session: options.session,
55
- limit: options.limit,
56
- sort,
57
- })
58
- .toArray();
59
- return transform(docs);
60
- },
61
- findOne: async (filter, options = {}) => {
62
- const result = await table.findMany(filter, { ...options, limit: 1 });
63
- return result.at(0) ?? null;
64
- },
65
- findById: async (id, options = {}) => {
66
- const result = await table.findOne({ [idKey]: id }, options);
67
- return result;
68
- },
69
- insertMany: async (values, options = {}) => {
70
- const now = options.getTime?.() ?? new Date();
71
- const payload = values.map((value, i) => prepInsertValue(value, options.makeId?.(i) ?? new ObjectId().toString(), now));
72
- await collection.insertMany(payload, { session: options.session });
73
- const insertedData = await Promise.all(payload.map(async (data) => await table.findById(data[idKey], options)));
74
- return insertedData.filter((value) => !!value);
75
- },
76
- insertOne: async (values, options = {}) => {
77
- const result = await table.insertMany([values], options);
78
- return result[0];
79
- },
80
- updateMany: async (filter, values, options = {}) => {
81
- const now = options.getTime?.() ?? new Date();
82
- await collection.updateMany(filter, prepUpdateValue(values, now), { session: options.session });
83
- return table.findMany(filter, options);
84
- },
85
- updateOne: async (filter, values, options = {}) => {
86
- const now = options.getTime?.() ?? new Date();
87
- const doc = await collection.findOneAndUpdate(filter, prepUpdateValue(values, now), {
88
- returnDocument: 'after',
89
- session: options.session,
90
- });
91
- return doc ? transform(doc) : null;
92
- },
93
- updateById: async (id, values, options = {}) => {
94
- const result = await table.updateOne({ [idKey]: id }, values, options);
95
- return result;
96
- },
97
- upsertOne: async (filter, values, options = {}) => {
98
- const now = options.getTime?.() ?? new Date();
99
- const doc = await collection.findOneAndUpdate(filter, {
100
- ...prepUpdateValue('update' in values ? values.update : {}, now),
101
- $setOnInsert: prepInsertValue(values.insert, options.makeId?.() ?? new ObjectId().toString(), now, true),
102
- }, { returnDocument: 'after', session: options.session, upsert: true });
103
- return transform(doc);
104
- },
105
- deleteMany: async (filter, options = {}) => {
106
- const docs = await table.findMany(filter, options);
107
- await collection.deleteMany(filter, { session: options.session });
108
- return docs;
109
- },
110
- deleteOne: async (filter, options) => {
111
- const doc = await collection.findOneAndDelete(filter, { session: options?.session });
112
- return doc ? transform(doc) : null;
113
- },
114
- deleteById: async (id, options) => {
115
- const result = await table.deleteOne({ [idKey]: id }, options);
116
- return result;
117
- },
118
- bulkWrite: async (operations, options = {}) => {
119
- const bulk = collection.initializeUnorderedBulkOp({ session: options.session });
120
- const now = options.getTime?.() ?? new Date();
121
- operations.forEach((operation, i) => {
122
- switch (operation.op) {
123
- case 'insert':
124
- bulk.insert(prepInsertValue(operation.value, operation.makeId?.(i) ?? new ObjectId().toString(), now));
125
- break;
126
- case 'delete':
127
- bulk.find(operation.filter).delete();
128
- break;
129
- case 'update':
130
- bulk.find(operation.filter).update(prepUpdateValue(operation.value, now));
131
- break;
132
- case 'upsert':
133
- bulk.find(operation.filter)
134
- .upsert()
135
- .update({
136
- ...prepUpdateValue('update' in operation ? operation.update : {}, now),
137
- $setOnInsert: prepInsertValue(operation.insert, operation.makeId?.(i) ?? new ObjectId().toString(), now, true),
138
- });
139
- break;
140
- default:
141
- throw new EquippedError(`Unknown bulkWrite operation`, { operation });
142
- }
143
- });
144
- await bulk.execute({ session: options.session });
145
- },
146
- };
147
- return table;
148
- }
149
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/dbs/mongo/api.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { MongoClient } from 'mongodb';
2
- import { DbChange } from '../base/_instance';
3
- import * as core from '../base/core';
4
- import { DbChangeConfig } from '../base/types';
5
- import { MongoDbConfig } from '../pipes';
6
- export declare class MongoDbChange<Model extends core.Model<{
7
- _id: string;
8
- }>, Entity extends core.Entity> extends DbChange<Model, Entity> {
9
- #private;
10
- constructor(config: MongoDbConfig, change: DbChangeConfig, client: MongoClient, dbName: string, colName: string, callbacks: core.DbChangeCallbacks<Model, Entity>, mapper: (model: Model) => Entity);
11
- }
@@ -1,80 +0,0 @@
1
- import { ObjectId } from 'mongodb';
2
- import { EquippedError } from '../../errors';
3
- import { Instance } from '../../instance';
4
- import { retry } from '../../utilities';
5
- import { differ } from '../../validations';
6
- import { DbChange, TopicPrefix } from '../base/_instance';
7
- export class MongoDbChange extends DbChange {
8
- #started = false;
9
- constructor(config, change, client, dbName, colName, callbacks, mapper) {
10
- super(change, callbacks, mapper);
11
- const hydrate = (data) => data._id
12
- ? {
13
- ...data,
14
- _id: makeId(data._id['$oid'] ?? data._id),
15
- }
16
- : undefined;
17
- const dbColName = `${dbName}.${colName}`;
18
- const topic = `${TopicPrefix}.${dbColName}`;
19
- const hexId = '5f5f65717569707065645f5f';
20
- const TestId = makeId(hexId);
21
- const condition = { _id: TestId };
22
- change.eventBus.createSubscriber(topic, async (data) => {
23
- const op = data.op;
24
- let before = JSON.parse(data.before ?? 'null');
25
- let after = JSON.parse(data.after ?? 'null');
26
- if (before)
27
- before = hydrate(before);
28
- if (after)
29
- after = hydrate(after);
30
- if (before?.__id === TestId || after?.__id === TestId)
31
- return;
32
- if (op === 'c' && this.callbacks.created && after)
33
- await this.callbacks.created({
34
- before: null,
35
- after: this.mapper(after),
36
- });
37
- else if (op === 'u' && this.callbacks.updated && before && after)
38
- await this.callbacks.updated({
39
- before: this.mapper(before),
40
- after: this.mapper(after),
41
- changes: differ.from(differ.diff(before, after)),
42
- });
43
- else if (op === 'd' && this.callbacks.deleted && before)
44
- await this.callbacks.deleted({
45
- before: this.mapper(before),
46
- after: null,
47
- });
48
- }, { skipScope: true });
49
- Instance.on('start', async () => {
50
- if (this.#started)
51
- return;
52
- this.#started = true;
53
- const collection = client.db(dbName).collection(colName);
54
- await retry(async () => {
55
- const started = await this.configureConnector(topic, {
56
- 'connector.class': 'io.debezium.connector.mongodb.MongoDbConnector',
57
- 'capture.mode': 'change_streams_update_full_with_pre_image',
58
- 'mongodb.connection.string': config.uri,
59
- 'collection.include.list': dbColName,
60
- 'snapshot.mode': 'when_needed',
61
- });
62
- if (started)
63
- return { done: true, value: true };
64
- await collection.findOneAndUpdate(condition, { $set: { colName } }, { upsert: true });
65
- await collection.findOneAndDelete(condition);
66
- Instance.get().log.warn(`Waiting for db changes for ${dbColName} to start...`);
67
- return { done: false };
68
- }, 6, 10_000).catch((err) => Instance.crash(new EquippedError(`Failed to start db changes`, { dbColName }, err)));
69
- }, 10);
70
- }
71
- }
72
- const makeId = (id) => {
73
- try {
74
- return new ObjectId(id);
75
- }
76
- catch {
77
- return id;
78
- }
79
- };
80
- //# sourceMappingURL=changes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../../src/dbs/mongo/changes.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { ClientSession, ObjectId } from 'mongodb';
2
- import { MongoDbConfig } from '../pipes';
3
- import { Db } from '../base/_instance';
4
- import * as core from '../base/core';
5
- import { DbConfig } from '../base/types';
6
- export declare class MongoDb extends Db<{
7
- _id: string;
8
- }> {
9
- #private;
10
- private mongoConfig;
11
- constructor(mongoConfig: MongoDbConfig, dbConfig: DbConfig);
12
- session<T>(callback: (session: ClientSession) => Promise<T>): Promise<T>;
13
- id(): ObjectId;
14
- use<Model extends core.Model<{
15
- _id: string;
16
- }>, Entity extends core.Entity>(config: core.Config<Model, Entity>): core.Table<{
17
- _id: string;
18
- }, Model, Entity, {
19
- collection: import("mongodb").Collection<Model>;
20
- }>;
21
- }
@@ -1,59 +0,0 @@
1
- import { MongoClient, ObjectId } from 'mongodb';
2
- import { getTable } from './api';
3
- import { MongoDbChange } from './changes';
4
- import { EquippedError } from '../../errors';
5
- import { Instance } from '../../instance';
6
- import { Db } from '../base/_instance';
7
- export class MongoDb extends Db {
8
- mongoConfig;
9
- #client;
10
- #cols = [];
11
- constructor(mongoConfig, dbConfig) {
12
- super(dbConfig);
13
- this.mongoConfig = mongoConfig;
14
- this.#client = new MongoClient(mongoConfig.uri);
15
- Instance.on('start', async () => {
16
- await this.#client.connect();
17
- const grouped = this.#cols.reduce((acc, cur) => {
18
- if (!acc[cur.db])
19
- acc[cur.db] = [];
20
- acc[cur.db].push(cur.col);
21
- return acc;
22
- }, {});
23
- const options = {
24
- changeStreamPreAndPostImages: { enabled: true },
25
- };
26
- await Promise.all(Object.entries(grouped).map(async ([dbName, colNames]) => {
27
- const db = this.#client.db(dbName);
28
- const collections = await db.listCollections().toArray();
29
- return colNames.map(async (colName) => {
30
- const existing = collections.find((collection) => collection.name === colName);
31
- if (existing) {
32
- if (existing.options?.changeStreamPreAndPostImages?.enabled !== options.changeStreamPreAndPostImages.enabled)
33
- await db.command({ collMod: colName, ...options });
34
- }
35
- else
36
- await db.createCollection(colName, options);
37
- });
38
- }));
39
- }, 3);
40
- Instance.on('close', async () => this.#client.close(), 1);
41
- }
42
- async session(callback) {
43
- return this.#client.withSession(callback);
44
- }
45
- id() {
46
- return new ObjectId();
47
- }
48
- use(config) {
49
- if (config.change) {
50
- if (!this.config.changes)
51
- Instance.crash(new EquippedError('Db changes are not enabled in the configuration.', { config }));
52
- new MongoDbChange(this.mongoConfig, this.config.changes, this.#client, this.getScopedDb(config.db), config.col, config.change, config.mapper);
53
- }
54
- this.#cols.push({ db: this.getScopedDb(config.db), col: config.col });
55
- const collection = this.#client.db(this.getScopedDb(config.db)).collection(config.col);
56
- return getTable(config, collection);
57
- }
58
- }
59
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dbs/mongo/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Collection } from 'mongodb';
2
- import * as core from '../base/core';
3
- import { type QueryParams, type QueryResults } from '../pipes';
4
- export declare const parseMongodbQueryParams: <Model extends core.Model<{
5
- _id: string;
6
- }>>(collection: Collection<Model>, params: QueryParams) => Promise<QueryResults<Model>>;
@@ -1,72 +0,0 @@
1
- import { QueryKeys } from '../pipes';
2
- export const parseMongodbQueryParams = async (collection, params) => {
3
- const query = [];
4
- const where = buildWhereQuery(params.where, params.whereType);
5
- if (where)
6
- query.push(where);
7
- const auth = buildWhereQuery(params.auth, params.authType);
8
- if (auth)
9
- query.push(auth);
10
- if (params.search && params.search.fields.length > 0) {
11
- const search = params.search.fields.map((field) => ({
12
- [field]: {
13
- $regex: new RegExp(params.search.value, 'i'),
14
- },
15
- }));
16
- query.push({ $or: search });
17
- }
18
- const totalClause = {};
19
- if (query.length > 0)
20
- totalClause['$and'] = query;
21
- const sort = params.sort.map((p) => [p.field, p.desc ? 'desc' : 'asc']);
22
- const all = params.all ?? false;
23
- const limit = params.limit;
24
- const page = params.page;
25
- const total = await collection.countDocuments(totalClause);
26
- let builtQuery = collection.find(totalClause);
27
- if (sort.length)
28
- builtQuery = builtQuery.sort(Object.fromEntries(sort));
29
- if (!all && limit) {
30
- builtQuery = builtQuery.limit(limit);
31
- if (page)
32
- builtQuery = builtQuery.skip((page - 1) * limit);
33
- }
34
- const results = await builtQuery.toArray();
35
- const start = 1;
36
- const last = Math.ceil(total / limit) || 1;
37
- const next = page >= last ? null : page + 1;
38
- const previous = page <= start ? null : page - 1;
39
- return {
40
- pages: { start, last, next, previous, current: page },
41
- docs: { limit, total, count: results.length },
42
- results: results,
43
- };
44
- };
45
- function isWhereBlock(param) {
46
- return Object.values(QueryKeys).includes(param.condition);
47
- }
48
- const buildWhereQuery = (params, key = QueryKeys.and) => {
49
- const where = (Array.isArray(params) ? params : [])
50
- .map((param) => {
51
- if (isWhereBlock(param))
52
- return buildWhereQuery(param.value, param.condition);
53
- const { field } = param;
54
- const checkedField = field === 'id' ? '_id' : (field ?? '');
55
- const checkedValue = param.value === undefined ? '' : param.value;
56
- return {
57
- field: checkedField,
58
- value: checkedValue,
59
- condition: param.condition,
60
- isWhere: true,
61
- };
62
- })
63
- .filter((c) => !!c)
64
- .map((c) => {
65
- if (c.isWhere)
66
- return { [`${c.field}`]: { [`$${c.condition}`]: c.value } };
67
- else
68
- return c;
69
- });
70
- return where.length > 0 ? { [`$${key}`]: where } : null;
71
- };
72
- //# sourceMappingURL=query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/dbs/mongo/query.ts"],"names":[],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- import { ConditionalObjectKeys, Pipe, PipeInput, PipeOutput } from 'valleyed';
2
- export declare enum QueryKeys {
3
- and = "and",
4
- or = "or"
5
- }
6
- export declare enum Conditions {
7
- lt = "lt",
8
- lte = "lte",
9
- gt = "gt",
10
- gte = "gte",
11
- eq = "eq",
12
- ne = "ne",
13
- in = "in",
14
- nin = "nin",
15
- exists = "exists"
16
- }
17
- export declare function queryParamsPipe(): Pipe<{
18
- all: boolean | undefined;
19
- limit: number | undefined;
20
- page: number | undefined;
21
- search: {
22
- value: string;
23
- fields: string[];
24
- } | null | undefined;
25
- sort: {
26
- field: string;
27
- desc: boolean | undefined;
28
- }[] | undefined;
29
- whereType: QueryKeys | undefined;
30
- where: ({
31
- field: string;
32
- value: any;
33
- condition: Conditions | undefined;
34
- } | {
35
- condition: QueryKeys | undefined;
36
- value: {
37
- field: string;
38
- value: any;
39
- condition: Conditions | undefined;
40
- }[];
41
- })[] | undefined;
42
- }, {
43
- auth: ({
44
- field: string;
45
- value: any;
46
- condition: Conditions;
47
- } | {
48
- condition: QueryKeys;
49
- value: {
50
- field: string;
51
- value: any;
52
- condition: Conditions;
53
- }[];
54
- })[];
55
- authType: QueryKeys;
56
- all: boolean;
57
- limit: number;
58
- page: number;
59
- search: {
60
- value: string;
61
- fields: string[];
62
- } | null;
63
- sort: {
64
- field: string;
65
- desc: boolean;
66
- }[];
67
- whereType: QueryKeys;
68
- where: ({
69
- field: string;
70
- value: any;
71
- condition: Conditions;
72
- } | {
73
- condition: QueryKeys;
74
- value: {
75
- field: string;
76
- value: any;
77
- condition: Conditions;
78
- }[];
79
- })[];
80
- }, any>;
81
- export declare function queryResultsPipe<T>(model: Pipe<any, T, any>): Pipe<{
82
- pages: {
83
- current: number;
84
- start: number;
85
- last: number;
86
- previous: number | null;
87
- next: number | null;
88
- };
89
- docs: {
90
- limit: number;
91
- total: number;
92
- count: number;
93
- };
94
- results: any[];
95
- }, {
96
- pages: {
97
- current: number;
98
- start: number;
99
- last: number;
100
- previous: number | null;
101
- next: number | null;
102
- };
103
- docs: {
104
- limit: number;
105
- total: number;
106
- count: number;
107
- };
108
- results: T[];
109
- }, any>;
110
- export declare function wrapQueryParams(params: QueryParamsInput): QueryParams;
111
- export type QueryParams = PipeOutput<ReturnType<typeof queryParamsPipe>>;
112
- export type QueryParamsInput = ConditionalObjectKeys<PipeInput<ReturnType<typeof queryParamsPipe>>>;
113
- export type QueryWhereClause = QueryParams['where'][number];
114
- export type QueryWhere = Extract<QueryWhereClause, {
115
- field: string;
116
- }>;
117
- export type QueryWhereBlock = Exclude<QueryWhereClause, {
118
- field: string;
119
- }>;
120
- export type QueryResults<T> = PipeOutput<ReturnType<typeof queryResultsPipe<T>>>;
121
- export declare const mongoDbConfigPipe: Pipe<{
122
- uri: string;
123
- }, {
124
- uri: string;
125
- }, any>;
126
- export type MongoDbConfig = PipeOutput<typeof mongoDbConfigPipe>;
package/lib/dbs/pipes.js DELETED
@@ -1,74 +0,0 @@
1
- import { v } from 'valleyed';
2
- import { Instance } from '../instance';
3
- export var QueryKeys;
4
- (function (QueryKeys) {
5
- QueryKeys["and"] = "and";
6
- QueryKeys["or"] = "or";
7
- })(QueryKeys || (QueryKeys = {}));
8
- export var Conditions;
9
- (function (Conditions) {
10
- Conditions["lt"] = "lt";
11
- Conditions["lte"] = "lte";
12
- Conditions["gt"] = "gt";
13
- Conditions["gte"] = "gte";
14
- Conditions["eq"] = "eq";
15
- Conditions["ne"] = "ne";
16
- Conditions["in"] = "in";
17
- Conditions["nin"] = "nin";
18
- Conditions["exists"] = "exists";
19
- })(Conditions || (Conditions = {}));
20
- const queryKeys = v.catch(v.defaults(v.in([QueryKeys.and, QueryKeys.or]), QueryKeys.and), QueryKeys.and);
21
- const queryWhere = v.object({
22
- field: v.string(),
23
- value: v.any(),
24
- condition: v.catch(v.defaults(v.in(Object.values(Conditions)), Conditions.eq), Conditions.eq),
25
- });
26
- const queryWhereBlock = v.object({
27
- condition: queryKeys,
28
- value: v.array(queryWhere),
29
- });
30
- const queryWhereClause = v.defaults(v.array(v.or([queryWhere, queryWhereBlock])), []);
31
- export function queryParamsPipe() {
32
- const pagLimit = Instance.get().settings.server?.requests.paginationDefaultLimit ?? 100;
33
- return v.meta(v
34
- .object({
35
- all: v.defaults(v.boolean(), false),
36
- limit: v.catch(v.defaults(v.number().pipe(v.lte(pagLimit)), pagLimit), pagLimit),
37
- page: v.catch(v.defaults(v.number().pipe(v.gte(1)), 1), 1),
38
- search: v.defaults(v.nullish(v.object({
39
- value: v.string(),
40
- fields: v.array(v.string()),
41
- })), null),
42
- sort: v.defaults(v.array(v.object({
43
- field: v.string(),
44
- desc: v.defaults(v.boolean(), false),
45
- })), []),
46
- whereType: queryKeys,
47
- where: queryWhereClause,
48
- })
49
- .pipe((p) => ({ ...p, auth: [], authType: QueryKeys.and })), { title: 'Query Params', $refId: 'QueryParams' });
50
- }
51
- export function queryResultsPipe(model) {
52
- return v.object({
53
- pages: v.object({
54
- current: v.number(),
55
- start: v.number(),
56
- last: v.number(),
57
- previous: v.nullable(v.number()),
58
- next: v.nullable(v.number()),
59
- }),
60
- docs: v.object({
61
- limit: v.number(),
62
- total: v.number(),
63
- count: v.number(),
64
- }),
65
- results: v.array(model),
66
- });
67
- }
68
- export function wrapQueryParams(params) {
69
- return v.assert(queryParamsPipe(), params);
70
- }
71
- export const mongoDbConfigPipe = v.meta(v.object({
72
- uri: v.string(),
73
- }), { title: 'Mongodb Config', $refId: 'MongodbConfig' });
74
- //# sourceMappingURL=pipes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/dbs/pipes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare class EquippedError extends Error {
2
- readonly message: string;
3
- readonly context: Record<string, unknown>;
4
- readonly cause?: unknown | undefined;
5
- constructor(message: string, context: Record<string, unknown>, cause?: unknown | undefined);
6
- }