@dismissible/nestjs-storage 2.0.2-canary.2913ba8.0 → 2.0.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dismissible/nestjs-storage",
3
- "version": "2.0.2-canary.2913ba8.0",
3
+ "version": "2.0.3",
4
4
  "description": "In-memory storage adapter for Dismissible",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -17,12 +17,12 @@
17
17
  "LICENSE.md"
18
18
  ],
19
19
  "dependencies": {
20
- "@dismissible/nestjs-item": "2.0.2-canary.2913ba8.0",
21
- "@dismissible/nestjs-logger": "2.0.2-canary.2913ba8.0",
22
- "lru-cache": "10.4.3"
20
+ "@dismissible/nestjs-item": "^2.0.3",
21
+ "@dismissible/nestjs-logger": "^2.0.3",
22
+ "lru-cache": "^10.4.3"
23
23
  },
24
24
  "peerDependencies": {
25
- "@nestjs/common": "10.0.0 || ^11.0.0"
25
+ "@nestjs/common": "^10.0.0 || ^11.0.0"
26
26
  },
27
27
  "peerDependenciesMeta": {
28
28
  "@nestjs/common": {
@@ -46,4 +46,4 @@
46
46
  "access": "public"
47
47
  },
48
48
  "type": "commonjs"
49
- }
49
+ }
@@ -20,7 +20,9 @@ export declare class MemoryStorageAdapter implements IDismissibleStorage {
20
20
  */
21
21
  private createKey;
22
22
  get(userId: string, itemId: string): Promise<DismissibleItemDto | null>;
23
+ getMany(userId: string, itemIds: string[]): Promise<Map<string, DismissibleItemDto>>;
23
24
  create(item: DismissibleItemDto): Promise<DismissibleItemDto>;
25
+ createMany(items: DismissibleItemDto[]): Promise<DismissibleItemDto[]>;
24
26
  update(item: DismissibleItemDto): Promise<DismissibleItemDto>;
25
27
  delete(userId: string, itemId: string): Promise<void>;
26
28
  deleteAll(): Promise<void>;
@@ -42,12 +42,38 @@ let MemoryStorageAdapter = class MemoryStorageAdapter {
42
42
  this.logger.debug(`Storage hit`, { userId, itemId });
43
43
  return item;
44
44
  }
45
+ async getMany(userId, itemIds) {
46
+ this.logger.debug(`Storage getMany`, { userId, itemCount: itemIds.length });
47
+ const result = new Map();
48
+ for (const itemId of itemIds) {
49
+ const key = this.createKey(userId, itemId);
50
+ const item = this.storage.get(key);
51
+ if (item) {
52
+ result.set(itemId, item);
53
+ }
54
+ }
55
+ this.logger.debug(`Storage getMany complete`, {
56
+ userId,
57
+ requested: itemIds.length,
58
+ found: result.size,
59
+ });
60
+ return result;
61
+ }
45
62
  async create(item) {
46
63
  const key = this.createKey(item.userId, item.id);
47
64
  this.logger.debug(`Storage create`, { userId: item.userId, itemId: item.id, key });
48
65
  this.storage.set(key, item);
49
66
  return item;
50
67
  }
68
+ async createMany(items) {
69
+ this.logger.debug(`Storage createMany`, { itemCount: items.length });
70
+ for (const item of items) {
71
+ const key = this.createKey(item.userId, item.id);
72
+ this.storage.set(key, item);
73
+ }
74
+ this.logger.debug(`Storage createMany complete`, { created: items.length });
75
+ return items;
76
+ }
51
77
  async update(item) {
52
78
  const key = this.createKey(item.userId, item.id);
53
79
  this.logger.debug(`Storage update`, { userId: item.userId, itemId: item.id, key });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.adapter.js","sourceRoot":"","sources":["../../../../libs/storage/src/memory-storage.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-storage.adapter.js","sourceRoot":"","sources":["../../../../libs/storage/src/memory-storage.adapter.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AACpD,yCAAqC;AACrC,8DAAoF;AAGpF,mEAA8D;AAE9D,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;AAErD;;;;;;;GAOG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG/B,YACmB,MAA2B,EACC,MAA0B;QADtD,WAAM,GAAN,MAAM,CAAqB;QACC,WAAM,GAAN,MAAM,CAAoB;QAEvE,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAQ,CAA6B;YACtD,GAAG,EAAE,MAAM,CAAC,QAAQ,IAAI,iBAAiB;YACzC,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,cAAc;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,MAAc,EAAE,MAAc;QAC9C,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,MAAc;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAiB;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAC5C,MAAM;YACN,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,KAAK,EAAE,MAAM,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAA2B;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAErE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAwB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAAc;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF,CAAA;AAtGY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAMR,mBAAA,IAAA,eAAM,EAAC,kCAAkB,CAAC,CAAA;6CADF,2CAAmB;GAJnC,oBAAoB,CAsGhC"}
@@ -15,12 +15,25 @@ export interface IDismissibleStorage {
15
15
  * @returns The item or null if not found
16
16
  */
17
17
  get(userId: string, itemId: string): Promise<DismissibleItemDto | null>;
18
+ /**
19
+ * Retrieve multiple items by user ID and item IDs.
20
+ * @param userId The user identifier
21
+ * @param itemIds Array of item identifiers
22
+ * @returns Map of itemId to item for items that exist
23
+ */
24
+ getMany(userId: string, itemIds: string[]): Promise<Map<string, DismissibleItemDto>>;
18
25
  /**
19
26
  * Create a new item.
20
27
  * @param item The item to create (contains userId and id)
21
28
  * @returns The created item
22
29
  */
23
30
  create(item: DismissibleItemDto): Promise<DismissibleItemDto>;
31
+ /**
32
+ * Create multiple items.
33
+ * @param items Array of items to create (each contains userId and id)
34
+ * @returns Array of created items
35
+ */
36
+ createMany(items: DismissibleItemDto[]): Promise<DismissibleItemDto[]>;
24
37
  /**
25
38
  * Update an existing item.
26
39
  * @param item The item to update (contains userId and id)