@social-mail/social-mail-client 1.2.270 → 1.2.271

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.
Files changed (41) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +126 -445
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +3 -3
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/collection-editor/CollectionEditorEx.js +5 -3
  6. package/dist/common/controls/collection-editor/CollectionEditorEx.js.map +1 -1
  7. package/dist/common/currency.js +1 -1
  8. package/dist/common/currency.js.map +1 -1
  9. package/dist/common/pages/stores/orders/EditOrderPage.d.ts.map +1 -1
  10. package/dist/common/pages/stores/orders/EditOrderPage.js +1 -12
  11. package/dist/common/pages/stores/orders/EditOrderPage.js.map +1 -1
  12. package/dist/common/pages/stores/products/ProductEditor.d.ts.map +1 -1
  13. package/dist/common/pages/stores/products/ProductEditor.js +31 -29
  14. package/dist/common/pages/stores/products/ProductEditor.js.map +1 -1
  15. package/dist/model/model.d.ts +17 -86
  16. package/dist/model/model.d.ts.map +1 -1
  17. package/dist/model/model.js +87 -399
  18. package/dist/model/model.js.map +1 -1
  19. package/dist/public/channel/ChannelView.pack.js +87 -399
  20. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  21. package/dist/public/channel/ChannelView.pack.min.js +1 -1
  22. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  23. package/dist/public/store/Store.pack.js +88 -400
  24. package/dist/public/store/Store.pack.js.map +1 -1
  25. package/dist/public/store/Store.pack.min.js +2 -2
  26. package/dist/public/store/Store.pack.min.js.map +1 -1
  27. package/dist/services/store/StoreItemService.d.ts.map +1 -1
  28. package/dist/services/store/StoreItemService.js +2 -2
  29. package/dist/services/store/StoreItemService.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/web/AppIndex.pack.js +126 -445
  32. package/dist/web/AppIndex.pack.js.map +1 -1
  33. package/dist/web/AppIndex.pack.min.js +3 -3
  34. package/dist/web/AppIndex.pack.min.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/common/controls/collection-editor/CollectionEditorEx.tsx +8 -3
  37. package/src/common/currency.ts +1 -1
  38. package/src/common/pages/stores/orders/EditOrderPage.tsx +0 -11
  39. package/src/common/pages/stores/products/ProductEditor.tsx +28 -36
  40. package/src/model/model.ts +34 -133
  41. package/src/services/store/StoreItemService.ts +4 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-client",
