@social-mail/social-mail-web-server 1.4.890 → 1.4.892
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/dist/server/model/events/StoreTagEvents.d.ts +1 -0
- package/dist/server/model/events/StoreTagEvents.d.ts.map +1 -1
- package/dist/server/model/events/StoreTagEvents.js +28 -0
- package/dist/server/model/events/StoreTagEvents.js.map +1 -1
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/services/store/StoreTagCountService.d.ts.map +1 -1
- package/dist/server/services/store/StoreTagCountService.js +29 -22
- package/dist/server/services/store/StoreTagCountService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/server/model/events/StoreTagEvents.ts +17 -0
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/store/StoreTagCountService.ts +32 -21
|
@@ -2,6 +2,7 @@ import { IEntityQuery } from "@entity-access/entity-access/dist/model/IFilterWit
|
|
|
2
2
|
import { StoreTag } from "../entities/Store.js";
|
|
3
3
|
import AuthenticatedEvents from "./AuthenticatedEvents.js";
|
|
4
4
|
export default class StoreTagEvents extends AuthenticatedEvents<StoreTag> {
|
|
5
|
+
storeQuery(): IEntityQuery<StoreTag>;
|
|
5
6
|
filter(query: IEntityQuery<StoreTag>): IEntityQuery<StoreTag>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=StoreTagEvents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreTagEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/StoreTagEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreTagEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/StoreTagEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAM3D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IAGrE,UAAU;IAYV,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC;CAIhE"}
|
|
@@ -1,7 +1,35 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
1
10
|
import AuthenticatedEvents from "./AuthenticatedEvents.js";
|
|
11
|
+
import External from "@entity-access/server-pages/dist/decorators/External.js";
|
|
12
|
+
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
13
|
+
import { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
14
|
+
import SocialMailContext from "../SocialMailContext.js";
|
|
2
15
|
export default class StoreTagEvents extends AuthenticatedEvents {
|
|
16
|
+
storeQuery() {
|
|
17
|
+
const page = ServiceProvider.resolve(this, Page);
|
|
18
|
+
const host = page.request.host;
|
|
19
|
+
const db = ServiceProvider.resolve(this, SocialMailContext);
|
|
20
|
+
const q = db.storeTags.where({ host }, (p) => (x) => x.store.storeWebsites
|
|
21
|
+
.some((w) => w.website.hosts
|
|
22
|
+
.some((h) => h.host === p.host)));
|
|
23
|
+
return q;
|
|
24
|
+
}
|
|
3
25
|
filter(query) {
|
|
4
26
|
return query;
|
|
5
27
|
}
|
|
6
28
|
}
|
|
29
|
+
__decorate([
|
|
30
|
+
External,
|
|
31
|
+
__metadata("design:type", Function),
|
|
32
|
+
__metadata("design:paramtypes", []),
|
|
33
|
+
__metadata("design:returntype", void 0)
|
|
34
|
+
], StoreTagEvents.prototype, "storeQuery", null);
|
|
7
35
|
//# sourceMappingURL=StoreTagEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreTagEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/StoreTagEvents.ts"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreTagEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/StoreTagEvents.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,QAAQ,MAAM,yDAAyD,CAAC;AAC/E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,mBAA6B;IAGrE,UAAU;QACN,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAW,CAAS,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;aACrE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC;IACb,CAAC;IAGD,MAAM,CAAC,KAA6B;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AAhBG;IADC,QAAQ;;;;gDAUR"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIPackageConfig } from "../../services/DBConfig.js";
|
|
2
2
|
import semver from "semver";
|
|
3
3
|
export default async function seedUI(config) {
|
|
4
|
-
const version = "1.2.
|
|
4
|
+
const version = "1.2.365";
|
|
5
5
|
const existing = await config.getValue(UIPackageConfig, false);
|
|
6
6
|
if (existing) {
|
|
7
7
|
if (semver.gte(existing.version, version)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreTagCountService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/store/StoreTagCountService.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAI1D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC,EAAE,EAAE,iBAAiB,CAAC;IAEhB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"StoreTagCountService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/store/StoreTagCountService.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAI1D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC,EAAE,EAAE,iBAAiB,CAAC;IAEhB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;CAqCrD"}
|
|
@@ -9,32 +9,39 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import Inject, { RegisterTransient } from "@entity-access/entity-access/dist/di/di.js";
|
|
11
11
|
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
12
|
-
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
13
12
|
let StoreTagCountService = class StoreTagCountService {
|
|
14
13
|
async updateCounts(entity, diff) {
|
|
15
14
|
const { db } = this;
|
|
16
|
-
const { storeItemID } = entity;
|
|
17
|
-
const
|
|
18
|
-
.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
.map((t) => 1))))
|
|
25
|
-
}));
|
|
26
|
-
if (!updated) {
|
|
27
|
-
// insert...
|
|
28
|
-
await db.storeItemTags.where(entity, (p) => (x) => x.storeItemID === p.storeItemID)
|
|
29
|
-
.select({ diff }, (p) => (x) => ({
|
|
30
|
-
storeID: x.storeItem.storeID,
|
|
31
|
-
tagID: x.tagID,
|
|
32
|
-
count: Sql.cast.asInteger(p.diff) * Sql.coll.sum(x.tag.storeItemTags
|
|
33
|
-
.filter((sit) => sit.storeItem.storeID === x.storeItem.storeID)
|
|
34
|
-
.map((sit) => 1))
|
|
35
|
-
}))
|
|
36
|
-
.insertInTo(db.storeTags);
|
|
15
|
+
const { storeItemID, storeID } = entity;
|
|
16
|
+
const items = await db.storeItemTags.where(entity, (p) => (x) => x.storeItemID === p.storeItemID)
|
|
17
|
+
.toArray();
|
|
18
|
+
for (const { tagID } of items) {
|
|
19
|
+
const ti = { tagID, storeID };
|
|
20
|
+
const count = diff * (await db.storeItemTags.where(ti, (p) => (x) => x.tagID === p.tagID && x.storeItem.storeID === p.storeID)
|
|
21
|
+
.count());
|
|
22
|
+
await db.storeTags.statements.upsert({ tagID, storeID, count }, void 0, { tagID, storeID });
|
|
37
23
|
}
|
|
24
|
+
// const updated = await db.storeTags.where(entity, (p) => (x) => x.storeID === p.storeID)
|
|
25
|
+
// .where(entity, (p) => (x) => x.tag.storeItemTags.some((sit) => sit.storeItemID === p.storeItemID))
|
|
26
|
+
// .update({ diff, storeItemID }, (p) => (x) => ({
|
|
27
|
+
// count: x.count + Sql.cast.asInteger(p.diff) * Sql.coll.sum(x.store.storeItems
|
|
28
|
+
// .filter((si) => si.storeItemID === p.storeItemID)
|
|
29
|
+
// .map((si) => Sql.coll.sum(si.storeItemTags
|
|
30
|
+
// .filter((t) => t.tagID === x.tagID)
|
|
31
|
+
// .map((t) => 1))))
|
|
32
|
+
// }));
|
|
33
|
+
// if (!updated) {
|
|
34
|
+
// // insert...
|
|
35
|
+
// await db.storeItemTags.where(entity, (p) => (x) => x.storeItemID === p.storeItemID)
|
|
36
|
+
// .select({ diff }, (p) => (x) => ({
|
|
37
|
+
// storeID: x.storeItem.storeID,
|
|
38
|
+
// tagID: x.tagID,
|
|
39
|
+
// count: Sql.cast.asInteger(p.diff) * Sql.coll.sum(x.tag.storeItemTags
|
|
40
|
+
// .filter((sit) => sit.storeItem.storeID === x.storeItem.storeID)
|
|
41
|
+
// .map((sit) => 1))
|
|
42
|
+
// }))
|
|
43
|
+
// .insertInTo(db.storeTags);
|
|
44
|
+
// }
|
|
38
45
|
}
|
|
39
46
|
};
|
|
40
47
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreTagCountService.js","sourceRoot":"","sources":["../../../../src/server/services/store/StoreTagCountService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreTagCountService.js","sourceRoot":"","sources":["../../../../src/server/services/store/StoreTagCountService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAKlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAKrC,KAAK,CAAC,YAAY,CAAC,MAAiB,EAAE,IAAY;QAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC;aAC5F,OAAO,EAAE,CAAC;QAEf,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAG,OAAO,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;iBACzH,KAAK,EAAE,CAAC,CAAC;YACd,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,0FAA0F;QAC1F,yGAAyG;QACzG,sDAAsD;QACtD,wFAAwF;QACxF,gEAAgE;QAChE,yDAAyD;QACzD,sDAAsD;QACtD,oCAAoC;QACpC,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,0FAA0F;QAC1F,6CAA6C;QAC7C,4CAA4C;QAC5C,8BAA8B;QAC9B,mFAAmF;QACnF,kFAAkF;QAClF,oCAAoC;QACpC,cAAc;QACd,qCAAqC;QACrC,IAAI;IACR,CAAC;CAEJ,CAAA;AAvCG;IADC,MAAM;8BACH,iBAAiB;gDAAC;AAHL,oBAAoB;IADxC,iBAAiB;GACG,oBAAoB,CA0CxC;eA1CoB,oBAAoB"}
|