@powersync/service-module-mongodb-storage 0.0.0-dev-20250721085043 → 0.0.0-dev-20250721093954

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @powersync/service-module-mongodb-storage
2
2
 
3
- ## 0.0.0-dev-20250721085043
3
+ ## 0.0.0-dev-20250721093954
4
4
 
5
5
  ### Patch Changes
6
6
 
@@ -8,10 +8,10 @@
8
8
  - a700ec9: Reporting mongo storage added to storage engine.
9
9
  - Updated dependencies [f1d187b]
10
10
  - Updated dependencies [a700ec9]
11
- - @powersync/service-core@0.0.0-dev-20250721085043
12
- - @powersync/service-types@0.0.0-dev-20250721085043
13
- - @powersync/lib-services-framework@0.0.0-dev-20250721085043
14
- - @powersync/lib-service-mongodb@0.0.0-dev-20250721085043
11
+ - @powersync/service-core@0.0.0-dev-20250721093954
12
+ - @powersync/service-types@0.0.0-dev-20250721093954
13
+ - @powersync/lib-services-framework@0.0.0-dev-20250721093954
14
+ - @powersync/lib-service-mongodb@0.0.0-dev-20250721093954
15
15
 
16
16
  ## 0.10.4
17
17
 
@@ -2,13 +2,14 @@ import { storage } from '@powersync/service-core';
2
2
  import { event_types } from '@powersync/service-types';
3
3
  import { PowerSyncMongo } from './implementation/db.js';
4
4
  import { SdkConnectDocument } from './implementation/models.js';
5
+ import { ListCurrentConnectionsResponse } from '@powersync/service-types/dist/events.js';
5
6
  export declare class MongoReportStorage implements storage.ReportStorageFactory {
6
7
  private readonly client;
7
8
  readonly db: PowerSyncMongo;
8
9
  constructor(db: PowerSyncMongo);
9
- scrapeSdkData(data: event_types.PaginatedInstanceRequest): Promise<void>;
10
+ scrapeSdkData(data: event_types.InstanceRequest): Promise<void>;
10
11
  reportSdkConnect(data: SdkConnectDocument): Promise<void>;
11
12
  reportSdkDisconnect(data: SdkConnectDocument): Promise<void>;
12
- listCurrentConnections(data: event_types.PaginatedInstanceRequest): Promise<void>;
13
+ listCurrentConnections(data: event_types.InstanceRequest): Promise<ListCurrentConnectionsResponse>;
13
14
  [Symbol.asyncDispose](): Promise<void>;
14
15
  }
@@ -10,23 +10,23 @@ export class MongoReportStorage {
10
10
  }
11
11
  async reportSdkConnect(data) {
12
12
  await this.db.sdk_report_events.findOneAndUpdate({ user_id: data.user_id, client_id: data.client_id }, {
13
- $set: data,
14
- $unset: {
15
- disconnect_at: ''
16
- }
13
+ $set: data
17
14
  }, {
18
15
  upsert: true
19
16
  });
20
17
  }
21
18
  async reportSdkDisconnect(data) {
22
- await this.db.sdk_report_events.findOneAndUpdate({ user_id: data.user_id, client_id: data.client_id }, {
23
- $set: {
24
- disconnect_at: data.disconnect_at
25
- }
26
- }, { upsert: true });
19
+ await this.db.sdk_report_events.findOneAndDelete({ user_id: data.user_id, client_id: data.client_id });
27
20
  }
28
21
  async listCurrentConnections(data) {
29
- console.log('MongoReportStorage.listCurrentConnections', data);
22
+ return this.db.sdk_report_events.aggregate([
23
+ {
24
+ $group: {
25
+ user_id: '$user_id',
26
+ client_id: '$client_id'
27
+ }
28
+ }
29
+ ]);
30
30
  }
