@social-mail/social-mail-web-server 1.4.917 → 1.4.918
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/StoreItemTagEvents.d.ts +0 -1
- package/dist/server/model/events/StoreItemTagEvents.d.ts.map +1 -1
- package/dist/server/model/events/StoreItemTagEvents.js +12 -39
- package/dist/server/model/events/StoreItemTagEvents.js.map +1 -1
- package/dist/server/services/store/StoreTagCountService.d.ts +4 -2
- package/dist/server/services/store/StoreTagCountService.d.ts.map +1 -1
- package/dist/server/services/store/StoreTagCountService.js +1 -1
- package/dist/server/services/store/StoreTagCountService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/model/events/StoreItemTagEvents.ts +12 -43
- package/src/server/services/store/StoreTagCountService.ts +2 -2
|
@@ -13,6 +13,5 @@ export default class StoreItemTagEvents extends AuthenticatedEvents<StoreItemTag
|
|
|
13
13
|
afterInsert(entity: StoreItemTag, entry: ChangeEntry<StoreItemTag>): Promise<void>;
|
|
14
14
|
afterDelete(entity: StoreItemTag, entry: ChangeEntry<StoreItemTag>): Promise<void>;
|
|
15
15
|
onForeignKeyFilter(filter: ForeignKeyFilter<StoreItemTag, any>): IEntityQuery<any>;
|
|
16
|
-
private updateTagCounts;
|
|
17
16
|
}
|
|
18
17
|
//# sourceMappingURL=StoreItemTagEvents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreItemTagEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/StoreItemTagEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAKzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreItemTagEvents.d.ts","sourceRoot":"","sources":["../../../../src/server/model/events/StoreItemTagEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iEAAiE,CAAC;AAC/F,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,WAAW,MAAM,gEAAgE,CAAC;AAKzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AAGlG,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IAE7E,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;IAWxC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;IAIxC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC;IAWrE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAInE,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;IAOzE,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;IAI7D,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;IAUlE,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;IAUxE,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;CAIrF"}
|
|
@@ -2,6 +2,7 @@ import AuthenticatedEvents from "./AuthenticatedEvents.js";
|
|
|
2
2
|
import EntityAccessError from "@entity-access/entity-access/dist/common/EntityAccessError.js";
|
|
3
3
|
import { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
4
4
|
import TagService from "../../services/tags/TagService.js";
|
|
5
|
+
import StoreTagCountService from "../../services/store/StoreTagCountService.js";
|
|
5
6
|
export default class StoreItemTagEvents extends AuthenticatedEvents {
|
|
6
7
|
filter(query) {
|
|
7
8
|
if (!this.verify) {
|
|
@@ -39,53 +40,25 @@ export default class StoreItemTagEvents extends AuthenticatedEvents {
|
|
|
39
40
|
this.sessionUser.ensureLoggedIn();
|
|
40
41
|
}
|
|
41
42
|
async afterInsert(entity, entry) {
|
|
43
|
+
await entry.loadNavigationAsync((x) => x.storeItem);
|
|
42
44
|
const diff = entity.storeItem.active ? 1 : 0;
|
|
43
|
-
|
|
45
|
+
if (!diff) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const sts = ServiceProvider.resolve(this, StoreTagCountService);
|
|
49
|
+
await sts.updateCounts(entity.storeItem, diff);
|
|
44
50
|
}
|
|
45
51
|
async afterDelete(entity, entry) {
|
|
46
52
|
await entry.loadNavigationAsync((x) => x.storeItem);
|
|
47
53
|
const diff = entity.storeItem.active ? -1 : 0;
|
|
48
|
-
|
|
54
|
+
if (!diff) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const sts = ServiceProvider.resolve(this, StoreTagCountService);
|
|
58
|
+
await sts.updateCounts(entity.storeItem, diff);
|
|
49
59
|
}
|
|
50
60
|
onForeignKeyFilter(filter) {
|
|
51
61
|
return filter.unfiltered();
|
|
52
62
|
}
|
|
53
|
-
async updateTagCounts(entry, entity, diff) {
|
|
54
|
-
// update tags only when product is updated...
|
|
55
|
-
// const db = ServiceProvider.resolve(this, SocialMailContext);
|
|
56
|
-
// await entry.loadNavigationAsync((x) => x.storeItem);
|
|
57
|
-
// const { storeItem } = entity;
|
|
58
|
-
// const { storeID } = storeItem;
|
|
59
|
-
// const { tagID } = entity;
|
|
60
|
-
// const tagP = { storeID, tagID };
|
|
61
|
-
// let updated = await db.storeTags.where(tagP, (p) => (x) => x.storeID === p.storeID && x.tagID === p.tagID)
|
|
62
|
-
// .update({ diff }, (p) => (x) => ({
|
|
63
|
-
// count: x.count + Sql.cast.asInteger(p.diff)
|
|
64
|
-
// }));
|
|
65
|
-
// if (!updated) {
|
|
66
|
-
// // insert one...
|
|
67
|
-
// const count = await db.storeItemTags.where(tagP, (p) => (x) => x.storeItem.active === true
|
|
68
|
-
// && x.tagID === p.tagID
|
|
69
|
-
// && x.storeItem.storeID === p.storeID)
|
|
70
|
-
// .count();
|
|
71
|
-
// await db.storeTags.statements.upsert({ storeID, tagID, count }, void 0, tagP);
|
|
72
|
-
// }
|
|
73
|
-
// if (!storeItem.itemFolderID) {
|
|
74
|
-
// return;
|
|
75
|
-
// }
|
|
76
|
-
// updated = await db.storeItemFolderTags.where(storeItem, (p) => (x) => x.itemFolderID === p.itemFolderID)
|
|
77
|
-
// .update({ diff }, (p) => (x) => ({
|
|
78
|
-
// count: x.count + Sql.cast.asInteger(p.diff)
|
|
79
|
-
// }));
|
|
80
|
-
// if (!updated) {
|
|
81
|
-
// // insert one...
|
|
82
|
-
// const { itemFolderID } = storeItem;
|
|
83
|
-
// const count = await db.storeItemFolderTags.where({ itemFolderID, tagID }, (p) => (x) => x.itemFolder.items.some((si) => si.active === true)
|
|
84
|
-
// && x.tagID === p.tagID
|
|
85
|
-
// && x.itemFolderID === p.itemFolderID)
|
|
86
|
-
// .count();
|
|
87
|
-
// await db.storeItemFolderTags.statements.upsert({ itemFolderID, tagID, count }, void 0, { itemFolderID, tagID });
|
|
88
|
-
// }
|
|
89
|
-
}
|
|
90
63
|
}
|
|
91
64
|
//# sourceMappingURL=StoreItemTagEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreItemTagEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/StoreItemTagEvents.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,iBAAiB,MAAM,+DAA+D,CAAC;AAG9F,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,UAAU,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"StoreItemTagEvents.js","sourceRoot":"","sources":["../../../../src/server/model/events/StoreItemTagEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import SocialMailContext from "../../model/SocialMailContext.js";
|
|
2
|
-
import { StoreItem } from "../../model/entities/Store.js";
|
|
3
2
|
export default class StoreTagCountService {
|
|
4
3
|
db: SocialMailContext;
|
|
5
|
-
updateCounts(entity:
|
|
4
|
+
updateCounts(entity: {
|
|
5
|
+
storeID: any;
|
|
6
|
+
storeItemID: any;
|
|
7
|
+
}, diff: number): Promise<void>;
|
|
6
8
|
}
|
|
7
9
|
//# sourceMappingURL=StoreTagCountService.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"StoreTagCountService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/store/StoreTagCountService.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AAKjE,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAGrC,EAAE,EAAE,iBAAiB,CAAC;IAEhB,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO,MAAC;QAAC,WAAW,MAAA;KAAE,EAAE,IAAI,EAAE,MAAM;CAqCpE"}
|
|
@@ -12,7 +12,7 @@ import SocialMailContext from "../../model/SocialMailContext.js";
|
|
|
12
12
|
let StoreTagCountService = class StoreTagCountService {
|
|
13
13
|
async updateCounts(entity, diff) {
|
|
14
14
|
const { db } = this;
|
|
15
|
-
const {
|
|
15
|
+
const { storeID } = entity;
|
|
16
16
|
const items = await db.storeItemTags.where(entity, (p) => (x) => x.storeItemID === p.storeItemID)
|
|
17
17
|
.toArray();
|
|
18
18
|
for (const { tagID } of items) {
|
|
@@ -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;AAKlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAKrC,KAAK,CAAC,YAAY,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,MAAgC,EAAE,IAAY;QAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE3B,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"}
|