3
- "version": "1.2.270",
3
+ "version": "1.2.271",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -40,6 +40,7 @@ export default class CollectionEditorEx<T = any, TR = any> extends AtomControl {
40
40
  pageResultToItem?: (item: TR) => TR = null;
41
41
  itemFactory?: () => TR = null;
42
42
  itemRenderer: (item: TR) => XNode = null;
43
+ inlineAddRenderere: (item: TR) => XNode = null;
43
44
  inlineAdd: boolean = false;
44
45
  addPage?: any = null;
45
46
  editPage?: any = null;
@@ -75,6 +76,8 @@ export default class CollectionEditorEx<T = any, TR = any> extends AtomControl {
75
76
  this.model[this.fieldName] ??= [];
76
77
  }
77
78
 
79
+ this.inlineAdd ||= !!this.inlineAddRenderere;
80
+
78
81
  const fx = () =>
79
82
  this.model[this.fieldName] ??= [];
80
83
  const exp = `() => this.model`;
@@ -94,15 +97,17 @@ export default class CollectionEditorEx<T = any, TR = any> extends AtomControl {
94
97
  data-layout={this.layout as any}
95
98
  event-delete-collection-item={(ce: CustomEvent) => this.deleteItem(ce.detail)}
96
99
  items={Bind.oneWay(() => this.items)}
97
- footer={Bind.oneWay(() => this.inlineAdd ? this.schema.create({ ... this.addItemDefaults ?? {}}) : void 0)}
100
+ footer={Bind.oneWay(() => this.inlineAdd ? this.relation.relatedModel.create({ ... this.addItemDefaults ?? {}}) : void 0)}
98
101
  footerRenderer={(newItem) => {
99
- const node = this.itemRenderer(newItem);
102
+ const node = this.inlineAddRenderere
103
+ ? this.inlineAddRenderere(newItem)
104
+ : this.itemRenderer(newItem);
100
105
  const na = node.attributes ??= {};
101
106
  na["data-margin"] = "default";
102
107
  node.children.push(<span><button
103
108
  event-click={async () => {
104
109
  await this.addNewItemInList(newItem);
105
- this.repeater.footer = this.schema.create({ ... this.addItemDefaults ?? {}});
110
+ this.repeater.footer = this.relation.relatedModel.create({ ... this.addItemDefaults ?? {}});
106
111
  }}
107
112
  text="Add"/></span>);
108
113
  for (const iterator of node.children) {
@@ -31,5 +31,5 @@ export function formatCurrency(n, currency: string) {
31
31
  }
32
32
 
33
33
  export function formatPrice(n: IStoreItemPrice) {
34
- return formatCurrency(Number(n.amount) + Number(n.addonsAmount), n.currency || "INR");
34
+ return formatCurrency(Number(n.amount) + Number(n.taxAmount), n.currency || "INR");
35
35
  }
@@ -114,17 +114,6 @@ export default class EditOrderPage extends ContentPage<Partial<IStoreJournal>> {
114
114
  data-layout="vertical-flex"
115
115
  style-padding="0"
116
116
  style-overflow="visible">
117
- <ReferenceEditor
118
- label=""
119
- model={line}
120
- field={(f) => f.taxFolder}
121
- event-reference-updated={(ce) => this.taxFolderUpdated(line, ce.detail)}
122
- searchQuery={(q: Query<IStoreItemFolder>, search) =>
123
- (search
124
- ? q.where({ search: search + "%" }, (p) => (x) => Sql.text.iLike(x.name , p.search))
125
- : q)}
126
- itemRenderer={(x) => <div text={x.name}/>}
127
- />
128
117
  <AtomRepeater
129
118
  items={Bind.source(line, (x) => x.source.relatedItems)}
130
119
  itemRenderer={(ri: IStoreJournalLineItem) => <div data-layout="row">
@@ -1,13 +1,12 @@
1
1
  import { AtomControl } from "@web-atoms/core/dist/web/controls/AtomControl";
2
- import { IStoreItem, IStoreItemFolder, IStoreItemPrice, IStoreMediaFile, IStorePriceAddOn, StoreItem, StoreItemItemTypeArray, StoreMediaFile, StorePriceAddOn } from "../../../../model/model";
2
+ import { IStoreItem, IStoreItemFolder, IStoreItemPrice, IStoreItemTax, IStoreMediaFile, StoreItem, StoreItemItemTypeArray, StoreMediaFile } from "../../../../model/model";
3
3
  import Bind from "@web-atoms/core/dist/core/Bind";
4
4
  import XNode from "@web-atoms/core/dist/core/XNode";
5
5
  import Query from "@web-atoms/entity/dist/services/Query";
6
- import Form from "@web-atoms/web-controls/dist/basic/Form";
7
6
  import FormField from "@web-atoms/web-controls/dist/basic/FormField";
8
7
  import Select from "@web-atoms/web-controls/dist/basic/Select";
9
8
  import { Sql } from "../../../Sql";
10
- import { SaveIconTextButton, UploadIconTextButton } from "../../../controls/buttons/IconButton";
9
+ import { UploadIconTextButton } from "../../../controls/buttons/IconButton";
11
10
  import CollectionEditorEx from "../../../controls/collection-editor/CollectionEditorEx";
12
11
  import ReferenceEditor from "../../../controls/reference-editor/ReferenceEditor";
13
12
  import TagChips from "../../../controls/tags/TagChips";
@@ -21,15 +20,11 @@ import UploadEvent from "@web-atoms/web-controls/dist/basic/UploadEvent";
21
20
  import Action from "@web-atoms/core/dist/view-model/Action";
22
21
  import { signedImageUrl } from "../../../fileUrl";
23
22
  import InjectProperty from "@web-atoms/core/dist/core/InjectProperty";
24
- import EntityService from "../../../../services/EntityService";
25
23
  import StoreItemService from "../../../../services/store/StoreItemService";
26
24
  import { InlinePopupButton } from "@web-atoms/web-controls/dist/basic/InlinePopup";
27
25
  import { MenuItem } from "@web-atoms/web-controls/dist/basic/PopupButton";
28
- import MasterDetailPage from "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage";
29
- import ProductHtmlEditor from "./html/ProductHtmlEditorPage";
30
26
  import { Offers } from "./html/Offsers";
31
27
  import { Specifications } from "./html/Specifications";
32
- import { IUploadedFile } from "../../../../services/files/LocalFileService";
33
28
 
34
29
  export default class ProductEditor extends AtomControl {
35
30
 
@@ -149,7 +144,7 @@ export default class ProductEditor extends AtomControl {
149
144
  itemRenderer={(item: IStoreItemPrice) => <div>
150
145
  <div text={item.currency}/>
151
146
  <div text={item.amount }/>
152
- <div text={item.addonsAmount}/>
147
+ <div text={item.taxAmount }/>
153
148
  <div
154
149
  title={DateFormats.withWeekDayAndTime(item.startDate)}
155
150
  text={DateFormats.relative.short(item.startDate)}/>
@@ -159,36 +154,33 @@ export default class ProductEditor extends AtomControl {
159
154
  text={DateFormats.relative.short(item.endDate)}/>
160
155
  : <div/>
161
156
  }
162
- <CollectionEditorEx
163
- label="Add Ons"
157
+ </div>}
158
+ />
159
+ <CollectionEditorEx
160
+ label="Taxes"
161
+ model={this.model}
162
+ field={(x) => x.taxes}
163
+ addItemDefaults={({ taxItem: null, storeItem: null })}
164
+ saveAfterAdd={false}
165
+ inlineAddRenderere={(item: IStoreItemTax) => <div>
166
+ <ReferenceEditor
164
167
  model={item}
165
- field={(x) => x.addons}
166
- itemFactory={() => StorePriceAddOn.create({
167
- price: item,
168
- priceID: item.priceID,
169
- addOnItemID: null,
170
- addOnItem: null,
171
- inclusive: false,
172
- print: true
173
- })}
174
- saveAfterAdd={false}
175
- itemRenderer={(x: IStorePriceAddOn) => <div>
176
- <ReferenceEditor
177
- model={x}
178
- field={(a) => a.addOnItem}
179
- searchQuery={(q: Query<IStoreItem>, search) => (search
180
- ? q.where({ search: search + "%" }, (p) => (i) => Sql.text.iLike(i.name, p.search))
181
- : q)}
182
- suggestionRenderer={(i: IStoreItem) => <div><label text={i.name}/></div>}
183
- itemRenderer={(a: IStoreItem) => <div>
184
- <label text={a.name}/>
185
- </div>}
186
- />
187
- </div>}
168
+ field={(x) => x.taxItem}
169
+ searchQuery={(q: Query<IStoreItem>, search) =>
170
+ (search
171
+ ? q.where({ search: search + "%"}, (p) => (x) => Sql.text.iLike(x.name, p.search))
172
+ : q
173
+ ).where(void 0, (p) => (x) => x.itemType === "tax").include((x) => x.storeItemPrices)
174
+ }
175
+ itemRenderer={(ti) => <div> <label text={ti.name}/> </div>}
176
+ suggestionRenderer={(ti) => <div> <label text={ti.name}/> </div>}
188
177
  />
189
- {/* <Switch
190
- checked={item.active}
191
- /> */}
178
+ </div>}
179
+ itemRenderer={(item: IStoreItemTax) => <div>
180
+ <label text={item.taxItem.name}/>
181
+ <div data-layout="flex-wrap-padding">
182
+ { ... item.taxItem.storeItemPrices.map((t) => <label text={t.amount}/>)}
183
+ </div>
192
184
  </div>}
193
185
  />
194
186
  <details
@@ -962,7 +962,7 @@ export interface IStoreItem extends IClrEntity {
962
962
  active?: boolean;
963
963
  internalNotes?: string | null;
964
964
  description?: string | null;
965
- itemType?: "product" | "service" | "tax" | "fee" | "commission" | "variant" | "size";
965
+ itemType?: "product" | "e-product" | "shipping" | "service" | "tax" | "fee" | "commission" | "variant" | "size";
966
966
  folderID?: number | null;
967
967
  sizeForID?: number | null;
968
968
  variantForID?: number | null;
@@ -981,21 +981,22 @@ export interface IStoreItem extends IClrEntity {
981
981
  variants?: ICollection<IStoreItem>;
982
982
  vendor?: IContact;
983
983
  storeItemPrices?: ICollection<IStoreItemPrice>;
984
- priceAddOns?: ICollection<IStorePriceAddOn>;
985
984
  mediaFiles?: ICollection<IStoreMediaFile>;
986
985
  insights?: ICollection<IStoreInsight>;
987
986
  ledgers?: ICollection<IStoreLedger>;
988
987
  lineItems?: ICollection<IStoreJournalLineItem>;
988
+ taxes?: ICollection<IStoreItemTax>;
989
+ taxItems?: ICollection<IStoreItemTax>;
989
990
  storeItemTags?: ICollection<IStoreItemTag>;
990
991
  }
991
992
 
992
- export const StoreItemItemTypeArray = [{"label":"product","value":"product"},{"label":"service","value":"service"},{"label":"tax","value":"tax"},{"label":"fee","value":"fee"},{"label":"commission","value":"commission"},{"label":"variant","value":"variant"},{"label":"size","value":"size"}];
993
+ export const StoreItemItemTypeArray = [{"label":"product","value":"product"},{"label":"e-product","value":"e-product"},{"label":"shipping","value":"shipping"},{"label":"service","value":"service"},{"label":"tax","value":"tax"},{"label":"fee","value":"fee"},{"label":"commission","value":"commission"},{"label":"variant","value":"variant"},{"label":"size","value":"size"}];
993
994
 
994
995
  export const StoreItem: IModel<IStoreItem> = new Model<IStoreItem>(
995
996
  "StoreItem",
996
997
  ["storeItemID"],
997
998
  { name: "",active: false,itemType: "product",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),price: 0,maxPrice: 0 },
998
- {"name":"store_items","keys":[{"name":"storeItemID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"itemFolderID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"active","type":"boolean","default":["active","false"]},{"name":"internalNotes","type":"string","default":["internalNotes","\"\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"itemType","type":"string","default":["itemType","\"product\""]},{"name":"folderID","type":"number"},{"name":"sizeForID","type":"number"},{"name":"variantForID","type":"number"},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"vendorID","type":"number"},{"name":"price","type":"number","default":["price","0"]},{"name":"maxPrice","type":"number","default":["maxPrice","0"]}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"itemFolder","fkMap":[{"fk":"itemFolderID","relatedKey":"itemFolderID"}],"relatedName":"StoreItemFolder"},{"name":"fileFolder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"sizeFor","fkMap":[{"fk":"sizeForID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"sizes","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"variantFor","fkMap":[{"fk":"variantForID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"variants","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"vendor","fkMap":[{"fk":"vendorID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"storeItemPrices","isCollection":true,"isInverse":true,"relatedName":"StoreItemPrice"},{"name":"priceAddOns","isCollection":true,"isInverse":true,"relatedName":"StorePriceAddOn"},{"name":"mediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"insights","isCollection":true,"isInverse":true,"relatedName":"StoreInsight"},{"name":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"},{"name":"storeItemTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemTag"}]}
999
+ {"name":"store_items","keys":[{"name":"storeItemID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"itemFolderID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"active","type":"boolean","default":["active","false"]},{"name":"internalNotes","type":"string","default":["internalNotes","\"\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"itemType","type":"string","default":["itemType","\"product\""]},{"name":"folderID","type":"number"},{"name":"sizeForID","type":"number"},{"name":"variantForID","type":"number"},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"vendorID","type":"number"},{"name":"price","type":"number","default":["price","0"]},{"name":"maxPrice","type":"number","default":["maxPrice","0"]}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"itemFolder","fkMap":[{"fk":"itemFolderID","relatedKey":"itemFolderID"}],"relatedName":"StoreItemFolder"},{"name":"fileFolder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"sizeFor","fkMap":[{"fk":"sizeForID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"sizes","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"variantFor","fkMap":[{"fk":"variantForID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"variants","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"vendor","fkMap":[{"fk":"vendorID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"storeItemPrices","isCollection":true,"isInverse":true,"relatedName":"StoreItemPrice"},{"name":"mediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"insights","isCollection":true,"isInverse":true,"relatedName":"StoreInsight"},{"name":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"},{"name":"taxes","isCollection":true,"isInverse":true,"relatedName":"StoreItemTax"},{"name":"taxItems","isCollection":true,"isInverse":true,"relatedName":"StoreItemTax"},{"name":"storeItemTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemTag"}]}
999
1000
  );
1000
1001
  modelEntitySchemas["StoreItem"] = StoreItem;
1001
1002
 
@@ -1009,14 +1010,13 @@ export interface IStoreItemFolder extends IClrEntity {
1009
1010
  parent?: IStoreItemFolder;
1010
1011
  children?: ICollection<IStoreItemFolder>;
1011
1012
  items?: ICollection<IStoreItem>;
1012
- taxLineItems?: ICollection<IStoreJournalLineItem>;
1013
1013
  }
1014
1014
 
1015
1015
  export const StoreItemFolder: IModel<IStoreItemFolder> = new Model<IStoreItemFolder>(
1016
1016
  "StoreItemFolder",
1017
1017
  ["itemFolderID"],
1018
1018
  { name: "",path: "" },
1019
- {"name":"store_item_folders","keys":[{"name":"itemFolderID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"path","type":"string","default":["path","\"\""]},{"name":"parentID","type":"number"}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"itemFolderID"}],"relatedName":"StoreItemFolder"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolder"},{"name":"items","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"taxLineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
1019
+ {"name":"store_item_folders","keys":[{"name":"itemFolderID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"path","type":"string","default":["path","\"\""]},{"name":"parentID","type":"number"}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"itemFolderID"}],"relatedName":"StoreItemFolder"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolder"},{"name":"items","isCollection":true,"isInverse":true,"relatedName":"StoreItem"}]}
1020
1020
  );
1021
1021
  modelEntitySchemas["StoreItemFolder"] = StoreItemFolder;
1022
1022
 
@@ -1028,38 +1028,20 @@ export interface IStoreItemPrice extends IClrEntity {
1028
1028
  currency?: string;
1029
1029
  amount?: number;
1030
1030
  maxAmount?: number | null;
1031
+ taxAmount?: number;
1031
1032
  active?: boolean;
1032
- addonsAmount?: number;
1033
1033
  storeItem?: IStoreItem;
1034
- addons?: ICollection<IStorePriceAddOn>;
1035
1034
  lineItems?: ICollection<IStoreJournalLineItem>;
1036
1035
  }
1037
1036
 
1038
1037
  export const StoreItemPrice: IModel<IStoreItemPrice> = new Model<IStoreItemPrice>(
1039
1038
  "StoreItemPrice",
1040
1039
  ["priceID"],
1041
- { startDate: new DefaultFactory(() => new DateTime()),currency: "",amount: 0,active: false,addonsAmount: 0 },
1042
- {"name":"store_item_prices","keys":[{"name":"priceID","type":"number","generated":"identity"}],"properties":[{"name":"storeItemID","type":"number"},{"name":"startDate","type":"DateTime","default":["startDate","new DefaultFactory(() => new DateTime())"]},{"name":"endDate","type":"DateTime","default":["endDate","new DefaultFactory(() => new DateTime())"]},{"name":"currency","type":"string","default":["currency","\"\""]},{"name":"amount","type":"number","default":["amount","0"]},{"name":"maxAmount","type":"number","default":["maxAmount","0"]},{"name":"active","type":"boolean","default":["active","false"]},{"name":"addonsAmount","type":"number","default":["addonsAmount","0"]}],"relations":[{"name":"storeItem","fkMap":[{"fk":"storeItemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"addons","isCollection":true,"isInverse":true,"relatedName":"StorePriceAddOn"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
1040
+ { startDate: new DefaultFactory(() => new DateTime()),currency: "",amount: 0,active: false },
1041
+ {"name":"store_item_prices","keys":[{"name":"priceID","type":"number","generated":"identity"}],"properties":[{"name":"storeItemID","type":"number"},{"name":"startDate","type":"DateTime","default":["startDate","new DefaultFactory(() => new DateTime())"]},{"name":"endDate","type":"DateTime","default":["endDate","new DefaultFactory(() => new DateTime())"]},{"name":"currency","type":"string","default":["currency","\"\""]},{"name":"amount","type":"number","default":["amount","0"]},{"name":"maxAmount","type":"number","default":["maxAmount","0"]},{"name":"active","type":"boolean","default":["active","false"]}],"relations":[{"name":"storeItem","fkMap":[{"fk":"storeItemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
1043
1042
  );
1044
1043
  modelEntitySchemas["StoreItemPrice"] = StoreItemPrice;
1045
1044
 
1046
- export interface IStorePriceAddOn extends IClrEntity {
1047
- priceID?: number;
1048
- addOnItemID?: number;
1049
- inclusive?: boolean;
1050
- print?: boolean;
1051
- price?: IStoreItemPrice;
1052
- addOnItem?: IStoreItem;
1053
- }
1054
-
1055
- export const StorePriceAddOn: IModel<IStorePriceAddOn> = new Model<IStorePriceAddOn>(
1056
- "StorePriceAddOn",
1057
- ["priceID","addOnItemID"],
1058
- { inclusive: false,print: false },
1059
- {"name":"store_price_add_ons","keys":[{"name":"priceID","type":"number"},{"name":"addOnItemID","type":"number"}],"properties":[{"name":"inclusive","type":"boolean","default":["inclusive","false"]},{"name":"print","type":"boolean","default":["print","false"]}],"relations":[{"name":"price","fkMap":[{"fk":"priceID","relatedKey":"priceID"}],"relatedName":"StoreItemPrice"},{"name":"addOnItem","fkMap":[{"fk":"addOnItemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"}]}
1060
- );
1061
- modelEntitySchemas["StorePriceAddOn"] = StorePriceAddOn;
1062
-
1063
1045
  export interface IStoreMediaFile extends IClrEntity {
1064
1046
  storeItemID?: number;
1065
1047
  appFileID?: number;
@@ -1146,6 +1128,9 @@ export interface IStoreJournal extends IClrEntity {
1146
1128
  balance?: number;
1147
1129
  referenceID?: number | null;
1148
1130
  folderID?: number | null;
1131
+ taxExempt?: boolean;
1132
+ taxExemptNotes?: string | null;
1133
+ taxExemptTaxID?: string | null;
1149
1134
  store?: IStore;
1150
1135
  seller?: IContact;
1151
1136
  buyer?: IContact;
@@ -1161,8 +1146,8 @@ export const StoreJournalJournalTypeArray = [{"label":"order","value":"order"},{
1161
1146
  export const StoreJournal: IModel<IStoreJournal> = new Model<IStoreJournal>(
1162
1147
  "StoreJournal",
1163
1148
  ["journalID"],
1164
- { dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),journalType: "order",posted: false,status: "",total: 0,balance: 0 },
1165
- {"name":"store_journals","keys":[{"name":"journalID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"journalType","type":"string","default":["journalType","\"order\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"posted","type":"boolean","default":["posted","false"]},{"name":"status","type":"string","default":["status","\"\""]},{"name":"sellerID","type":"number"},{"name":"buyerID","type":"number"},{"name":"total","type":"number","default":["total","0"]},{"name":"balance","type":"number","default":["balance","0"]},{"name":"referenceID","type":"number"},{"name":"folderID","type":"number"}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"seller","fkMap":[{"fk":"sellerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"buyer","fkMap":[{"fk":"buyerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"reference","fkMap":[{"fk":"referenceID","relatedKey":"journalID"}],"relatedName":"StoreJournal"},{"name":"references","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"folder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
1149
+ { dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),journalType: "order",posted: false,status: "",total: 0,balance: 0,taxExempt: false },
1150
+ {"name":"store_journals","keys":[{"name":"journalID","type":"number","generated":"identity"}],"properties":[{"name":"storeID","type":"number"},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"journalType","type":"string","default":["journalType","\"order\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"posted","type":"boolean","default":["posted","false"]},{"name":"status","type":"string","default":["status","\"\""]},{"name":"sellerID","type":"number"},{"name":"buyerID","type":"number"},{"name":"total","type":"number","default":["total","0"]},{"name":"balance","type":"number","default":["balance","0"]},{"name":"referenceID","type":"number"},{"name":"folderID","type":"number"},{"name":"taxExempt","type":"boolean","default":["taxExempt","false"]},{"name":"taxExemptNotes","type":"string","default":["taxExemptNotes","\"\""]},{"name":"taxExemptTaxID","type":"string","default":["taxExemptTaxID","\"\""]}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"seller","fkMap":[{"fk":"sellerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"buyer","fkMap":[{"fk":"buyerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"reference","fkMap":[{"fk":"referenceID","relatedKey":"journalID"}],"relatedName":"StoreJournal"},{"name":"references","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"folder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
1166
1151
  );
1167
1152
  modelEntitySchemas["StoreJournal"] = StoreJournal;
1168
1153
 
@@ -1197,31 +1182,46 @@ export interface IStoreJournalLineItem extends IClrEntity {
1197
1182
  total?: number;
1198
1183
  quantity?: number;
1199
1184
  inclusive?: boolean;
1200
- itemType?: "commission" | "fee" | "tax" | "variant" | "size" | null;
1185
+ itemType?: "product" | "e-product" | "shipping" | "service" | "tax" | "fee" | "commission" | "variant" | "size" | null;
1201
1186
  hide?: boolean;
1202
1187
  vendorID?: number | null;
1203
1188
  sourceID?: number | null;
1204
- taxFolderID?: number | null;
1205
1189
  journal?: IStoreJournal;
1206
1190
  item?: IStoreItem;
1207
1191
  itemPrice?: IStoreItemPrice;
1208
1192
  vendor?: IContact;
1209
1193
  source?: IStoreJournalLineItem;
1210
1194
  relatedItems?: ICollection<IStoreJournalLineItem>;
1211
- taxFolder?: IStoreItemFolder;
1212
1195
  entries?: ICollection<IStoreJournalEntry>;
1213
1196
  }
1214
1197
 
1215
- export const StoreJournalLineItemItemTypeArray = [{"label":"commission","value":"commission"},{"label":"fee","value":"fee"},{"label":"tax","value":"tax"},{"label":"variant","value":"variant"},{"label":"size","value":"size"}];
1198
+ export const StoreJournalLineItemItemTypeArray = [{"label":"product","value":"product"},{"label":"e-product","value":"e-product"},{"label":"shipping","value":"shipping"},{"label":"service","value":"service"},{"label":"tax","value":"tax"},{"label":"fee","value":"fee"},{"label":"commission","value":"commission"},{"label":"variant","value":"variant"},{"label":"size","value":"size"}];
1216
1199
 
1217
1200
  export const StoreJournalLineItem: IModel<IStoreJournalLineItem> = new Model<IStoreJournalLineItem>(
1218
1201
  "StoreJournalLineItem",
1219
1202
  ["lineItemID"],
1220
1203
  { amount: 0,total: 0,quantity: 0,inclusive: false,hide: false },
1221
- {"name":"store_journal_line_items","keys":[{"name":"lineItemID","type":"number","generated":"identity"}],"properties":[{"name":"journalID","type":"number"},{"name":"itemID","type":"number"},{"name":"itemPriceID","type":"number"},{"name":"amount","type":"number","default":["amount","0"]},{"name":"total","type":"number","default":["total","0"]},{"name":"quantity","type":"number","default":["quantity","0"]},{"name":"inclusive","type":"boolean","default":["inclusive","false"]},{"name":"itemType","type":"string","default":["itemType","\"commission\""]},{"name":"hide","type":"boolean","default":["hide","false"]},{"name":"vendorID","type":"number"},{"name":"sourceID","type":"number"},{"name":"taxFolderID","type":"number"}],"relations":[{"name":"journal","fkMap":[{"fk":"journalID","relatedKey":"journalID"}],"relatedName":"StoreJournal"},{"name":"item","fkMap":[{"fk":"itemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"itemPrice","fkMap":[{"fk":"itemPriceID","relatedKey":"priceID"}],"relatedName":"StoreItemPrice"},{"name":"vendor","fkMap":[{"fk":"vendorID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"source","fkMap":[{"fk":"sourceID","relatedKey":"lineItemID"}],"relatedName":"StoreJournalLineItem"},{"name":"relatedItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"},{"name":"taxFolder","fkMap":[{"fk":"taxFolderID","relatedKey":"itemFolderID"}],"relatedName":"StoreItemFolder"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"}]}
1204
+ {"name":"store_journal_line_items","keys":[{"name":"lineItemID","type":"number","generated":"identity"}],"properties":[{"name":"journalID","type":"number"},{"name":"itemID","type":"number"},{"name":"itemPriceID","type":"number"},{"name":"amount","type":"number","default":["amount","0"]},{"name":"total","type":"number","default":["total","0"]},{"name":"quantity","type":"number","default":["quantity","0"]},{"name":"inclusive","type":"boolean","default":["inclusive","false"]},{"name":"itemType","type":"string","default":["itemType","\"product\""]},{"name":"hide","type":"boolean","default":["hide","false"]},{"name":"vendorID","type":"number"},{"name":"sourceID","type":"number"}],"relations":[{"name":"journal","fkMap":[{"fk":"journalID","relatedKey":"journalID"}],"relatedName":"StoreJournal"},{"name":"item","fkMap":[{"fk":"itemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"itemPrice","fkMap":[{"fk":"itemPriceID","relatedKey":"priceID"}],"relatedName":"StoreItemPrice"},{"name":"vendor","fkMap":[{"fk":"vendorID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"source","fkMap":[{"fk":"sourceID","relatedKey":"lineItemID"}],"relatedName":"StoreJournalLineItem"},{"name":"relatedItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"}]}
1222
1205
  );
1223
1206
  modelEntitySchemas["StoreJournalLineItem"] = StoreJournalLineItem;
1224
1207
 
1208
+ export interface IStoreItemTax extends IClrEntity {
1209
+ storeItemID?: number;
1210
+ taxItemID?: number;
1211
+ inclusive?: boolean;
1212
+ print?: boolean;
1213
+ storeItem?: IStoreItem;
1214
+ taxItem?: IStoreItem;
1215
+ }
1216
+
1217
+ export const StoreItemTax: IModel<IStoreItemTax> = new Model<IStoreItemTax>(
1218
+ "StoreItemTax",
1219
+ ["storeItemID","taxItemID"],
1220
+ { inclusive: false,print: false },
1221
+ {"name":"store_item_taxes","keys":[{"name":"storeItemID","type":"number"},{"name":"taxItemID","type":"number"}],"properties":[{"name":"inclusive","type":"boolean","default":["inclusive","false"]},{"name":"print","type":"boolean","default":["print","false"]}],"relations":[{"name":"storeItem","fkMap":[{"fk":"storeItemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"taxItem","fkMap":[{"fk":"taxItemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"}]}
1222
+ );
1223
+ modelEntitySchemas["StoreItemTax"] = StoreItemTax;
1224
+
1225
1225
  export interface IStoreItemTag extends IClrEntity {
1226
1226
  storeItemID?: number;
1227
1227
  tagID?: number;
@@ -1525,105 +1525,6 @@ export const Tag: IModel<ITag> = new Model<ITag>(
1525
1525
  );
1526
1526
  modelEntitySchemas["Tag"] = Tag;
1527
1527
 
1528
- export interface IVirtualServer extends IClrEntity {
1529
- readonly serverID?: number;
1530
- serverName?: string;
1531
- ownerEmailAddress?: string | null;
1532
- ownerPhoneNumber?: string | null;
1533
- active?: boolean;
1534
- bucketName?: string | null;
1535
- database?: string | null;
1536
- host?: string;
1537
- forwardHost?: string | null;
1538
- forwardPublicKey?: string | null;
1539
- environmentVariables?: string | null;
1540
- maxStorageGB?: number;
1541
- dnsZones?: ICollection<IDnsZone>;
1542
- }
1543
-
1544
- export const VirtualServer: IModel<IVirtualServer> = new Model<IVirtualServer>(
1545
- "VirtualServer",
1546
- ["serverID"],
1547
- { serverName: "",active: false,host: "",maxStorageGB: 0 },
1548
- {"name":"virtual_servers","keys":[{"name":"serverID","type":"number","generated":"identity"}],"properties":[{"name":"serverName","type":"string","default":["serverName","\"\""]},{"name":"ownerEmailAddress","type":"string","default":["ownerEmailAddress","\"\""]},{"name":"ownerPhoneNumber","type":"string","default":["ownerPhoneNumber","\"\""]},{"name":"active","type":"boolean","default":["active","false"]},{"name":"bucketName","type":"string","default":["bucketName","\"\""]},{"name":"database","type":"string","default":["database","\"\""]},{"name":"host","type":"string","default":["host","\"\""]},{"name":"forwardHost","type":"string","default":["forwardHost","\"\""]},{"name":"forwardPrivateKey","type":"string","default":["forwardPrivateKey","\"\""]},{"name":"forwardPublicKey","type":"string","default":["forwardPublicKey","\"\""]},{"name":"environmentVariables","type":"string","default":["environmentVariables","\"\""]},{"name":"maxStorageGB","type":"number","default":["maxStorageGB","0"]}],"relations":[{"name":"dnsZones","isCollection":true,"isInverse":true,"relatedName":"DnsZone"}]}
1549
- );
1550
- modelEntitySchemas["VirtualServer"] = VirtualServer;
1551
-
1552
- export interface IDnsZone extends IClrEntity {
1553
- readonly zoneID?: number;
1554
- serverID?: number;
1555
- zone?: string;
1556
- keySigningKeyID?: number;
1557
- zoneSigningKeyID?: number;
1558
- dateCreated?: DateTime;
1559
- dateUpdated?: DateTime;
1560
- signed?: string | null;
1561
- unsigned?: string | null;
1562
- virtualServer?: IVirtualServer;
1563
- ksk?: IDnsSigningKey;
1564
- zsk?: IDnsSigningKey;
1565
- records?: ICollection<IDnsZoneRecord>;
1566
- }
1567
-
1568
- export const DnsZone: IModel<IDnsZone> = new Model<IDnsZone>(
1569
- "DnsZone",
1570
- ["zoneID"],
1571
- { zone: "",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()) },
1572
- {"name":"dns_zones","keys":[{"name":"zoneID","type":"number","generated":"identity"}],"properties":[{"name":"serverID","type":"number"},{"name":"zone","type":"string","default":["zone","\"\""]},{"name":"zoneLowerCase","type":"string","generated":"computed"},{"name":"keySigningKeyID","type":"number"},{"name":"zoneSigningKeyID","type":"number"},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"signed","type":"string","default":["signed","\"\""]},{"name":"unsigned","type":"string","default":["unsigned","\"\""]}],"relations":[{"name":"virtualServer","fkMap":[{"fk":"serverID","relatedKey":"serverID"}],"relatedName":"VirtualServer"},{"name":"ksk","fkMap":[{"fk":"keySigningKeyID","relatedKey":"keyID"}],"relatedName":"DnsSigningKey"},{"name":"zsk","fkMap":[{"fk":"zoneSigningKeyID","relatedKey":"keyID"}],"relatedName":"DnsSigningKey"},{"name":"records","isCollection":true,"isInverse":true,"relatedName":"DnsZoneRecord"}]}
1573
- );
1574
- modelEntitySchemas["DnsZone"] = DnsZone;
1575
-
1576
- export interface IDnsZoneRecord extends IClrEntity {
1577
- readonly recordID?: number;
1578
- zoneID?: number;
1579
- disabled?: boolean;
1580
- name?: string;
1581
- type?: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "PTR" | "SRV" | "CAA" | "NS" | "SOA";
1582
- isAlias?: boolean;
1583
- value?: string;
1584
- ttl?: number;
1585
- dateCreated?: DateTime;
1586
- dateUpdated?: DateTime;
1587
- notes?: string | null;
1588
- signature?: string | null;
1589
- expiryDate?: DateTime | null;
1590
- readonly fqdn?: string | null;
1591
- hosted?: boolean;
1592
- zone?: IDnsZone;
1593
- }
1594
-
1595
- export const DnsZoneRecordTypeArray = [{"label":"A","value":"A"},{"label":"AAAA","value":"AAAA"},{"label":"CNAME","value":"CNAME"},{"label":"MX","value":"MX"},{"label":"TXT","value":"TXT"},{"label":"PTR","value":"PTR"},{"label":"SRV","value":"SRV"},{"label":"CAA","value":"CAA"},{"label":"NS","value":"NS"},{"label":"SOA","value":"SOA"}];
1596
-
1597
- export const DnsZoneRecord: IModel<IDnsZoneRecord> = new Model<IDnsZoneRecord>(
1598
- "DnsZoneRecord",
1599
- ["recordID"],
1600
- { disabled: false,name: "",type: "A",isAlias: false,value: "",ttl: 0,dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),hosted: false },
1601
- {"name":"dns_zone_records","keys":[{"name":"recordID","type":"number","generated":"identity"}],"properties":[{"name":"zoneID","type":"number"},{"name":"disabled","type":"boolean","default":["disabled","false"]},{"name":"name","type":"string","default":["name","\"\""]},{"name":"type","type":"Object","default":["type","\"A\""]},{"name":"isAlias","type":"boolean","default":["isAlias","false"]},{"name":"value","type":"string","default":["value","\"\""]},{"name":"ttl","type":"number","default":["ttl","0"]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"notes","type":"string","default":["notes","\"\""]},{"name":"signature","type":"string","default":["signature","\"\""]},{"name":"expiryDate","type":"DateTime","default":["expiryDate","new DefaultFactory(() => new DateTime())"]},{"name":"fqdn","type":"string","default":["fqdn","\"\""]},{"name":"hosted","type":"boolean","default":["hosted","false"]}],"relations":[{"name":"zone","fkMap":[{"fk":"zoneID","relatedKey":"zoneID"}],"relatedName":"DnsZone"}]}
1602
- );
1603
- modelEntitySchemas["DnsZoneRecord"] = DnsZoneRecord;
1604
-
1605
- export interface IDnsSigningKey extends IClrEntity {
1606
- readonly keyID?: number;
1607
- publicKey?: string;
1608
- digestAlgorithm?: number;
1609
- signingAlgorithm?: number;
1610
- digest?: string;
1611
- flags?: number;
1612
- dateCreated?: DateTime;
1613
- expiryDate?: DateTime;
1614
- fileName?: string;
1615
- kskZones?: ICollection<IDnsZone>;
1616
- zskZones?: ICollection<IDnsZone>;
1617
- }
1618
-
1619
- export const DnsSigningKey: IModel<IDnsSigningKey> = new Model<IDnsSigningKey>(
1620
- "DnsSigningKey",
1621
- ["keyID"],
1622
- { publicKey: "",digestAlgorithm: 0,signingAlgorithm: 0,digest: "",flags: 0,dateCreated: new DefaultFactory(() => new DateTime()),expiryDate: new DefaultFactory(() => new DateTime()),fileName: "" },
1623
- {"name":"dns_signing_keys","keys":[{"name":"keyID","type":"number","generated":"identity"}],"properties":[{"name":"publicKey","type":"string","default":["publicKey","\"\""]},{"name":"privateKey","type":"string","default":["privateKey","\"\""]},{"name":"digestAlgorithm","type":"number","default":["digestAlgorithm","0"]},{"name":"signingAlgorithm","type":"number","default":["signingAlgorithm","0"]},{"name":"digest","type":"string","default":["digest","\"\""]},{"name":"flags","type":"number","default":["flags","0"]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"expiryDate","type":"DateTime","default":["expiryDate","new DefaultFactory(() => new DateTime())"]},{"name":"fileName","type":"string","default":["fileName","\"\""]}],"relations":[{"name":"kskZones","isCollection":true,"isInverse":true,"relatedName":"DnsZone"},{"name":"zskZones","isCollection":true,"isInverse":true,"relatedName":"DnsZone"}]}
1624
- );
1625
- modelEntitySchemas["DnsSigningKey"] = DnsSigningKey;
1626
-
1627
1528
  const fixRelatedSchemas = (schema) => {
1628
1529
  for (const key in schema) {
1629
1530
  if (Object.prototype.hasOwnProperty.call(schema, key)) {
@@ -26,7 +26,8 @@ export default class StoreItemService {
26
26
  x.store.folder,
27
27
  x.itemFolder,
28
28
  x.fileFolder,
29
- x.storeItemPrices.forEach((i) => i.addons.forEach((a) => a.addOnItem.storeItemPrices)),
29
+ x.storeItemPrices,
30
+ x.taxes.forEach((t) => t.taxItem.storeItemPrices),
30
31
  x.mediaFiles.forEach((m) => m.appFile),
31
32
  x.storeItemTags.forEach((t) => t.tag)
32
33
  ])
@@ -84,11 +85,11 @@ export default class StoreItemService {
84
85
  async save(storeItem: IStoreItem) {
85
86
  await this.entityService.save(storeItem, (c) =>
86
87
  c.include((x) => x.storeItemPrices)
87
- .thenInclude((x) => x.addons)
88
+ .include((x) => x.taxes)
88
89
  .include((x) => x.storeItemTags)
89
90
  .thenInclude((x) => x.tag)
90
91
  .include((x) => x.mediaFiles)
91
- );
92
+ , true);
92
93
  return storeItem;
93
94
  }
94
95