31
31
  async [Symbol.asyncDispose]() {
32
32
  // No-op
@@ -1 +1 @@
1
- {"version":3,"file":"MongoReportStorage.js","sourceRoot":"","sources":["../../src/storage/MongoReportStorage.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAoB;IAC3B,EAAE,CAAiB;IAEnC,YAAY,EAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA0C;QAC5D,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAwB;QAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAC9C,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EACpD;YACE,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACN,aAAa,EAAE,EAAE;aAClB;SACF,EACD;YACE,MAAM,EAAE,IAAI;SACb,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,IAAwB;QAChD,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAC9C,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EACpD;YACE,IAAI,EAAE;gBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC;SACF,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,IAA0C;QACrE,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,QAAQ;IACV,CAAC;CACF"}
1
+ {"version":3,"file":"MongoReportStorage.js","sourceRoot":"","sources":["../../src/storage/MongoReportStorage.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAoB;IAC3B,EAAE,CAAiB;IAEnC,YAAY,EAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAiC;QACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAwB;QAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAC9C,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EACpD;YACE,IAAI,EAAE,IAAI;SACX,EACD;YACE,MAAM,EAAE,IAAI;SACb,CACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,IAAwB;QAChD,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,IAAiC;QAC5D,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACzC;gBACE,MAAM,EAAE;oBACN,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,YAAY;iBACxB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,QAAQ;IACV,CAAC;CACF"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@powersync/service-module-mongodb-storage",
3
3
  "repository": "https://github.com/powersync-ja/powersync-service",
4
4
  "types": "dist/index.d.ts",
5
- "version": "0.0.0-dev-20250721085043",
5
+ "version": "0.0.0-dev-20250721093954",
6
6
  "main": "dist/index.js",
7
7
  "license": "FSL-1.1-Apache-2.0",
8
8
  "type": "module",
@@ -27,15 +27,15 @@
27
27
  "lru-cache": "^10.2.2",
28
28
  "ts-codec": "^1.3.0",
29
29
  "uuid": "^11.1.0",
30
- "@powersync/lib-service-mongodb": "0.0.0-dev-20250721085043",
31
- "@powersync/lib-services-framework": "0.0.0-dev-20250721085043",
32
- "@powersync/service-core": "0.0.0-dev-20250721085043",
33
- "@powersync/service-types": "0.0.0-dev-20250721085043",
30
+ "@powersync/lib-service-mongodb": "0.0.0-dev-20250721093954",
31
+ "@powersync/lib-services-framework": "0.0.0-dev-20250721093954",
32
+ "@powersync/service-core": "0.0.0-dev-20250721093954",
33
+ "@powersync/service-types": "0.0.0-dev-20250721093954",
34
34
  "@powersync/service-jsonbig": "0.17.10",
35
35
  "@powersync/service-sync-rules": "0.27.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@powersync/service-core-tests": "0.0.0-dev-20250721085043"
38
+ "@powersync/service-core-tests": "0.0.0-dev-20250721093954"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "tsc -b",
@@ -3,6 +3,7 @@ import { storage } from '@powersync/service-core';
3
3
  import { event_types } from '@powersync/service-types';
4
4
  import { PowerSyncMongo } from './implementation/db.js';
5
5
  import { SdkConnectDocument } from './implementation/models.js';
6
+ import { ListCurrentConnectionsResponse } from '@powersync/service-types/dist/events.js';
6
7
 
7
8
  export class MongoReportStorage implements storage.ReportStorageFactory {
8
9
  private readonly client: mongo.MongoClient;
@@ -13,7 +14,7 @@ export class MongoReportStorage implements storage.ReportStorageFactory {
13
14
  this.db = db;
14
15
  }
15
16
 
16
- async scrapeSdkData(data: event_types.PaginatedInstanceRequest): Promise<void> {
17
+ async scrapeSdkData(data: event_types.InstanceRequest): Promise<void> {
17
18
  console.log('MongoReportStorage.scrapeSdkData', data);
18
19
  }
19
20
 
@@ -21,10 +22,7 @@ export class MongoReportStorage implements storage.ReportStorageFactory {
21
22
  await this.db.sdk_report_events.findOneAndUpdate(
22
23
  { user_id: data.user_id, client_id: data.client_id },
23
24
  {
24
- $set: data,
25
- $unset: {
26
- disconnect_at: ''
27
- }
25
+ $set: data
28
26
  },
29
27
  {
30
28
  upsert: true
@@ -32,18 +30,17 @@ export class MongoReportStorage implements storage.ReportStorageFactory {
32
30
  );
33
31
  }
34
32
  async reportSdkDisconnect(data: SdkConnectDocument): Promise<void> {
35
- await this.db.sdk_report_events.findOneAndUpdate(
36
- { user_id: data.user_id, client_id: data.client_id },
33
+ await this.db.sdk_report_events.findOneAndDelete({ user_id: data.user_id, client_id: data.client_id });
34
+ }
35
+ async listCurrentConnections(data: event_types.InstanceRequest): Promise<ListCurrentConnectionsResponse> {
36
+ return this.db.sdk_report_events.aggregate([
37
37
  {
38
- $set: {
39
- disconnect_at: data.disconnect_at
38
+ $group: {
39
+ user_id: '$user_id',
40
+ client_id: '$client_id'
40
41
  }
41
- },
42
- { upsert: true }
43
- );
44
- }
45
- async listCurrentConnections(data: event_types.PaginatedInstanceRequest): Promise<void> {
46
- console.log('MongoReportStorage.listCurrentConnections', data);
42
+ }
43
+ ]);
47
44
  }
48
45
 
49
46
  async [Symbol.asyncDispose]() {