@diia-inhouse/db 4.8.0 → 4.10.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.
@@ -28,14 +28,14 @@ class EncryptedStorageService {
28
28
  const result = await encryptedStorage_1.default.create(storageItem);
29
29
  return result.id;
30
30
  }
31
- async get(id) {
32
- const storageItem = await this.getStorageItemById(id);
31
+ async get(id, options = {}) {
32
+ const storageItem = await this.getStorageItemById(id, options);
33
33
  const decryptedData = await this.auth.decryptJWE(storageItem.data);
34
34
  return await utils_1.utils.decodeObjectFromBase64(decryptedData);
35
35
  }
36
- async getSafe(id) {
36
+ async getSafe(id, options = {}) {
37
37
  try {
38
- return await this.get(id);
38
+ return await this.get(id, options);
39
39
  }
40
40
  catch (err) {
41
41
  this.logger.log('Unable to retrieve data from encrypted storage', { err });
@@ -63,8 +63,8 @@ class EncryptedStorageService {
63
63
  const { deletedCount } = await encryptedStorage_1.default.deleteMany({ _id: { $in: ids } });
64
64
  this.logger.info(`Encrypted data removed from storage: ${deletedCount}`);
65
65
  }
66
- async setExpiration(id, expiration) {
67
- const storageItem = await this.getStorageItemById(id);
66
+ async setExpiration(id, expiration, options = {}) {
67
+ const storageItem = await this.getStorageItemById(id, options);
68
68
  storageItem.expiresAt = new Date(Date.now() + expiration);
69
69
  await storageItem.save();
70
70
  this.logger.info('Updated encrypted data expiration date', { id });
@@ -77,8 +77,8 @@ class EncryptedStorageService {
77
77
  }
78
78
  return storageItem.expiresAt;
79
79
  }
80
- async getStorageItemById(id) {
81
- const storageItem = await encryptedStorage_1.default.findById(id);
80
+ async getStorageItemById(id, options = {}) {
81
+ const storageItem = await encryptedStorage_1.default.findById(id, undefined, options);
82
82
  if (!storageItem) {
83
83
  this.logger.error('Encrypted data is not found in storage', { id });
84
84
  throw new errors_1.NotFoundError('Missing data');
@@ -1 +1 @@
1
- {"version":3,"file":"encryptedStorage.js","sourceRoot":"","sources":["../../src/services/encryptedStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryptedStorage.js","sourceRoot":"","sources":["../../src/services/encryptedStorage.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
24
24
  /// <reference types="mongoose/types/inferschematype" />
25
- import { Types } from 'mongoose';
25
+ import { QueryOptions, Types } from 'mongoose';
26
26
  import { AuthService } from '@diia-inhouse/crypto';
27
27
  import { EnvService } from '@diia-inhouse/env';
28
28
  import { Logger } from '@diia-inhouse/types';
@@ -32,12 +32,12 @@ export declare class EncryptedStorageService {
32
32
  private readonly envService;
33
33
  constructor(logger: Logger, auth: AuthService, envService: EnvService);
34
34
  save<T>(data: T, expiration: number): Promise<Types.ObjectId>;
35
- get<T>(id: Types.ObjectId): Promise<T>;
36
- getSafe<T>(id: Types.ObjectId): Promise<T | undefined>;
35
+ get<T>(id: Types.ObjectId, options?: QueryOptions): Promise<T>;
36
+ getSafe<T>(id: Types.ObjectId, options?: QueryOptions): Promise<T | undefined>;
37
37
  update<T>(id: Types.ObjectId, data: T): Promise<void>;
38
38
  remove(id: Types.ObjectId): Promise<void>;
39
39
  deleteMany(ids: Types.ObjectId[]): Promise<void>;
40
- setExpiration(id: Types.ObjectId, expiration: number): Promise<void>;
40
+ setExpiration(id: Types.ObjectId, expiration: number, options?: QueryOptions): Promise<void>;
41
41
  getExpiration(id: Types.ObjectId): Promise<Date>;
42
42
  private getStorageItemById;
43
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diia-inhouse/db",
3
- "version": "4.8.0",
3
+ "version": "4.10.0",
4
4
  "description": "Package with database connection",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@diia-inhouse/crypto": "1.11.0",
33
- "@diia-inhouse/diia-logger": "2.15.0",
33
+ "@diia-inhouse/diia-logger": "3.0.0",
34
34
  "@diia-inhouse/utils": "3.5.0",
35
35
  "@diia-inhouse/validators": "1.17.0",
36
36
  "@types/migrate-mongo": "10.0.4",
@@ -43,27 +43,26 @@
43
43
  "peerDependencies": {
44
44
  "@diia-inhouse/env": ">=1.9.1",
45
45
  "@diia-inhouse/errors": ">=1.6.1",
46
- "@diia-inhouse/types": ">=5.10.0"
46
+ "@diia-inhouse/types": ">=6.30.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@diia-inhouse/configs": "1.31.1",
49
+ "@diia-inhouse/configs": "1.32.0",
50
50
  "@diia-inhouse/env": "1.16.0",
51
- "@diia-inhouse/errors": "1.9.0",
51
+ "@diia-inhouse/errors": "1.10.0",
52
52
  "@diia-inhouse/eslint-config": "5.1.0",
53
53
  "@diia-inhouse/eslint-plugin": "1.6.0",
54
- "@diia-inhouse/test": "6.3.0",
55
- "@diia-inhouse/types": "6.24.0",
56
- "@types/lodash": "4.17.0",
57
- "@types/node": "20.12.7",
54
+ "@diia-inhouse/test": "6.3.1",
55
+ "@diia-inhouse/types": "6.30.0",
56
+ "@types/lodash": "4.17.5",
57
+ "@types/node": "20.14.5",
58
58
  "@types/recursive-readdir": "2.2.4",
59
59
  "dotenv-flow": "4.1.0",
60
60
  "eslint": "8.57.0",
61
- "glob": "10.3.12",
62
61
  "jest": "29.7.0",
63
62
  "lockfile-lint": "4.13.2",
64
63
  "madge": "7.0.0",
65
64
  "protobufjs": "7.2.5",
66
- "rimraf": "5.0.5",
65
+ "rimraf": "5.0.7",
67
66
  "semantic-release": "21.1.2",
68
67
  "typescript": "5.4.5"
69
68
  },