@aneuhold/be-ts-db-lib 2.0.84 → 3.0.0
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/CHANGELOG.md +19 -0
- package/lib/repositories/BaseRepository.d.ts +12 -12
- package/lib/repositories/BaseRepository.d.ts.map +1 -1
- package/lib/repositories/BaseRepository.js +8 -6
- package/lib/repositories/BaseRepository.js.map +1 -1
- package/lib/repositories/BaseRepository.ts +16 -18
- package/lib/repositories/common/ApiKeyRepository.d.ts +1 -1
- package/lib/repositories/common/ApiKeyRepository.d.ts.map +1 -1
- package/lib/repositories/common/ApiKeyRepository.js +1 -1
- package/lib/repositories/common/ApiKeyRepository.js.map +1 -1
- package/lib/repositories/common/ApiKeyRepository.ts +1 -1
- package/lib/repositories/common/UserRepository.d.ts +4 -3
- package/lib/repositories/common/UserRepository.d.ts.map +1 -1
- package/lib/repositories/common/UserRepository.js +1 -0
- package/lib/repositories/common/UserRepository.js.map +1 -1
- package/lib/repositories/common/UserRepository.ts +4 -3
- package/lib/repositories/dashboard/DashboardBaseRepository.js +2 -0
- package/lib/repositories/dashboard/DashboardBaseRepository.js.map +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaItemRepository.d.ts +3 -3
- package/lib/repositories/dashboard/DashboardNonogramKatanaItemRepository.d.ts.map +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaItemRepository.js +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaItemRepository.js.map +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaItemRepository.ts +3 -3
- package/lib/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.d.ts +3 -3
- package/lib/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.d.ts.map +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.js +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.js.map +1 -1
- package/lib/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.ts +3 -3
- package/lib/repositories/dashboard/DashboardTaskRepository.d.ts +6 -6
- package/lib/repositories/dashboard/DashboardTaskRepository.d.ts.map +1 -1
- package/lib/repositories/dashboard/DashboardTaskRepository.js +1 -1
- package/lib/repositories/dashboard/DashboardTaskRepository.js.map +1 -1
- package/lib/repositories/dashboard/DashboardTaskRepository.ts +7 -7
- package/lib/repositories/dashboard/DashboardUserConfigRepository.d.ts +4 -4
- package/lib/repositories/dashboard/DashboardUserConfigRepository.d.ts.map +1 -1
- package/lib/repositories/dashboard/DashboardUserConfigRepository.js +2 -2
- package/lib/repositories/dashboard/DashboardUserConfigRepository.js.map +1 -1
- package/lib/repositories/dashboard/DashboardUserConfigRepository.ts +6 -6
- package/lib/services/DemoAccountsService/DashboardDemoAccountsService.d.ts +2 -2
- package/lib/services/DemoAccountsService/DashboardDemoAccountsService.d.ts.map +1 -1
- package/lib/services/DemoAccountsService/DashboardDemoAccountsService.js +2 -2
- package/lib/services/DemoAccountsService/DashboardDemoAccountsService.js.map +1 -1
- package/lib/services/DemoAccountsService/DashboardDemoAccountsService.ts +13 -13
- package/lib/services/DemoAccountsService/DemoAccountsService.d.ts +2 -2
- package/lib/services/DemoAccountsService/DemoAccountsService.d.ts.map +1 -1
- package/lib/services/DemoAccountsService/DemoAccountsService.js.map +1 -1
- package/lib/services/DemoAccountsService/DemoAccountsService.ts +2 -5
- package/lib/services/MigrationService.d.ts.map +1 -1
- package/lib/services/MigrationService.js +151 -19
- package/lib/services/MigrationService.js.map +1 -1
- package/lib/services/MigrationService.ts +178 -21
- package/lib/services/RepoSubscriptionService.d.ts +3 -3
- package/lib/services/RepoSubscriptionService.d.ts.map +1 -1
- package/lib/services/RepoSubscriptionService.js +1 -0
- package/lib/services/RepoSubscriptionService.js.map +1 -1
- package/lib/services/RepoSubscriptionService.ts +3 -3
- package/lib/tests/testsUtil.js +2 -0
- package/lib/tests/testsUtil.js.map +1 -1
- package/lib/util/DocumentCleaner.js +1 -0
- package/lib/util/DocumentCleaner.js.map +1 -1
- package/lib/util/DocumentDb.d.ts +1 -1
- package/lib/util/DocumentDb.d.ts.map +1 -1
- package/lib/util/DocumentDb.js +1 -1
- package/lib/util/DocumentDb.js.map +1 -1
- package/lib/util/DocumentDb.ts +1 -1
- package/lib/validators/BaseValidator.d.ts +4 -3
- package/lib/validators/BaseValidator.d.ts.map +1 -1
- package/lib/validators/BaseValidator.js +2 -1
- package/lib/validators/BaseValidator.js.map +1 -1
- package/lib/validators/BaseValidator.ts +6 -5
- package/lib/validators/common/ApiKeyValidator.d.ts.map +1 -1
- package/lib/validators/common/ApiKeyValidator.js +7 -7
- package/lib/validators/common/ApiKeyValidator.js.map +1 -1
- package/lib/validators/common/ApiKeyValidator.ts +8 -15
- package/lib/validators/common/UserValidator.d.ts +1 -1
- package/lib/validators/common/UserValidator.d.ts.map +1 -1
- package/lib/validators/common/UserValidator.js +3 -3
- package/lib/validators/common/UserValidator.js.map +1 -1
- package/lib/validators/common/UserValidator.ts +5 -7
- package/lib/validators/dashboard/NonogramKatanaItemValidator.js +5 -5
- package/lib/validators/dashboard/NonogramKatanaItemValidator.js.map +1 -1
- package/lib/validators/dashboard/NonogramKatanaItemValidator.ts +6 -6
- package/lib/validators/dashboard/NonogramKatanaUpgradeValidator.js +5 -5
- package/lib/validators/dashboard/NonogramKatanaUpgradeValidator.js.map +1 -1
- package/lib/validators/dashboard/NonogramKatanaUpgradeValidator.ts +6 -6
- package/lib/validators/dashboard/TaskValidator.js +9 -9
- package/lib/validators/dashboard/TaskValidator.js.map +1 -1
- package/lib/validators/dashboard/TaskValidator.ts +10 -10
- package/lib/validators/dashboard/UserConfigValidator.d.ts.map +1 -1
- package/lib/validators/dashboard/UserConfigValidator.js +10 -10
- package/lib/validators/dashboard/UserConfigValidator.js.map +1 -1
- package/lib/validators/dashboard/UserConfigValidator.ts +11 -16
- package/package.json +10 -7
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## 🔖 [3.0.0] (2025-11-23)
|
|
9
|
+
|
|
10
|
+
### 🏗️ Changed
|
|
11
|
+
|
|
12
|
+
_Breaking Change:_ Migrated all document, repository, and validator code from using `ObjectId` (from `bson`) to native `UUID` (from `crypto`), including all type signatures, constructors, and internal logic.
|
|
13
|
+
_Breaking Change:_ Updated all references, tests, and utility functions to use `UUID` instead of `ObjectId`.
|
|
14
|
+
Added migration utilities and scripts to support conversion of existing data from `ObjectId` to `UUID v7`.
|
|
15
|
+
Updated dependencies: now requires `@aneuhold/core-ts-db-lib@^3.0.0`, `@aneuhold/core-ts-lib@^2.3.11`, and `@aneuhold/be-ts-lib@^3.0.0`.
|
|
16
|
+
|
|
17
|
+
## 🔖 [2.0.85] (2025-11-09)
|
|
18
|
+
|
|
19
|
+
### 🏗️ Changed
|
|
20
|
+
|
|
21
|
+
- Refactored all repository and validator files to use `import type` for type-only imports, improving build performance and clarity.
|
|
22
|
+
- Updated internal imports to separate type and value imports from `bson`, `mongodb`, and internal services.
|
|
23
|
+
- No breaking changes; all updates are internal refactors for TypeScript best practices.
|
|
24
|
+
|
|
8
25
|
## 🔖 [2.0.84] (2025-11-08)
|
|
9
26
|
|
|
10
27
|
### 🏗️ Changed
|
|
@@ -77,6 +94,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
77
94
|
|
|
78
95
|
<!-- Link References -->
|
|
79
96
|
|
|
97
|
+
[3.0.0]: https://github.com/aneuhold/ts-libs/compare/be-ts-db-lib-v2.0.85...be-ts-db-lib-v3.0.0
|
|
98
|
+
[2.0.85]: https://github.com/aneuhold/ts-libs/compare/be-ts-db-lib-v2.0.84...be-ts-db-lib-v2.0.85
|
|
80
99
|
[2.0.84]: https://github.com/aneuhold/ts-libs/compare/be-ts-db-lib-v2.0.83...be-ts-db-lib-v2.0.84
|
|
81
100
|
[2.0.83]: https://github.com/aneuhold/ts-libs/compare/be-ts-db-lib-v2.0.82...be-ts-db-lib-v2.0.83
|
|
82
101
|
[2.0.82]: https://github.com/aneuhold/ts-libs/compare/be-ts-db-lib-v2.0.81...be-ts-db-lib-v2.0.82
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { BaseDocument } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { BulkWriteResult, Collection, DeleteResult, Filter, UpdateResult } from 'mongodb';
|
|
4
|
-
import { RepoListeners, RepoSubscribers } from '../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { BulkWriteResult, Collection, DeleteResult, Filter, UpdateResult } from 'mongodb';
|
|
4
|
+
import type { RepoListeners, RepoSubscribers } from '../services/RepoSubscriptionService.js';
|
|
5
5
|
import IValidator from '../validators/BaseValidator.js';
|
|
6
6
|
/**
|
|
7
7
|
* Base repository class for handling common database operations.
|
|
8
8
|
*
|
|
9
|
+
* Implementation note: I have tried to do the types correctly here, but kept struggling with
|
|
10
|
+
* MongoDB's types around Filter<T> and _id fields.
|
|
11
|
+
*
|
|
9
12
|
* @template TBasetype - The type of the documents in the collection.
|
|
10
13
|
*/
|
|
11
14
|
export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
@@ -79,21 +82,21 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
79
82
|
* @param docIds - The IDs of the documents to retrieve.
|
|
80
83
|
* @returns An array of matching documents.
|
|
81
84
|
*/
|
|
82
|
-
getList(docIds:
|
|
85
|
+
getList(docIds: UUID[]): Promise<TBasetype[]>;
|
|
83
86
|
/**
|
|
84
87
|
* Deletes a document by its ID.
|
|
85
88
|
*
|
|
86
89
|
* @param docId - The ID of the document to delete.
|
|
87
90
|
* @returns The result of the delete operation.
|
|
88
91
|
*/
|
|
89
|
-
delete(docId:
|
|
92
|
+
delete(docId: UUID): Promise<DeleteResult>;
|
|
90
93
|
/**
|
|
91
94
|
* Deletes multiple documents by their IDs.
|
|
92
95
|
*
|
|
93
96
|
* @param docIds - The IDs of the documents to delete.
|
|
94
97
|
* @returns The result of the delete operation.
|
|
95
98
|
*/
|
|
96
|
-
deleteList(docIds:
|
|
99
|
+
deleteList(docIds: UUID[]): Promise<DeleteResult>;
|
|
97
100
|
/**
|
|
98
101
|
* This should not be used except for testing purposes
|
|
99
102
|
*
|
|
@@ -121,21 +124,18 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
121
124
|
/**
|
|
122
125
|
* Gets the filter with the default filter applied if there is one.
|
|
123
126
|
*
|
|
124
|
-
* This is purposefully changing the type because of some weird restrictions
|
|
125
|
-
* with the `mongodb` package types.
|
|
126
|
-
*
|
|
127
127
|
* @param filter - The filter to apply.
|
|
128
128
|
* @returns The filter with the default filter applied.
|
|
129
129
|
*/
|
|
130
|
-
protected getFilterWithDefault(filter?: Filter<
|
|
130
|
+
protected getFilterWithDefault(filter?: Filter<TBasetype>): Filter<TBasetype>;
|
|
131
131
|
/**
|
|
132
|
-
* Checks if two arrays of {@link
|
|
132
|
+
* Checks if two arrays of {@link UUID} are equal.
|
|
133
133
|
*
|
|
134
134
|
* @param array1 - The first array.
|
|
135
135
|
* @param array2 - The second array.
|
|
136
136
|
* @returns True if the arrays are equal, false otherwise.
|
|
137
137
|
*/
|
|
138
|
-
protected
|
|
138
|
+
protected uuidArraysAreEqual(array1: UUID[], array2: UUID[]): boolean;
|
|
139
139
|
/**
|
|
140
140
|
* Cleans the update object by removing the `_id` field and running the
|
|
141
141
|
* default update cleaner if there is one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import { BaseDocument } from '@aneuhold/core-ts-db-lib';
|
|
1
2
|
import RepoSubscriptionService from '../services/RepoSubscriptionService.js';
|
|
2
3
|
import DocumentCleaner from '../util/DocumentCleaner.js';
|
|
3
4
|
import DocumentDb from '../util/DocumentDb.js';
|
|
5
|
+
import IValidator from '../validators/BaseValidator.js';
|
|
4
6
|
/**
|
|
5
7
|
* Base repository class for handling common database operations.
|
|
6
8
|
*
|
|
9
|
+
* Implementation note: I have tried to do the types correctly here, but kept struggling with
|
|
10
|
+
* MongoDB's types around Filter<T> and _id fields.
|
|
11
|
+
*
|
|
7
12
|
* @template TBasetype - The type of the documents in the collection.
|
|
8
13
|
*/
|
|
9
14
|
export default class BaseRepository {
|
|
@@ -125,7 +130,7 @@ export default class BaseRepository {
|
|
|
125
130
|
async getAllIdsAsHash() {
|
|
126
131
|
const allDocs = await this.getAll();
|
|
127
132
|
return allDocs.reduce((acc, doc) => {
|
|
128
|
-
acc[doc._id
|
|
133
|
+
acc[doc._id] = true;
|
|
129
134
|
return acc;
|
|
130
135
|
}, {});
|
|
131
136
|
}
|
|
@@ -222,9 +227,6 @@ export default class BaseRepository {
|
|
|
222
227
|
/**
|
|
223
228
|
* Gets the filter with the default filter applied if there is one.
|
|
224
229
|
*
|
|
225
|
-
* This is purposefully changing the type because of some weird restrictions
|
|
226
|
-
* with the `mongodb` package types.
|
|
227
|
-
*
|
|
228
230
|
* @param filter - The filter to apply.
|
|
229
231
|
* @returns The filter with the default filter applied.
|
|
230
232
|
*/
|
|
@@ -235,13 +237,13 @@ export default class BaseRepository {
|
|
|
235
237
|
return { ...filter, ...this.defaultFilter };
|
|
236
238
|
}
|
|
237
239
|
/**
|
|
238
|
-
* Checks if two arrays of {@link
|
|
240
|
+
* Checks if two arrays of {@link UUID} are equal.
|
|
239
241
|
*
|
|
240
242
|
* @param array1 - The first array.
|
|
241
243
|
* @param array2 - The second array.
|
|
242
244
|
* @returns True if the arrays are equal, false otherwise.
|
|
243
245
|
*/
|
|
244
|
-
|
|
246
|
+
uuidArraysAreEqual(array1, array2) {
|
|
245
247
|
if (array1.length !== array2.length) {
|
|
246
248
|
return false;
|
|
247
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseDocument } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type {
|
|
4
4
|
AnyBulkWriteOperation,
|
|
5
5
|
BulkWriteResult,
|
|
6
6
|
Collection,
|
|
@@ -9,10 +9,8 @@ import {
|
|
|
9
9
|
OptionalUnlessRequiredId,
|
|
10
10
|
UpdateResult
|
|
11
11
|
} from 'mongodb';
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
RepoSubscribers
|
|
15
|
-
} from '../services/RepoSubscriptionService.js';
|
|
12
|
+
import type { RepoListeners, RepoSubscribers } from '../services/RepoSubscriptionService.js';
|
|
13
|
+
import RepoSubscriptionService from '../services/RepoSubscriptionService.js';
|
|
16
14
|
import DocumentCleaner from '../util/DocumentCleaner.js';
|
|
17
15
|
import DocumentDb from '../util/DocumentDb.js';
|
|
18
16
|
import IValidator from '../validators/BaseValidator.js';
|
|
@@ -20,6 +18,9 @@ import IValidator from '../validators/BaseValidator.js';
|
|
|
20
18
|
/**
|
|
21
19
|
* Base repository class for handling common database operations.
|
|
22
20
|
*
|
|
21
|
+
* Implementation note: I have tried to do the types correctly here, but kept struggling with
|
|
22
|
+
* MongoDB's types around Filter<T> and _id fields.
|
|
23
|
+
*
|
|
23
24
|
* @template TBasetype - The type of the documents in the collection.
|
|
24
25
|
*/
|
|
25
26
|
export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
@@ -131,7 +132,7 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
131
132
|
*/
|
|
132
133
|
async get(filter: Partial<TBasetype>): Promise<TBasetype | null> {
|
|
133
134
|
const collection = await this.getCollection();
|
|
134
|
-
const result = await collection.findOne(this.getFilterWithDefault(filter));
|
|
135
|
+
const result = await collection.findOne(this.getFilterWithDefault(filter as Filter<TBasetype>));
|
|
135
136
|
return result as TBasetype | null;
|
|
136
137
|
}
|
|
137
138
|
|
|
@@ -155,7 +156,7 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
155
156
|
async getAllIdsAsHash(): Promise<{ [id: string]: boolean }> {
|
|
156
157
|
const allDocs = await this.getAll();
|
|
157
158
|
return allDocs.reduce<{ [id: string]: boolean }>((acc, doc) => {
|
|
158
|
-
acc[doc._id
|
|
159
|
+
acc[doc._id] = true;
|
|
159
160
|
return acc;
|
|
160
161
|
}, {});
|
|
161
162
|
}
|
|
@@ -166,10 +167,10 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
166
167
|
* @param docIds - The IDs of the documents to retrieve.
|
|
167
168
|
* @returns An array of matching documents.
|
|
168
169
|
*/
|
|
169
|
-
async getList(docIds:
|
|
170
|
+
async getList(docIds: UUID[]): Promise<TBasetype[]> {
|
|
170
171
|
const collection = await this.getCollection();
|
|
171
172
|
const result = await collection
|
|
172
|
-
.find(this.getFilterWithDefault({ _id: { $in: docIds } }))
|
|
173
|
+
.find(this.getFilterWithDefault({ _id: { $in: docIds } } as Filter<TBasetype>))
|
|
173
174
|
.toArray();
|
|
174
175
|
return result as TBasetype[];
|
|
175
176
|
}
|
|
@@ -180,7 +181,7 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
180
181
|
* @param docId - The ID of the document to delete.
|
|
181
182
|
* @returns The result of the delete operation.
|
|
182
183
|
*/
|
|
183
|
-
async delete(docId:
|
|
184
|
+
async delete(docId: UUID): Promise<DeleteResult> {
|
|
184
185
|
const collection = await this.getCollection();
|
|
185
186
|
await Promise.all(this.subscribers.deleteOne.map((subscriber) => subscriber(docId)));
|
|
186
187
|
return collection.deleteOne({ _id: docId } as Filter<TBasetype>);
|
|
@@ -192,7 +193,7 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
192
193
|
* @param docIds - The IDs of the documents to delete.
|
|
193
194
|
* @returns The result of the delete operation.
|
|
194
195
|
*/
|
|
195
|
-
async deleteList(docIds:
|
|
196
|
+
async deleteList(docIds: UUID[]): Promise<DeleteResult> {
|
|
196
197
|
const collection = await this.getCollection();
|
|
197
198
|
const deleteResult = collection.deleteMany({
|
|
198
199
|
_id: { $in: docIds }
|
|
@@ -265,13 +266,10 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
265
266
|
/**
|
|
266
267
|
* Gets the filter with the default filter applied if there is one.
|
|
267
268
|
*
|
|
268
|
-
* This is purposefully changing the type because of some weird restrictions
|
|
269
|
-
* with the `mongodb` package types.
|
|
270
|
-
*
|
|
271
269
|
* @param filter - The filter to apply.
|
|
272
270
|
* @returns The filter with the default filter applied.
|
|
273
271
|
*/
|
|
274
|
-
protected getFilterWithDefault(filter: Filter<
|
|
272
|
+
protected getFilterWithDefault(filter: Filter<TBasetype> = {}): Filter<TBasetype> {
|
|
275
273
|
if (!this.defaultFilter) {
|
|
276
274
|
return filter;
|
|
277
275
|
}
|
|
@@ -279,13 +277,13 @@ export default abstract class BaseRepository<TBasetype extends BaseDocument> {
|
|
|
279
277
|
}
|
|
280
278
|
|
|
281
279
|
/**
|
|
282
|
-
* Checks if two arrays of {@link
|
|
280
|
+
* Checks if two arrays of {@link UUID} are equal.
|
|
283
281
|
*
|
|
284
282
|
* @param array1 - The first array.
|
|
285
283
|
* @param array2 - The second array.
|
|
286
284
|
* @returns True if the arrays are equal, false otherwise.
|
|
287
285
|
*/
|
|
288
|
-
protected
|
|
286
|
+
protected uuidArraysAreEqual(array1: UUID[], array2: UUID[]): boolean {
|
|
289
287
|
if (array1.length !== array2.length) {
|
|
290
288
|
return false;
|
|
291
289
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiKey, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
3
3
|
import BaseRepository from '../BaseRepository.js';
|
|
4
4
|
/**
|
|
5
5
|
* The repository that contains {@link ApiKey} documents.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeyRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/common/ApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiKeyRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/common/ApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAClE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAa;IAE3C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA+B;IAE/D,MAAM,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,CAAC;IA0BrD,OAAO;IAIP,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAElC;;OAEG;WACW,OAAO,IAAI,gBAAgB;CAM1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeyRepository.js","sourceRoot":"","sources":["../../../src/repositories/common/ApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ApiKeyRepository.js","sourceRoot":"","sources":["../../../src/repositories/common/ApiKeyRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,cAAsB;IAC1D,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;IAEnC,MAAM,CAAC,iBAAiB,CAA+B;IAE/D,MAAM,CAAC,uBAAuB;QAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO;YACL,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC1B,MAAM,CACJ,MAAM,UAAU,CAAC,aAAa,EAAE,CACjC,CAAC,SAAS,CAAC;oBACV,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,CACJ,MAAM,UAAU,CAAC,aAAa,EAAE,CACjC,CAAC,UAAU,CAAC;oBACX,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxB,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC1B,MAAM,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;SACF,CAAC;IACJ,CAAC;IAED;QACE,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAES,gBAAgB,KAAU,CAAC;IAErC;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YACxC,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,gBAAgB,CAAC,iBAAiB,CAAC;IAC5C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiKey, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
3
3
|
import ApiKeyValidator from '../../validators/common/ApiKeyValidator.js';
|
|
4
4
|
import BaseRepository from '../BaseRepository.js';
|
|
5
5
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { UserCTO } from '@aneuhold/core-ts-db-lib';
|
|
2
|
+
import { User } from '@aneuhold/core-ts-db-lib';
|
|
3
|
+
import type { UUID } from 'crypto';
|
|
3
4
|
import BaseRepository from '../BaseRepository.js';
|
|
4
5
|
/**
|
|
5
6
|
* The repository that contains {@link User} documents.
|
|
@@ -14,6 +15,6 @@ export default class UserRepository extends BaseRepository<User> {
|
|
|
14
15
|
*/
|
|
15
16
|
static getRepo(): UserRepository;
|
|
16
17
|
getUserCTOByUsername(userName: string): Promise<UserCTO | null>;
|
|
17
|
-
getUserCTOsByIds(userIds:
|
|
18
|
+
getUserCTOsByIds(userIds: UUID[]): Promise<UserCTO[]>;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=UserRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/common/UserRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"UserRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/common/UserRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAOlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAc,CAAC,IAAI,CAAC;IAC9D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAW;IAEzC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA6B;IAE7D,OAAO;IAIP,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAQlC;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,cAAc;IAO1B,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW/D,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAO5D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { User } from '@aneuhold/core-ts-db-lib';
|
|
1
2
|
import UserValidator from '../../validators/common/UserValidator.js';
|
|
2
3
|
import BaseRepository from '../BaseRepository.js';
|
|
3
4
|
import DashboardNonogramKatanaItemRepository from '../dashboard/DashboardNonogramKatanaItemRepository.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserRepository.js","sourceRoot":"","sources":["../../../src/repositories/common/UserRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserRepository.js","sourceRoot":"","sources":["../../../src/repositories/common/UserRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,qCAAqC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,wCAAwC,MAAM,0DAA0D,CAAC;AAChH,OAAO,uBAAuB,MAAM,yCAAyC,CAAC;AAC9E,OAAO,6BAA6B,MAAM,+CAA+C,CAAC;AAC1F,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,cAAoB;IACtD,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;IAEjC,MAAM,CAAC,iBAAiB,CAA6B;IAE7D;QACE,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IAC7D,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,CAAC,qCAAqC,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,wCAAwC,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACtC,cAAc,CAAC,iBAAiB,GAAG,IAAI,cAAc,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO,cAAc,CAAC,iBAAiB,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC,CAAC;IACN,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { UserCTO } from '@aneuhold/core-ts-db-lib';
|
|
2
|
+
import { User } from '@aneuhold/core-ts-db-lib';
|
|
3
|
+
import type { UUID } from 'crypto';
|
|
3
4
|
import UserValidator from '../../validators/common/UserValidator.js';
|
|
4
5
|
import BaseRepository from '../BaseRepository.js';
|
|
5
6
|
import DashboardNonogramKatanaItemRepository from '../dashboard/DashboardNonogramKatanaItemRepository.js';
|
|
@@ -49,7 +50,7 @@ export default class UserRepository extends BaseRepository<User> {
|
|
|
49
50
|
return null;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
async getUserCTOsByIds(userIds:
|
|
53
|
+
async getUserCTOsByIds(userIds: UUID[]): Promise<UserCTO[]> {
|
|
53
54
|
const users = await this.getList(userIds);
|
|
54
55
|
return users.map((user) => ({
|
|
55
56
|
userName: user.userName,
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { BaseDocumentWithType } from '@aneuhold/core-ts-db-lib';
|
|
1
2
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
3
|
+
import IValidator from '../../validators/BaseValidator.js';
|
|
2
4
|
import BaseRepository from '../BaseRepository.js';
|
|
3
5
|
/**
|
|
4
6
|
* A base repository for the `dashboard` collection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardBaseRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardBaseRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardBaseRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardBaseRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,uBAE5B,SAAQ,cAAyB;IACzB,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC;IAE7C,YACE,OAAe,EACf,SAAgC,EAChC,aAA+D;QAE/D,MAAM,oBAAoB,GAAG,CAAC,UAA8B,EAAE,EAAE,CAC9D,aAAa;YACX,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,EAAE,OAAO,EAAwB,CAAC;QACxD,KAAK,CAAC,uBAAuB,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACjG,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NonogramKatanaItem, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
4
4
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
5
5
|
/**
|
|
6
6
|
* The repository that contains {@link NonogramKatanaItem} documents.
|
|
@@ -19,6 +19,6 @@ export default class DashboardNonogramKatanaItemRepository extends DashboardBase
|
|
|
19
19
|
*
|
|
20
20
|
* @param userId The ID of the user to get items for.
|
|
21
21
|
*/
|
|
22
|
-
getAllForUser(userId:
|
|
22
|
+
getAllForUser(userId: UUID): Promise<NonogramKatanaItem[]>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=DashboardNonogramKatanaItemRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardNonogramKatanaItemRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaItemRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DashboardNonogramKatanaItemRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaItemRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qCAAsC,SAAQ,uBAAuB,CAAC,kBAAkB,CAAC;IAC5G,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAwC;IAEzE,OAAO;IAQP,MAAM,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,CAAC;IAgBrD,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAElC;;OAEG;WACW,OAAO,IAAI,qCAAqC;IAQ9D;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAQjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NonogramKatanaItem } from '@aneuhold/core-ts-db-lib';
|
|
1
|
+
import { NonogramKatanaItem, User } from '@aneuhold/core-ts-db-lib';
|
|
2
2
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
3
3
|
import DashboardNonogramKatanaItemValidator from '../../validators/dashboard/NonogramKatanaItemValidator.js';
|
|
4
4
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardNonogramKatanaItemRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaItemRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DashboardNonogramKatanaItemRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaItemRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,oCAAoC,MAAM,2DAA2D,CAAC;AAC7G,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qCAAsC,SAAQ,uBAA2C;IACpG,MAAM,CAAC,iBAAiB,CAAyC;IAEzE;QACE,KAAK,CACH,kBAAkB,CAAC,OAAO,EAC1B,IAAI,oCAAoC,EAAE,EAC1C,aAAa,CAAC,MAAM,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,kBAAkB,GAAG,qCAAqC,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO;YACL,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC1B,MAAM,CAAC,MAAM,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,CACJ,MAAM,kBAAkB,CAAC,aAAa,EAAE,CACzC,CAAC,UAAU,CAAC;oBACX,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;iBACzB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAES,gBAAgB,KAAU,CAAC;IAErC;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,qCAAqC,CAAC,iBAAiB,EAAE,CAAC;YAC7D,qCAAqC,CAAC,iBAAiB;gBACrD,IAAI,qCAAqC,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,qCAAqC,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,MAAY;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;SAChD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACvD,OAAO,MAA8B,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NonogramKatanaItem, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
4
4
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
5
5
|
import DashboardNonogramKatanaItemValidator from '../../validators/dashboard/NonogramKatanaItemValidator.js';
|
|
6
6
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
@@ -53,7 +53,7 @@ export default class DashboardNonogramKatanaItemRepository extends DashboardBase
|
|
|
53
53
|
*
|
|
54
54
|
* @param userId The ID of the user to get items for.
|
|
55
55
|
*/
|
|
56
|
-
async getAllForUser(userId:
|
|
56
|
+
async getAllForUser(userId: UUID): Promise<NonogramKatanaItem[]> {
|
|
57
57
|
const collection = await this.getCollection();
|
|
58
58
|
const filter = {
|
|
59
59
|
$and: [this.getFilterWithDefault(), { userId }]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NonogramKatanaUpgrade, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
4
4
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
5
5
|
/**
|
|
6
6
|
* The repository that contains {@link NonogramKatanaUpgrade} documents.
|
|
@@ -19,6 +19,6 @@ export default class DashboardNonogramKatanaUpgradeRepository extends DashboardB
|
|
|
19
19
|
*
|
|
20
20
|
* @param userId The ID of the user to get upgrades for.
|
|
21
21
|
*/
|
|
22
|
-
getAllForUser(userId:
|
|
22
|
+
getAllForUser(userId: UUID): Promise<NonogramKatanaUpgrade[]>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=DashboardNonogramKatanaUpgradeRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardNonogramKatanaUpgradeRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DashboardNonogramKatanaUpgradeRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wCAAyC,SAAQ,uBAAuB,CAAC,qBAAqB,CAAC;IAClH,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAuD;IAEvF,OAAO;IAQP,MAAM,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,CAAC;IAgBrD,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAElC;;OAEG;WACW,OAAO,IAAI,wCAAwC;IAQjE;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAQpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NonogramKatanaUpgrade } from '@aneuhold/core-ts-db-lib';
|
|
1
|
+
import { NonogramKatanaUpgrade, User } from '@aneuhold/core-ts-db-lib';
|
|
2
2
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
3
3
|
import DashboardNonogramKatanaUpgradeValidator from '../../validators/dashboard/NonogramKatanaUpgradeValidator.js';
|
|
4
4
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardNonogramKatanaUpgradeRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"DashboardNonogramKatanaUpgradeRepository.js","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardNonogramKatanaUpgradeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,uCAAuC,MAAM,8DAA8D,CAAC;AACnH,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wCAAyC,SAAQ,uBAA8C;IAC1G,MAAM,CAAC,iBAAiB,CAAuD;IAEvF;QACE,KAAK,CACH,qBAAqB,CAAC,OAAO,EAC7B,IAAI,uCAAuC,EAAE,EAC7C,aAAa,CAAC,MAAM,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,WAAW,GAAG,wCAAwC,CAAC,OAAO,EAAE,CAAC;QACvE,OAAO;YACL,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC1B,MAAM,CAAC,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,CACJ,MAAM,WAAW,CAAC,aAAa,EAAE,CAClC,CAAC,UAAU,CAAC;oBACX,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;iBACzB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAES,gBAAgB,KAAU,CAAC;IAErC;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,wCAAwC,CAAC,iBAAiB,EAAE,CAAC;YAChE,wCAAwC,CAAC,iBAAiB;gBACxD,IAAI,wCAAwC,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,wCAAwC,CAAC,iBAAiB,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,MAAY;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;SAChD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACvD,OAAO,MAAiC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NonogramKatanaUpgrade, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
4
4
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
5
5
|
import DashboardNonogramKatanaUpgradeValidator from '../../validators/dashboard/NonogramKatanaUpgradeValidator.js';
|
|
6
6
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
@@ -53,7 +53,7 @@ export default class DashboardNonogramKatanaUpgradeRepository extends DashboardB
|
|
|
53
53
|
*
|
|
54
54
|
* @param userId The ID of the user to get upgrades for.
|
|
55
55
|
*/
|
|
56
|
-
async getAllForUser(userId:
|
|
56
|
+
async getAllForUser(userId: UUID): Promise<NonogramKatanaUpgrade[]> {
|
|
57
57
|
const collection = await this.getCollection();
|
|
58
58
|
const filter = {
|
|
59
59
|
$and: [this.getFilterWithDefault(), { userId }]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DashboardTask, User } from '@aneuhold/core-ts-db-lib';
|
|
2
|
-
import {
|
|
3
|
-
import { DeleteResult } from 'mongodb';
|
|
4
|
-
import { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import type { DeleteResult } from 'mongodb';
|
|
4
|
+
import type { RepoListeners } from '../../services/RepoSubscriptionService.js';
|
|
5
5
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|
|
6
6
|
/**
|
|
7
7
|
* The repository that contains {@link DashboardTask} documents.
|
|
@@ -33,14 +33,14 @@ export default class DashboardTaskRepository extends DashboardBaseRepository<Das
|
|
|
33
33
|
* @param docId The ID of the document to delete.
|
|
34
34
|
* @returns The result of the delete operation.
|
|
35
35
|
*/
|
|
36
|
-
delete(docId:
|
|
36
|
+
delete(docId: UUID): Promise<DeleteResult>;
|
|
37
37
|
/**
|
|
38
38
|
* Deletes a list of tasks and all children of those tasks.
|
|
39
39
|
*
|
|
40
40
|
* @param docIds The IDs of the documents to delete.
|
|
41
41
|
* @returns The result of the delete operation.
|
|
42
42
|
*/
|
|
43
|
-
deleteList(docIds:
|
|
43
|
+
deleteList(docIds: UUID[]): Promise<DeleteResult>;
|
|
44
44
|
/**
|
|
45
45
|
* Gets all tasks for a given user. Only the tasks that are owned by the user
|
|
46
46
|
* or shared with the user, while they have the user ID as a collaborator,
|
|
@@ -49,7 +49,7 @@ export default class DashboardTaskRepository extends DashboardBaseRepository<Das
|
|
|
49
49
|
* @param userId The ID of the user to get tasks for.
|
|
50
50
|
* @returns The list of tasks for the user.
|
|
51
51
|
*/
|
|
52
|
-
getAllForUser(userId:
|
|
52
|
+
getAllForUser(userId: UUID): Promise<DashboardTask[]>;
|
|
53
53
|
/**
|
|
54
54
|
* Gets all the task IDs that need to be deleted if the provided list of
|
|
55
55
|
* tasks is deleted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTaskRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardTaskRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DashboardTaskRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/dashboard/DashboardTaskRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAG/E,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,uBAAuB,CAAC,aAAa,CAAC;IACzF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAA0B;IAE3D;;OAEG;IACH,OAAO;IASP;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,IAAI,aAAa,CAAC,IAAI,CAAC;IA4BrD,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAElC;;;;OAIG;WACW,OAAO,IAAI,uBAAuB;IAOhD;;;;;;OAMG;IACY,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAMzD;;;;;OAKG;IACY,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAMhE;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB3D;;;;;;OAMG;YACW,qBAAqB;CAYpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DashboardTask, DashboardTaskService } from '@aneuhold/core-ts-db-lib';
|
|
1
|
+
import { DashboardTask, DashboardTaskService, User } from '@aneuhold/core-ts-db-lib';
|
|
2
2
|
import CleanDocument from '../../util/DocumentCleaner.js';
|
|
3
3
|
import DashboardTaskValidator from '../../validators/dashboard/TaskValidator.js';
|
|
4
4
|
import DashboardBaseRepository from './DashboardBaseRepository.js';
|