@antelopejs/dms-marketing 0.3.0 → 0.3.1

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.
@@ -15,18 +15,22 @@ class MarketingSessionsModel extends (0, interface_database_decorators_1.BasicDa
15
15
  return results[0];
16
16
  }
17
17
  async getLastActivityByWebsites(websiteIds) {
18
- if (websiteIds.length === 0) {
19
- return new Map();
18
+ const latest = await Promise.all(websiteIds.map(async (websiteId) => {
19
+ const rows = await this.table
20
+ .getAll(websiteId, "websiteId")
21
+ .orderBy("lastSeenAt", "desc")
22
+ .slice(0, 1)
23
+ .pluck("lastSeenAt")
24
+ .run();
25
+ return [websiteId, rows[0]?.lastSeenAt];
26
+ }));
27
+ const activity = new Map();
28
+ for (const [websiteId, lastSeenAt] of latest) {
29
+ if (lastSeenAt != null) {
30
+ activity.set(websiteId, new Date(lastSeenAt).getTime());
31
+ }
20
32
  }
21
- const rows = await this.table
22
- .getAll(websiteIds, "websiteId")
23
- .group("websiteId", (stream, websiteId) => ({
24
- websiteId,
25
- lastSeenAt: stream.max("lastSeenAt"),
26
- }))
27
- .filter((row) => row.key("lastSeenAt").ne(null))
28
- .run();
29
- return new Map(rows.map((row) => [row.websiteId, new Date(row.lastSeenAt).getTime()]));
33
+ return activity;
30
34
  }
31
35
  async recordActivity(sessionId, delta) {
32
36
  await this.table
@@ -1 +1 @@
1
- {"version":3,"file":"marketing_sessions.model.js","sourceRoot":"","sources":["../../../src/db/models/marketing_sessions.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,iFAG4C;AAC5C,2CAAgD;AAShD,MAAa,sBAAuB,SAAQ,IAAA,8CAAc,EACxD,2CAAgB,EAChB,qDAA0B,CAC3B;IAMC,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;aAC7B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;aACnD,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,EAAE,CAAC;QACT,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAGD,KAAK,CAAC,yBAAyB,CAC7B,UAAoB;QAEpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK;aAC1B,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;aAC/B,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1C,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;SACrC,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;aAC/C,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,KAA2B;QAE3B,MAAM,IAAI,CAAC,KAAK;aACb,GAAG,CAAC,SAAS,CAAC;aACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChB,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAC9D,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;SAC/D,CAAC,CAAC;aACF,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACpE,CAAC;CACF;AAtED,wDAsEC"}
1
+ {"version":3,"file":"marketing_sessions.model.js","sourceRoot":"","sources":["../../../src/db/models/marketing_sessions.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,iFAG4C;AAC5C,2CAAgD;AAShD,MAAa,sBAAuB,SAAQ,IAAA,8CAAc,EACxD,2CAAgB,EAChB,qDAA0B,CAC3B;IAMC,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK;aAC7B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;aACnD,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;aAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,EAAE,CAAC;QACT,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAOD,KAAK,CAAC,yBAAyB,CAC7B,UAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK;iBAC1B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;iBAC9B,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,KAAK,CAAC,YAAY,CAAC;iBACnB,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAU,CAAC;QACnD,CAAC,CAAC,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAQD,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,KAA2B;QAE3B,MAAM,IAAI,CAAC,KAAK;aACb,GAAG,CAAC,SAAS,CAAC;aACd,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChB,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAC9D,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YACrD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;SAC/D,CAAC,CAAC;aACF,GAAG,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACpE,CAAC;CACF;AA9ED,wDA8EC"}
@@ -1,4 +1,5 @@
1
1
  import { MarketingSettings } from "../tables/marketing_settings.table";
2
+ export declare const MARKETING_SETTINGS_ID = "settings";
2
3
  declare const MarketingSettingsModel_base: {
3
4
  new (database: import("@antelopejs/interface-database").SchemaInstance<any>): {
4
5
  readonly table: import("@antelopejs/interface-database").Table<MarketingSettings>;
@@ -19,5 +20,6 @@ declare const MarketingSettingsModel_base: {
19
20
  };
20
21
  export declare class MarketingSettingsModel extends MarketingSettingsModel_base {
21
22
  getSingleton(): Promise<MarketingSettings | undefined>;
23
+ insertSingleton(doc: MarketingSettings): Promise<MarketingSettings>;
22
24
  }
23
25
  export {};
@@ -1,13 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MarketingSettingsModel = void 0;
3
+ exports.MarketingSettingsModel = exports.MARKETING_SETTINGS_ID = void 0;
4
4
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
5
5
  const marketing_settings_table_1 = require("../tables/marketing_settings.table");
6
+ exports.MARKETING_SETTINGS_ID = "settings";
6
7
  class MarketingSettingsModel extends (0, interface_database_decorators_1.BasicDataModel)(marketing_settings_table_1.MarketingSettings, marketing_settings_table_1.marketingSettingsTableName) {
7
8
  async getSingleton() {
8
- const row = await this.table.nth(0).run();
9
+ const row = (await this.table.get(exports.MARKETING_SETTINGS_ID).run()) ??
10
+ (await this.table.nth(0).run());
9
11
  return MarketingSettingsModel.fromDatabase(row);
10
12
  }
13
+ async insertSingleton(doc) {
14
+ doc._id = exports.MARKETING_SETTINGS_ID;
15
+ try {
16
+ await this.insert(doc);
17
+ return doc;
18
+ }
19
+ catch (error) {
20
+ const winner = await this.getSingleton();
21
+ if (!winner) {
22
+ throw error;
23
+ }
24
+ return winner;
25
+ }
26
+ }
11
27
  }
12
28
  exports.MarketingSettingsModel = MarketingSettingsModel;
13
29
  //# sourceMappingURL=marketing_settings.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marketing_settings.model.js","sourceRoot":"","sources":["../../../src/db/models/marketing_settings.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,iFAG4C;AAE5C,MAAa,sBAAuB,SAAQ,IAAA,8CAAc,EACxD,4CAAiB,EACjB,qDAA0B,CAC3B;IACC,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,OAAO,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF;AARD,wDAQC"}
1
+ {"version":3,"file":"marketing_settings.model.js","sourceRoot":"","sources":["../../../src/db/models/marketing_settings.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,iFAG4C;AAO/B,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAa,sBAAuB,SAAQ,IAAA,8CAAc,EACxD,4CAAiB,EACjB,qDAA0B,CAC3B;IAGC,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GACP,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,6BAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClC,OAAO,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,GAAsB;QAC1C,GAAG,CAAC,GAAG,GAAG,6BAAqB,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAjCD,wDAiCC"}
@@ -14,11 +14,13 @@ const interface_database_decorators_1 = require("@antelopejs/interface-database-
14
14
  const constants_1 = require("@antelopejs/interface-dms/constants");
15
15
  exports.marketingSessionsTableName = "marketing_sessions";
16
16
  const VISITOR_SESSION_INDEX = "websiteId_visitorId_startedAt";
17
+ const LAST_ACTIVITY_INDEX = "websiteId_lastSeenAt";
17
18
  let MarketingSession = class MarketingSession extends interface_database_decorators_1.Table {
18
19
  };
19
20
  exports.MarketingSession = MarketingSession;
20
21
  __decorate([
21
22
  (0, interface_database_decorators_1.Index)({ group: VISITOR_SESSION_INDEX }),
23
+ (0, interface_database_decorators_1.Index)({ group: LAST_ACTIVITY_INDEX }),
22
24
  (0, interface_database_decorators_1.Field)("string"),
23
25
  __metadata("design:type", String)
24
26
  ], MarketingSession.prototype, "websiteId", void 0);
@@ -33,6 +35,7 @@ __decorate([
33
35
  __metadata("design:type", Date)
34
36
  ], MarketingSession.prototype, "startedAt", void 0);
35
37
  __decorate([
38
+ (0, interface_database_decorators_1.Index)({ group: LAST_ACTIVITY_INDEX }),
36
39
  (0, interface_database_decorators_1.Index)(),
37
40
  (0, interface_database_decorators_1.Field)("date"),
38
41
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"marketing_sessions.table.js","sourceRoot":"","sources":["../../../src/db/tables/marketing_sessions.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAE5D,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAS/D,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AASvD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qCAAK;CA+E1C,CAAA;AA/EY,4CAAgB;AAGnB;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACU;AAIlB;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACU;AAIlB;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;mDAAC;AAKhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;oDAAC;AAGjB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;sDACa;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wDACgB;AAGxB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACa;AAGrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACY;AASpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAKlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;2BA9Ed,gBAAgB;IAD5B,IAAA,6CAAa,EAAC,kCAA0B,EAAE,8BAAkB,CAAC;GACjD,gBAAgB,CA+E5B"}
1
+ {"version":3,"file":"marketing_sessions.table.js","sourceRoot":"","sources":["../../../src/db/tables/marketing_sessions.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAE5D,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAS/D,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAO9D,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAS5C,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qCAAK;CAkF1C,CAAA;AAlFY,4CAAgB;AAInB;IAHP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACU;AAIlB;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACU;AAIlB;IAFP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACvC,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;mDAAC;AAOhB;IAHP,IAAA,qCAAK,EAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACrC,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;oDAAC;AAGjB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;sDACa;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wDACgB;AAGxB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACW;AAGnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACa;AAGrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACY;AASpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACY;AAGpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAKlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;2BAjFd,gBAAgB;IAD5B,IAAA,6CAAa,EAAC,kCAA0B,EAAE,8BAAkB,CAAC;GACjD,gBAAgB,CAkF5B"}
@@ -74,27 +74,25 @@ function buildNextSettings(values, existing) {
74
74
  return doc;
75
75
  }
76
76
  async function persistSettings(model, next, existing) {
77
- const row = existing ?? (await model.getSingleton());
78
- if (row) {
79
- Object.assign(row, next);
80
- await model.update(row);
81
- return;
82
- }
83
- await model.insert({
84
- ...next,
85
- visitorHashSecret: cachedSecret || generateSecret(),
77
+ const row = existing ??
78
+ (await model.getSingleton()) ??
79
+ (await createSingleton(model, next, cachedSecret || generateSecret()));
80
+ Object.assign(row, next);
81
+ await model.update(row);
82
+ }
83
+ async function createSingleton(model, doc, visitorHashSecret) {
84
+ const row = await model.insertSingleton({
85
+ ...doc,
86
+ visitorHashSecret,
86
87
  updatedAt: new Date(),
87
88
  });
89
+ cachedSecret = row.visitorHashSecret;
90
+ return row;
88
91
  }
89
92
  async function loadSettings(model) {
90
93
  let doc = await model.getSingleton();
91
94
  if (!doc) {
92
- doc = {
93
- ...defaultDocument(),
94
- visitorHashSecret: generateSecret(),
95
- updatedAt: new Date(),
96
- };
97
- await model.insert(doc);
95
+ doc = await createSingleton(model, defaultDocument(), generateSecret());
98
96
  }
99
97
  else if (!doc.visitorHashSecret) {
100
98
  doc.visitorHashSecret = generateSecret();
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/dms-marketing",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",