@social-mail/social-mail-client 1.2.641 → 1.2.642
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/admin/AdminAppIndex.pack.js +481 -78
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +6 -6
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/commands/CommonCommands.d.ts +3 -0
- package/dist/common/commands/CommonCommands.d.ts.map +1 -1
- package/dist/common/commands/CommonCommands.js +4 -0
- package/dist/common/commands/CommonCommands.js.map +1 -1
- package/dist/common/controls/phone-editor/PhoneEditor.d.ts +3 -0
- package/dist/common/controls/phone-editor/PhoneEditor.d.ts.map +1 -1
- package/dist/common/controls/phone-editor/PhoneEditor.js +25 -4
- package/dist/common/controls/phone-editor/PhoneEditor.js.map +1 -1
- package/dist/common/pages/stores/StoreDetailPage.js +1 -1
- package/dist/common/pages/stores/StoreDetailPage.js.map +1 -1
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayEditorPage.d.ts +10 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayEditorPage.d.ts.map +1 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayEditorPage.js +87 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayEditorPage.js.map +1 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayListPage.d.ts +23 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayListPage.d.ts.map +1 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayListPage.js +129 -0
- package/dist/common/pages/stores/payment-gateway/PaymentGatewayListPage.js.map +1 -0
- package/dist/model/model.d.ts +36 -7
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +145 -20
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +253 -76
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +2 -2
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.js +253 -76
- package/dist/public/preview/zip/DownloadZip.pack.js.map +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.min.js +1 -1
- package/dist/public/preview/zip/DownloadZip.pack.min.js.map +1 -1
- package/dist/public/store/Store.d.ts +2 -2
- package/dist/public/store/Store.d.ts.map +1 -1
- package/dist/public/store/Store.js +29 -7
- package/dist/public/store/Store.js.map +1 -1
- package/dist/public/store/Store.pack.js +19797 -18064
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js +370 -161
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/public/store/StoreItemDetailView.d.ts +1 -0
- package/dist/public/store/StoreItemDetailView.d.ts.map +1 -1
- package/dist/public/store/StoreItemDetailView.js +24 -8
- package/dist/public/store/StoreItemDetailView.js.map +1 -1
- package/dist/public/store/StoreItemListView.d.ts.map +1 -1
- package/dist/public/store/StoreItemListView.js +7 -4
- package/dist/public/store/StoreItemListView.js.map +1 -1
- package/dist/public/store/StoreUrlService.d.ts +22 -15
- package/dist/public/store/StoreUrlService.d.ts.map +1 -1
- package/dist/public/store/StoreUrlService.js +39 -12
- package/dist/public/store/StoreUrlService.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.js +253 -76
- package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js +2 -2
- package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
- package/dist/public/user/SiteLogin.d.ts +28 -0
- package/dist/public/user/SiteLogin.d.ts.map +1 -0
- package/dist/public/user/SiteLogin.js +231 -0
- package/dist/public/user/SiteLogin.js.map +1 -0
- package/dist/public/user/WebSiteUserService.d.ts +10 -0
- package/dist/public/user/WebSiteUserService.d.ts.map +1 -0
- package/dist/public/user/WebSiteUserService.js +52 -0
- package/dist/public/user/WebSiteUserService.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +481 -78
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +6 -6
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts +1 -1
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts.map +1 -1
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js +108 -56
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js.map +1 -1
- package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/entity/package.json +1 -1
- package/node_modules/@web-atoms/entity/src/services/BaseEntityService.ts +109 -54
- package/package.json +2 -2
- package/src/common/commands/CommonCommands.ts +5 -0
- package/src/common/controls/phone-editor/PhoneEditor.tsx +24 -1
- package/src/common/pages/stores/StoreDetailPage.tsx +1 -1
- package/src/common/pages/stores/payment-gateway/PaymentGatewayEditorPage.tsx +62 -0
- package/src/common/pages/stores/payment-gateway/PaymentGatewayListPage.tsx +94 -0
- package/src/model/model.ts +49 -14
- package/src/public/store/Store.tsx +18 -4
- package/src/public/store/StoreItemDetailView.tsx +17 -4
- package/src/public/store/StoreItemListView.tsx +4 -2
- package/src/public/store/StoreUrlService.ts +62 -27
- package/src/public/user/SiteLogin.tsx +251 -0
- package/src/public/user/WebSiteUserService.ts +39 -0
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
import XNode from "@web-atoms/core/dist/core/XNode";
|
|
2
2
|
import { AtomControl } from "@web-atoms/core/dist/web/controls/AtomControl";
|
|
3
|
-
import { CountrySelect } from "../countries/CountrySelect";
|
|
3
|
+
import { CountrySelect, formatForCountry, isdForCountry } from "../countries/CountrySelect";
|
|
4
|
+
import Bind from "@web-atoms/core/dist/core/Bind";
|
|
5
|
+
import MaskedInput from "@web-atoms/web-controls/dist/basic/MaskedInput";
|
|
4
6
|
|
|
5
7
|
export default class PhoneEditor extends AtomControl {
|
|
8
|
+
|
|
9
|
+
country: any;
|
|
10
|
+
|
|
11
|
+
phoneNumberText: any;
|
|
12
|
+
|
|
13
|
+
value: any;
|
|
14
|
+
|
|
6
15
|
protected preCreate(): void {
|
|
16
|
+
this.country = "IN";
|
|
17
|
+
this.phoneNumberText = "";
|
|
18
|
+
this.value = null;
|
|
7
19
|
this.render(<div data-layout="row">
|
|
8
20
|
<CountrySelect
|
|
21
|
+
value={Bind.twoWaysImmediate(() => this.country)}
|
|
22
|
+
/>
|
|
23
|
+
<MaskedInput
|
|
24
|
+
data-mask={Bind.oneWayAsync(() => formatForCountry(this.country))}
|
|
25
|
+
value={Bind.twoWaysImmediate(() => this.phoneNumberText)}
|
|
9
26
|
/>
|
|
10
27
|
</div>);
|
|
28
|
+
|
|
29
|
+
this.bindEvent(this.element, "input", async () => {
|
|
30
|
+
const isdCode = await isdForCountry(this.country);
|
|
31
|
+
const phoneNumber = this.phoneNumberText.replace(/[^0-9]/g,"");
|
|
32
|
+
this.value = isdCode.startsWith("+") ? isdCode + phoneNumber: `+${isdCode}${phoneNumber}`;
|
|
33
|
+
});
|
|
11
34
|
}
|
|
12
35
|
}
|
|
@@ -44,7 +44,7 @@ export default class StoreDetailPage extends ContentPage<{ id: any }> {
|
|
|
44
44
|
text="Products"
|
|
45
45
|
/>
|
|
46
46
|
<a data-click-event="route"
|
|
47
|
-
href={CommonCommands.
|
|
47
|
+
href={CommonCommands.paymentConfig.displayRoute({ storeID: this.parameters.id})}
|
|
48
48
|
text="Settings"
|
|
49
49
|
></a>
|
|
50
50
|
<a data-click-event="route"
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ContentPage } from "@web-atoms/web-controls/dist/mobile-app/MobileApp";
|
|
2
|
+
import { IStoreLedger, StoreLedgerPaymentGatewayArray } from "../../../../model/model";
|
|
3
|
+
import XNode from "@web-atoms/core/dist/core/XNode";
|
|
4
|
+
import Form from "@web-atoms/web-controls/dist/basic/Form";
|
|
5
|
+
import FormField from "@web-atoms/web-controls/dist/basic/FormField";
|
|
6
|
+
import Bind from "@web-atoms/core/dist/core/Bind";
|
|
7
|
+
import Select from "@web-atoms/web-controls/dist/basic/Select";
|
|
8
|
+
import { SaveIconTextButton } from "../../../controls/buttons/IconButton";
|
|
9
|
+
import Action from "@web-atoms/core/dist/view-model/Action";
|
|
10
|
+
import InjectProperty from "@web-atoms/core/dist/core/InjectProperty";
|
|
11
|
+
import EntityService from "../../../../services/EntityService";
|
|
12
|
+
|
|
13
|
+
export default class PaymentGatewayEditorPage extends ContentPage<IStoreLedger> {
|
|
14
|
+
|
|
15
|
+
model: IStoreLedger;
|
|
16
|
+
|
|
17
|
+
@InjectProperty
|
|
18
|
+
entityService: EntityService;
|
|
19
|
+
|
|
20
|
+
async init() {
|
|
21
|
+
|
|
22
|
+
this.title = "Payment Gateway";
|
|
23
|
+
|
|
24
|
+
this.model = this.parameters;
|
|
25
|
+
|
|
26
|
+
this.renderer = <div>
|
|
27
|
+
<Form>
|
|
28
|
+
<FormField label="Type">
|
|
29
|
+
<Select
|
|
30
|
+
items={StoreLedgerPaymentGatewayArray}
|
|
31
|
+
value={Bind.twoWaysImmediate(() => this.model.paymentGateway)}
|
|
32
|
+
/>
|
|
33
|
+
</FormField>
|
|
34
|
+
<FormField label="Name">
|
|
35
|
+
<input value={Bind.twoWaysImmediate(() => this.model.name)}/>
|
|
36
|
+
</FormField>
|
|
37
|
+
<FormField label="Description">
|
|
38
|
+
<input value={Bind.twoWaysImmediate(() => this.model.description)}/>
|
|
39
|
+
</FormField>
|
|
40
|
+
<FormField label="MerchantID">
|
|
41
|
+
<input value={Bind.twoWaysImmediate(() => this.model.merchantID)}/>
|
|
42
|
+
</FormField>
|
|
43
|
+
<FormField label="Username/Access ID/Key Index">
|
|
44
|
+
<input value={Bind.twoWaysImmediate(() => this.model.username)}/>
|
|
45
|
+
</FormField>
|
|
46
|
+
<FormField label="Password/Secret/Key">
|
|
47
|
+
<input value={Bind.twoWaysImmediate(() => this.model.password)}/>
|
|
48
|
+
</FormField>
|
|
49
|
+
<div data-layout="sticky-command-row">
|
|
50
|
+
<SaveIconTextButton data-submit-event="submitForm" />
|
|
51
|
+
</div>
|
|
52
|
+
</Form>
|
|
53
|
+
</div>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@Action({ onEvent: "submitForm", close: true })
|
|
57
|
+
async submitForm() {
|
|
58
|
+
await this.entityService.save(this.model, (c) => c);
|
|
59
|
+
return this.model;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import InjectProperty from "@web-atoms/core/dist/core/InjectProperty";
|
|
2
|
+
import XNode from "@web-atoms/core/dist/core/XNode";
|
|
3
|
+
import { Inject } from "@web-atoms/core/dist/di/Inject";
|
|
4
|
+
import AtomRepeater from "@web-atoms/web-controls/dist/basic/AtomRepeater";
|
|
5
|
+
import MasterDetailPage from "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage";
|
|
6
|
+
import EntityService from "../../../../services/EntityService";
|
|
7
|
+
import InfiniteRepeater from "../../../controls/repeater/InfiniteRepeater";
|
|
8
|
+
import { IStoreLedger, StoreLedger } from "../../../../model/model";
|
|
9
|
+
import Bind from "@web-atoms/core/dist/core/Bind";
|
|
10
|
+
import { Sql } from "../../../Sql";
|
|
11
|
+
import Action from "@web-atoms/core/dist/view-model/Action";
|
|
12
|
+
import PageNavigator from "@web-atoms/web-controls/dist/PageNavigator";
|
|
13
|
+
import PaymentGatewayEditorPage from "./PaymentGatewayEditorPage";
|
|
14
|
+
import { AddIconButton, AddIconTextButton } from "../../../controls/buttons/IconButton";
|
|
15
|
+
|
|
16
|
+
export default class PaymentGatewayListPage extends MasterDetailPage {
|
|
17
|
+
|
|
18
|
+
parameters: { storeID };
|
|
19
|
+
|
|
20
|
+
@InjectProperty
|
|
21
|
+
entityService: EntityService;
|
|
22
|
+
|
|
23
|
+
search: string = "";
|
|
24
|
+
|
|
25
|
+
items: IStoreLedger[] = [];
|
|
26
|
+
|
|
27
|
+
repeater: AtomRepeater;
|
|
28
|
+
|
|
29
|
+
async init() {
|
|
30
|
+
|
|
31
|
+
this.headerRenderer = () => <div>
|
|
32
|
+
<input type="search" value={Bind.twoWaysImmediate(() => this.search)}/>
|
|
33
|
+
</div>;
|
|
34
|
+
|
|
35
|
+
this.renderer = <div>
|
|
36
|
+
<AtomRepeater
|
|
37
|
+
data-layout="data-grid"
|
|
38
|
+
data-selection-updated-event="itemSelected"
|
|
39
|
+
data-items-updated-event="itemsLoaded"
|
|
40
|
+
presenter={Bind.presenter((c) => this.repeater = c)}
|
|
41
|
+
items={this.items}
|
|
42
|
+
{ ... InfiniteRepeater.pagedItems((start) => (c, e, cancelToken) => this.load({ start, search: this.search, cancelToken }))}
|
|
43
|
+
itemRenderer={(x: IStoreLedger) => <div>
|
|
44
|
+
<label text={x.ledgerID}/>
|
|
45
|
+
<label text={x.paymentGateway}/>
|
|
46
|
+
<label text={x.name}/>
|
|
47
|
+
</div>}
|
|
48
|
+
/>
|
|
49
|
+
</div>;
|
|
50
|
+
|
|
51
|
+
this.footerRenderer = () => <div>
|
|
52
|
+
<AddIconTextButton data-click-event="addItem" />
|
|
53
|
+
</div>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
load( { start, cancelToken, search } ) {
|
|
57
|
+
const { storeID } = this.parameters;
|
|
58
|
+
let q = this.entityService.query(StoreLedger)
|
|
59
|
+
.where({ storeID }, (p) => (x) => x.storeID === p.storeID && x.paymentGateway !== null);
|
|
60
|
+
if (search) {
|
|
61
|
+
q = q.where({ search }, (p) => (x) => Sql.text.iLike(x.description, p.search));
|
|
62
|
+
}
|
|
63
|
+
return q.toPagedList({
|
|
64
|
+
start,
|
|
65
|
+
cancelToken
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@Action({ onEvent: "itemSelected"})
|
|
70
|
+
itemSelected() {
|
|
71
|
+
const data = this.repeater.selectedItem;
|
|
72
|
+
if (!data) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this.openDetail(PaymentGatewayEditorPage, data);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@Action({ onEvent: "itemsLoaded"})
|
|
79
|
+
itemsLoaded() {
|
|
80
|
+
this.repeater.selectedItem = this.items[0];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@Action({ onEvent: "addItem"})
|
|
84
|
+
addItem() {
|
|
85
|
+
const { storeID } = this.parameters;
|
|
86
|
+
const item = StoreLedger.create({
|
|
87
|
+
storeID,
|
|
88
|
+
head: "Income"
|
|
89
|
+
});
|
|
90
|
+
this.items.add(item);
|
|
91
|
+
this.repeater.selectedItem = item;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
}
|
package/src/model/model.ts
CHANGED
|
@@ -57,8 +57,8 @@ export interface IAppFile extends IClrEntity {
|
|
|
57
57
|
currentVersionWebSites?: ICollection<IWebSiteFolder>;
|
|
58
58
|
stores?: ICollection<IStore>;
|
|
59
59
|
storeItems?: ICollection<IStoreItem>;
|
|
60
|
-
storeMediaFiles?: ICollection<IStoreMediaFile>;
|
|
61
60
|
storeJournals?: ICollection<IStoreJournal>;
|
|
61
|
+
storeMediaFiles?: ICollection<IStoreMediaFile>;
|
|
62
62
|
userPins?: ICollection<IUserPin>;
|
|
63
63
|
websiteVersions?: ICollection<IWebSiteFolderVersion>;
|
|
64
64
|
}
|
|
@@ -69,7 +69,7 @@ export const AppFile: IModel<IAppFile,{"storeItemFiles":"external","channelEmail
|
|
|
69
69
|
"AppFile",
|
|
70
70
|
["appFileID"],
|
|
71
71
|
{ isFolder: false,name: "",fileSize: 0,contentType: "",isDeleted: false,isShared: false,dateCreated: new DefaultFactory(() => new DateTime()) },
|
|
72
|
-
{"name":"app_files","keys":[{"name":"appFileID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"AsciiChar","length":400,"default":["path","\"\""]},{"name":"isFolder","type":"boolean","dataType":"Boolean","default":["isFolder","false"]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"fileSize","type":"number","dataType":"BigInt","default":["fileSize","0"]},{"name":"contentType","type":"string","dataType":"Char","length":200,"default":["contentType","\"\""]},{"name":"contentDisposition","type":"string","dataType":"AsciiChar","length":10,"default":["contentDisposition","\"attachment\""]},{"name":"contentID","type":"string","dataType":"Char","default":["contentID","\"\""]},{"name":"fileContentID","type":"number","dataType":"BigInt"},{"name":"creatorID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"emailID","type":"number","dataType":"BigInt"},{"name":"isDeleted","type":"boolean","dataType":"Boolean","default":["isDeleted","false"]},{"name":"isShared","type":"boolean","dataType":"Boolean","default":["isShared","false"]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"versions","type":"number","dataType":"Int","default":["versions","0"]}],"relations":[{"name":"fileContent","fkMap":[{"fk":"fileContentID","relatedKey":"fileContentID"}],"relatedName":"FileContent"},{"name":"creator","fkMap":[{"fk":"creatorID","relatedKey":"userID"}],"relatedName":"User"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"AppFile"},{"name":"email","fkMap":[{"fk":"emailID","relatedKey":"emailID"}],"relatedName":"Email"},{"name":"fileVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"folderVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"accessList","isCollection":true,"isInverse":true,"relatedName":"AppFileAccess"},{"name":"tags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"mailboxLogos","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"name":"previewContacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"},{"name":"websiteFolder","isCollection":false,"isInverse":true,"relatedName":"WebSiteFolder"},{"name":"currentVersionWebSites","isCollection":true,"isInverse":true,"relatedName":"WebSiteFolder"},{"name":"stores","isCollection":true,"isInverse":true,"relatedName":"Store"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"
|
|
72
|
+
{"name":"app_files","keys":[{"name":"appFileID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"AsciiChar","length":400,"default":["path","\"\""]},{"name":"isFolder","type":"boolean","dataType":"Boolean","default":["isFolder","false"]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"fileSize","type":"number","dataType":"BigInt","default":["fileSize","0"]},{"name":"contentType","type":"string","dataType":"Char","length":200,"default":["contentType","\"\""]},{"name":"contentDisposition","type":"string","dataType":"AsciiChar","length":10,"default":["contentDisposition","\"attachment\""]},{"name":"contentID","type":"string","dataType":"Char","default":["contentID","\"\""]},{"name":"fileContentID","type":"number","dataType":"BigInt"},{"name":"creatorID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"emailID","type":"number","dataType":"BigInt"},{"name":"isDeleted","type":"boolean","dataType":"Boolean","default":["isDeleted","false"]},{"name":"isShared","type":"boolean","dataType":"Boolean","default":["isShared","false"]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"versions","type":"number","dataType":"Int","default":["versions","0"]}],"relations":[{"name":"fileContent","fkMap":[{"fk":"fileContentID","relatedKey":"fileContentID"}],"relatedName":"FileContent"},{"name":"creator","fkMap":[{"fk":"creatorID","relatedKey":"userID"}],"relatedName":"User"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"AppFile"},{"name":"email","fkMap":[{"fk":"emailID","relatedKey":"emailID"}],"relatedName":"Email"},{"name":"fileVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"folderVersions","isCollection":true,"isInverse":true,"relatedName":"AppFileVersion"},{"name":"accessList","isCollection":true,"isInverse":true,"relatedName":"AppFileAccess"},{"name":"tags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"mailboxLogos","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"name":"previewContacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"},{"name":"websiteFolder","isCollection":false,"isInverse":true,"relatedName":"WebSiteFolder"},{"name":"currentVersionWebSites","isCollection":true,"isInverse":true,"relatedName":"WebSiteFolder"},{"name":"stores","isCollection":true,"isInverse":true,"relatedName":"Store"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"storeJournals","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"storeMediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"userPins","isCollection":true,"isInverse":true,"relatedName":"UserPin"},{"name":"websiteVersions","isCollection":true,"isInverse":true,"relatedName":"WebSiteFolderVersion"}],"queries":{"storeItemFiles":"external","channelEmailFiles":"external","children":"external","templateSnapshot":"external"}}
|
|
73
73
|
);
|
|
74
74
|
modelEntitySchemas["AppFile"] = AppFile;
|
|
75
75
|
|
|
@@ -223,9 +223,9 @@ export interface IContact extends IClrEntity {
|
|
|
223
223
|
domains?: ICollection<IContactDomain>;
|
|
224
224
|
sellerStores?: ICollection<IStore>;
|
|
225
225
|
vendorItems?: ICollection<IStoreItem>;
|
|
226
|
-
ledgers?: ICollection<IStoreLedger>;
|
|
227
226
|
soldInvoices?: ICollection<IStoreJournal>;
|
|
228
227
|
boughtInvoices?: ICollection<IStoreJournal>;
|
|
228
|
+
ledgers?: ICollection<IStoreLedger>;
|
|
229
229
|
soldItems?: ICollection<IStoreJournalLineItem>;
|
|
230
230
|
}
|
|
231
231
|
|
|
@@ -233,7 +233,7 @@ export const Contact: IModel<IContact,any,any> = new Model<IContact>(
|
|
|
233
233
|
"Contact",
|
|
234
234
|
["contactID"],
|
|
235
235
|
{ name: "",type: "",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()) },
|
|
236
|
-
{"name":"contacts","keys":[{"name":"contactID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"externalID","type":"string","dataType":"Char","length":400,"default":["externalID","\"\""]},{"name":"userID","type":"number","dataType":"BigInt"},{"name":"mailboxID","type":"number","dataType":"BigInt"},{"name":"domainID","type":"number","dataType":"BigInt"},{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"description","type":"string","dataType":"Char","length":200,"default":["description","\"\""]},{"name":"companyID","type":"string","dataType":"Char","length":200,"default":["companyID","\"\""]},{"name":"salesTaxID","type":"string","dataType":"Char","length":200,"default":["salesTaxID","\"\""]},{"name":"gstTaxID","type":"string","dataType":"Char","length":200,"default":["gstTaxID","\"\""]},{"name":"vatTaxID","type":"string","dataType":"Char","length":200,"default":["vatTaxID","\"\""]},{"name":"incomeTaxID","type":"string","dataType":"Char","length":200,"default":["incomeTaxID","\"\""]},{"name":"type","type":"string","dataType":"Char","length":50,"default":["type","\"\""]},{"name":"synchronization","type":"string","dataType":"Char","default":["synchronization","\"\""]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"previewID","type":"number","dataType":"BigInt"},{"name":"billingAddressID","type":"number","dataType":"BigInt"},{"name":"shippingAddressID","type":"number","dataType":"BigInt"}],"relations":[{"name":"user","fkMap":[{"fk":"userID","relatedKey":"userID"}],"relatedName":"User"},{"name":"mailbox","fkMap":[{"fk":"mailboxID","relatedKey":"mailboxID"}],"relatedName":"Mailbox"},{"name":"hostedDomain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"HostedDomain"},{"name":"preview","fkMap":[{"fk":"previewID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"billingAddress","fkMap":[{"fk":"billingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"addresses","isCollection":true,"isInverse":true,"relatedName":"ContactAddress"},{"name":"shippingAddress","fkMap":[{"fk":"shippingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"emails","isCollection":true,"isInverse":true,"relatedName":"ContactEmail"},{"name":"phones","isCollection":true,"isInverse":true,"relatedName":"ContactPhone"},{"name":"items","isCollection":true,"isInverse":true,"relatedName":"ContactItem"},{"name":"domains","isCollection":true,"isInverse":true,"relatedName":"ContactDomain"},{"name":"sellerStores","isCollection":true,"isInverse":true,"relatedName":"Store"},{"name":"vendorItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"
|
|
236
|
+
{"name":"contacts","keys":[{"name":"contactID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"externalID","type":"string","dataType":"Char","length":400,"default":["externalID","\"\""]},{"name":"userID","type":"number","dataType":"BigInt"},{"name":"mailboxID","type":"number","dataType":"BigInt"},{"name":"domainID","type":"number","dataType":"BigInt"},{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"description","type":"string","dataType":"Char","length":200,"default":["description","\"\""]},{"name":"companyID","type":"string","dataType":"Char","length":200,"default":["companyID","\"\""]},{"name":"salesTaxID","type":"string","dataType":"Char","length":200,"default":["salesTaxID","\"\""]},{"name":"gstTaxID","type":"string","dataType":"Char","length":200,"default":["gstTaxID","\"\""]},{"name":"vatTaxID","type":"string","dataType":"Char","length":200,"default":["vatTaxID","\"\""]},{"name":"incomeTaxID","type":"string","dataType":"Char","length":200,"default":["incomeTaxID","\"\""]},{"name":"type","type":"string","dataType":"Char","length":50,"default":["type","\"\""]},{"name":"synchronization","type":"string","dataType":"Char","default":["synchronization","\"\""]},{"name":"dateCreated","type":"DateTime","dataType":"DateTimeOffset","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTimeOffset","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"previewID","type":"number","dataType":"BigInt"},{"name":"billingAddressID","type":"number","dataType":"BigInt"},{"name":"shippingAddressID","type":"number","dataType":"BigInt"}],"relations":[{"name":"user","fkMap":[{"fk":"userID","relatedKey":"userID"}],"relatedName":"User"},{"name":"mailbox","fkMap":[{"fk":"mailboxID","relatedKey":"mailboxID"}],"relatedName":"Mailbox"},{"name":"hostedDomain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"HostedDomain"},{"name":"preview","fkMap":[{"fk":"previewID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"billingAddress","fkMap":[{"fk":"billingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"addresses","isCollection":true,"isInverse":true,"relatedName":"ContactAddress"},{"name":"shippingAddress","fkMap":[{"fk":"shippingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"emails","isCollection":true,"isInverse":true,"relatedName":"ContactEmail"},{"name":"phones","isCollection":true,"isInverse":true,"relatedName":"ContactPhone"},{"name":"items","isCollection":true,"isInverse":true,"relatedName":"ContactItem"},{"name":"domains","isCollection":true,"isInverse":true,"relatedName":"ContactDomain"},{"name":"sellerStores","isCollection":true,"isInverse":true,"relatedName":"Store"},{"name":"vendorItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"soldInvoices","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"boughtInvoices","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"soldItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
|
|
237
237
|
);
|
|
238
238
|
modelEntitySchemas["Contact"] = Contact;
|
|
239
239
|
|
|
@@ -554,7 +554,7 @@ export interface IEmail extends IClrEntity {
|
|
|
554
554
|
lastReplyID?: number | null;
|
|
555
555
|
engagement?: string | null;
|
|
556
556
|
tags?: string | null;
|
|
557
|
-
postID?: string
|
|
557
|
+
postID?: string;
|
|
558
558
|
senderEmail?: IEmailAddress;
|
|
559
559
|
senderUser?: IUser;
|
|
560
560
|
mimeFile?: IEmailLog;
|
|
@@ -770,8 +770,8 @@ export interface IMailboxEmail extends IClrEntity {
|
|
|
770
770
|
engagementCount?: number;
|
|
771
771
|
dateUpdated?: DateTime | null;
|
|
772
772
|
datePublished?: DateTime | null;
|
|
773
|
-
postID?: string | null;
|
|
774
773
|
isThread?: boolean;
|
|
774
|
+
postID?: string;
|
|
775
775
|
mailbox?: IMailbox;
|
|
776
776
|
email?: IEmail;
|
|
777
777
|
}
|
|
@@ -1089,9 +1089,9 @@ export interface IStore extends IClrEntity {
|
|
|
1089
1089
|
configs?: ICollection<IStoreConfig>;
|
|
1090
1090
|
storeItems?: ICollection<IStoreItem>;
|
|
1091
1091
|
itemFolders?: ICollection<IStoreItemFolder>;
|
|
1092
|
-
insights?: ICollection<IStoreInsight>;
|
|
1093
|
-
ledgers?: ICollection<IStoreLedger>;
|
|
1094
1092
|
journals?: ICollection<IStoreJournal>;
|
|
1093
|
+
ledgers?: ICollection<IStoreLedger>;
|
|
1094
|
+
insights?: ICollection<IStoreInsight>;
|
|
1095
1095
|
tags?: ICollection<IStoreTag>;
|
|
1096
1096
|
storeWebsites?: ICollection<IWebSiteStore>;
|
|
1097
1097
|
}
|
|
@@ -1100,7 +1100,7 @@ export const Store: IModel<IStore,{"storeQuery":"external"},any> = new Model<ISt
|
|
|
1100
1100
|
"Store",
|
|
1101
1101
|
["storeID"],
|
|
1102
1102
|
{ name: "",currency: "" },
|
|
1103
|
-
{"name":"stores","keys":[{"name":"storeID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"currency","type":"string","dataType":"Char","length":5,"default":["currency","\"\""]},{"name":"sellerID","type":"number","dataType":"BigInt"},{"name":"folderID","type":"number","dataType":"BigInt"}],"relations":[{"name":"seller","fkMap":[{"fk":"sellerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"folder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"storeUsers","isCollection":true,"isInverse":true,"relatedName":"StoreUser"},{"name":"configs","isCollection":true,"isInverse":true,"relatedName":"StoreConfig"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"itemFolders","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolder"},{"name":"
|
|
1103
|
+
{"name":"stores","keys":[{"name":"storeID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"currency","type":"string","dataType":"Char","length":5,"default":["currency","\"\""]},{"name":"sellerID","type":"number","dataType":"BigInt"},{"name":"folderID","type":"number","dataType":"BigInt"}],"relations":[{"name":"seller","fkMap":[{"fk":"sellerID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"folder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"storeUsers","isCollection":true,"isInverse":true,"relatedName":"StoreUser"},{"name":"configs","isCollection":true,"isInverse":true,"relatedName":"StoreConfig"},{"name":"storeItems","isCollection":true,"isInverse":true,"relatedName":"StoreItem"},{"name":"itemFolders","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolder"},{"name":"journals","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"insights","isCollection":true,"isInverse":true,"relatedName":"StoreInsight"},{"name":"tags","isCollection":true,"isInverse":true,"relatedName":"StoreTag"},{"name":"storeWebsites","isCollection":true,"isInverse":true,"relatedName":"WebSiteStore"}],"queries":{"storeQuery":"external"}}
|
|
1104
1104
|
);
|
|
1105
1105
|
modelEntitySchemas["Store"] = Store;
|
|
1106
1106
|
|
|
@@ -1163,9 +1163,9 @@ export interface IStoreItem extends IClrEntity {
|
|
|
1163
1163
|
variants?: ICollection<IStoreItem>;
|
|
1164
1164
|
vendor?: IContact;
|
|
1165
1165
|
storeItemPrices?: ICollection<IStoreItemPrice>;
|
|
1166
|
+
ledgers?: ICollection<IStoreLedger>;
|
|
1166
1167
|
mediaFiles?: ICollection<IStoreMediaFile>;
|
|
1167
1168
|
insights?: ICollection<IStoreInsight>;
|
|
1168
|
-
ledgers?: ICollection<IStoreLedger>;
|
|
1169
1169
|
lineItems?: ICollection<IStoreJournalLineItem>;
|
|
1170
1170
|
taxes?: ICollection<IStoreItemTax>;
|
|
1171
1171
|
taxItems?: ICollection<IStoreItemTax>;
|
|
@@ -1178,7 +1178,7 @@ export const StoreItem: IModel<IStoreItem,{"storeQuery":"external"},any> = new M
|
|
|
1178
1178
|
"StoreItem",
|
|
1179
1179
|
["storeItemID"],
|
|
1180
1180
|
{ name: "",active: false,itemType: "product",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),price: 0,maxPrice: 0 },
|
|
1181
|
-
{"name":"store_items","keys":[{"name":"storeItemID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"itemFolderID","type":"number","dataType":"BigInt"},{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"active","type":"boolean","dataType":"Boolean","default":["active","false"]},{"name":"internalNotes","type":"string","dataType":"Char","default":["internalNotes","\"\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"itemType","type":"string","dataType":"Char","length":20,"default":["itemType","\"product\""]},{"name":"folderID","type":"number","dataType":"BigInt"},{"name":"sizeForID","type":"number","dataType":"BigInt"},{"name":"variantForID","type":"number","dataType":"BigInt"},{"name":"dateCreated","type":"DateTime","dataType":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"vendorID","type":"number","dataType":"BigInt"},{"name":"price","type":"number","dataType":"Decimal","default":["price","0"]},{"name":"maxPrice","type":"number","dataType":"Decimal","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":"
|
|
1181
|
+
{"name":"store_items","keys":[{"name":"storeItemID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"itemFolderID","type":"number","dataType":"BigInt"},{"name":"name","type":"string","dataType":"Char","length":200,"default":["name","\"\""]},{"name":"active","type":"boolean","dataType":"Boolean","default":["active","false"]},{"name":"internalNotes","type":"string","dataType":"Char","default":["internalNotes","\"\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"itemType","type":"string","dataType":"Char","length":20,"default":["itemType","\"product\""]},{"name":"folderID","type":"number","dataType":"BigInt"},{"name":"sizeForID","type":"number","dataType":"BigInt"},{"name":"variantForID","type":"number","dataType":"BigInt"},{"name":"dateCreated","type":"DateTime","dataType":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"vendorID","type":"number","dataType":"BigInt"},{"name":"price","type":"number","dataType":"Decimal","default":["price","0"]},{"name":"maxPrice","type":"number","dataType":"Decimal","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":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"mediaFiles","isCollection":true,"isInverse":true,"relatedName":"StoreMediaFile"},{"name":"insights","isCollection":true,"isInverse":true,"relatedName":"StoreInsight"},{"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"}],"queries":{"storeQuery":"external"}}
|
|
1182
1182
|
);
|
|
1183
1183
|
modelEntitySchemas["StoreItem"] = StoreItem;
|
|
1184
1184
|
|
|
@@ -1242,6 +1242,25 @@ export const StoreItemPrice: IModel<IStoreItemPrice,{"storeQuery":"external"},an
|
|
|
1242
1242
|
);
|
|
1243
1243
|
modelEntitySchemas["StoreItemPrice"] = StoreItemPrice;
|
|
1244
1244
|
|
|
1245
|
+
export interface IStorePaymentAttempt extends IClrEntity {
|
|
1246
|
+
readonly attemptID?: number;
|
|
1247
|
+
orderID?: number;
|
|
1248
|
+
gatewayID?: number;
|
|
1249
|
+
dateCreated?: DateTime;
|
|
1250
|
+
dateUpdated?: DateTime;
|
|
1251
|
+
success?: boolean;
|
|
1252
|
+
order?: IStoreJournal;
|
|
1253
|
+
gateway?: IStoreLedger;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
export const StorePaymentAttempt: IModel<IStorePaymentAttempt,any,any> = new Model<IStorePaymentAttempt>(
|
|
1257
|
+
"StorePaymentAttempt",
|
|
1258
|
+
["attemptID"],
|
|
1259
|
+
{ dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),success: false },
|
|
1260
|
+
{"name":"store_payment_attempt","keys":[{"name":"attemptID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"orderID","type":"number","dataType":"BigInt"},{"name":"gatewayID","type":"number","dataType":"BigInt"},{"name":"dateCreated","type":"DateTime","dataType":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"success","type":"boolean","dataType":"Boolean","default":["success","false"]}],"relations":[{"name":"order","fkMap":[{"fk":"orderID","relatedKey":"journalID"}],"relatedName":"StoreJournal"},{"name":"gateway","fkMap":[{"fk":"gatewayID","relatedKey":"ledgerID"}],"relatedName":"StoreLedger"}]}
|
|
1261
|
+
);
|
|
1262
|
+
modelEntitySchemas["StorePaymentAttempt"] = StorePaymentAttempt;
|
|
1263
|
+
|
|
1245
1264
|
export interface IStoreMediaFile extends IClrEntity {
|
|
1246
1265
|
storeItemID?: number;
|
|
1247
1266
|
appFileID?: number;
|
|
@@ -1297,19 +1316,34 @@ export interface IStoreLedger extends IClrEntity {
|
|
|
1297
1316
|
name?: string;
|
|
1298
1317
|
description?: string | null;
|
|
1299
1318
|
balance?: number;
|
|
1319
|
+
paymentGateway?: "paypal" | "phone-pe" | null;
|
|
1320
|
+
isGatewayActive?: boolean;
|
|
1321
|
+
merchantID?: string | null;
|
|
1322
|
+
url?: string | null;
|
|
1323
|
+
username?: string | null;
|
|
1324
|
+
encryptedPassword?: string | null;
|
|
1325
|
+
accessID?: string | null;
|
|
1326
|
+
encryptedSecret?: string | null;
|
|
1327
|
+
country?: string | null;
|
|
1328
|
+
isDefault?: boolean;
|
|
1329
|
+
password?: string;
|
|
1330
|
+
secret?: string;
|
|
1300
1331
|
store?: IStore;
|
|
1301
1332
|
parent?: IStoreLedger;
|
|
1302
1333
|
children?: ICollection<IStoreLedger>;
|
|
1303
1334
|
contact?: IContact;
|
|
1304
1335
|
item?: IStoreItem;
|
|
1336
|
+
paymentAttempts?: ICollection<IStorePaymentAttempt>;
|
|
1305
1337
|
entries?: ICollection<IStoreJournalEntry>;
|
|
1306
1338
|
}
|
|
1307
1339
|
|
|
1340
|
+
export const StoreLedgerPaymentGatewayArray = [{"label":"paypal","value":"paypal"},{"label":"phone-pe","value":"phone-pe"}];
|
|
1341
|
+
|
|
1308
1342
|
export const StoreLedger: IModel<IStoreLedger,any,any> = new Model<IStoreLedger>(
|
|
1309
1343
|
"StoreLedger",
|
|
1310
1344
|
["ledgerID"],
|
|
1311
|
-
{ ledgerType: "",name: "",balance: 0 },
|
|
1312
|
-
{"name":"store_ledger","keys":[{"name":"ledgerID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"Char","length":400,"default":["path","\"\""]},{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"contactID","type":"number","dataType":"BigInt"},{"name":"itemID","type":"number","dataType":"BigInt"},{"name":"head","type":"string","dataType":"Char","length":50,"default":["head","\"\""]},{"name":"ledgerType","type":"string","dataType":"Char","length":50,"default":["ledgerType","\"\""]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"balance","type":"number","dataType":"Decimal","default":["balance","0"]}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"ledgerID"}],"relatedName":"StoreLedger"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"contact","fkMap":[{"fk":"contactID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"item","fkMap":[{"fk":"itemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"}]}
|
|
1345
|
+
{ ledgerType: "",name: "",balance: 0,isGatewayActive: false,isDefault: false },
|
|
1346
|
+
{"name":"store_ledger","keys":[{"name":"ledgerID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"path","type":"string","dataType":"Char","length":400,"default":["path","\"\""]},{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"parentID","type":"number","dataType":"BigInt"},{"name":"contactID","type":"number","dataType":"BigInt"},{"name":"itemID","type":"number","dataType":"BigInt"},{"name":"head","type":"string","dataType":"Char","length":50,"default":["head","\"\""]},{"name":"ledgerType","type":"string","dataType":"Char","length":50,"default":["ledgerType","\"\""]},{"name":"name","type":"string","dataType":"Char","length":400,"default":["name","\"\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"balance","type":"number","dataType":"Decimal","default":["balance","0"]},{"name":"paymentGateway","type":"string","dataType":"Char","length":50,"default":["paymentGateway","\"paypal\""]},{"name":"isGatewayActive","type":"boolean","dataType":"Boolean","default":["isGatewayActive","false"]},{"name":"merchantID","type":"string","dataType":"Char","length":400,"default":["merchantID","\"\""]},{"name":"url","type":"string","dataType":"Char","default":["url","\"\""]},{"name":"username","type":"string","dataType":"Char","default":["username","\"\""]},{"name":"encryptedPassword","type":"string","dataType":"Char","default":["encryptedPassword","\"\""]},{"name":"accessID","type":"string","dataType":"Char","default":["accessID","\"\""]},{"name":"encryptedSecret","type":"string","dataType":"Char","default":["encryptedSecret","\"\""]},{"name":"country","type":"string","dataType":"Char","length":20,"default":["country","\"\""]},{"name":"isDefault","type":"boolean","dataType":"Boolean","default":["isDefault","false"]}],"relations":[{"name":"store","fkMap":[{"fk":"storeID","relatedKey":"storeID"}],"relatedName":"Store"},{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"ledgerID"}],"relatedName":"StoreLedger"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"contact","fkMap":[{"fk":"contactID","relatedKey":"contactID"}],"relatedName":"Contact"},{"name":"item","fkMap":[{"fk":"itemID","relatedKey":"storeItemID"}],"relatedName":"StoreItem"},{"name":"paymentAttempts","isCollection":true,"isInverse":true,"relatedName":"StorePaymentAttempt"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"}]}
|
|
1313
1347
|
);
|
|
1314
1348
|
modelEntitySchemas["StoreLedger"] = StoreLedger;
|
|
1315
1349
|
|
|
@@ -1341,6 +1375,7 @@ export interface IStoreJournal extends IClrEntity {
|
|
|
1341
1375
|
reference?: IStoreJournal;
|
|
1342
1376
|
references?: ICollection<IStoreJournal>;
|
|
1343
1377
|
folder?: IAppFile;
|
|
1378
|
+
paymentAttempts?: ICollection<IStorePaymentAttempt>;
|
|
1344
1379
|
entries?: ICollection<IStoreJournalEntry>;
|
|
1345
1380
|
lineItems?: ICollection<IStoreJournalLineItem>;
|
|
1346
1381
|
}
|
|
@@ -1351,7 +1386,7 @@ export const StoreJournal: IModel<IStoreJournal,any,any> = new Model<IStoreJourn
|
|
|
1351
1386
|
"StoreJournal",
|
|
1352
1387
|
["journalID"],
|
|
1353
1388
|
{ dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),journalType: "order",posted: false,status: "",total: 0,balance: 0,taxExempt: false },
|
|
1354
|
-
{"name":"store_journals","keys":[{"name":"journalID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"dateCreated","type":"DateTime","dataType":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"journalType","type":"string","dataType":"AsciiChar","length":50,"default":["journalType","\"order\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"posted","type":"boolean","dataType":"Boolean","default":["posted","false"]},{"name":"status","type":"string","dataType":"Char","length":50,"default":["status","\"\""]},{"name":"sellerID","type":"number","dataType":"BigInt"},{"name":"buyerID","type":"number","dataType":"BigInt"},{"name":"buyerBillingAddressID","type":"number","dataType":"BigInt"},{"name":"buyerShippingAddressID","type":"number","dataType":"BigInt"},{"name":"total","type":"number","dataType":"Decimal","default":["total","0"]},{"name":"balance","type":"number","dataType":"Decimal","default":["balance","0"]},{"name":"referenceID","type":"number","dataType":"BigInt"},{"name":"folderID","type":"number","dataType":"BigInt"},{"name":"taxExempt","type":"boolean","dataType":"Boolean","default":["taxExempt","false"]},{"name":"taxExemptNotes","type":"string","dataType":"Char","default":["taxExemptNotes","\"\""]},{"name":"taxExemptTaxID","type":"string","dataType":"Char","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":"buyerBillingAddress","fkMap":[{"fk":"buyerBillingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"buyerShippingAddress","fkMap":[{"fk":"buyerShippingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"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"}]}
|
|
1389
|
+
{"name":"store_journals","keys":[{"name":"journalID","type":"number","generated":"identity","dataType":"BigInt"}],"properties":[{"name":"storeID","type":"number","dataType":"BigInt"},{"name":"dateCreated","type":"DateTime","dataType":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","dataType":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"journalType","type":"string","dataType":"AsciiChar","length":50,"default":["journalType","\"order\""]},{"name":"description","type":"string","dataType":"Char","default":["description","\"\""]},{"name":"posted","type":"boolean","dataType":"Boolean","default":["posted","false"]},{"name":"status","type":"string","dataType":"Char","length":50,"default":["status","\"\""]},{"name":"sellerID","type":"number","dataType":"BigInt"},{"name":"buyerID","type":"number","dataType":"BigInt"},{"name":"buyerBillingAddressID","type":"number","dataType":"BigInt"},{"name":"buyerShippingAddressID","type":"number","dataType":"BigInt"},{"name":"total","type":"number","dataType":"Decimal","default":["total","0"]},{"name":"balance","type":"number","dataType":"Decimal","default":["balance","0"]},{"name":"referenceID","type":"number","dataType":"BigInt"},{"name":"folderID","type":"number","dataType":"BigInt"},{"name":"taxExempt","type":"boolean","dataType":"Boolean","default":["taxExempt","false"]},{"name":"taxExemptNotes","type":"string","dataType":"Char","default":["taxExemptNotes","\"\""]},{"name":"taxExemptTaxID","type":"string","dataType":"Char","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":"buyerBillingAddress","fkMap":[{"fk":"buyerBillingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"name":"buyerShippingAddress","fkMap":[{"fk":"buyerShippingAddressID","relatedKey":"addressID"}],"relatedName":"ContactAddress"},{"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":"paymentAttempts","isCollection":true,"isInverse":true,"relatedName":"StorePaymentAttempt"},{"name":"entries","isCollection":true,"isInverse":true,"relatedName":"StoreJournalEntry"},{"name":"lineItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
|
|
1355
1390
|
);
|
|
1356
1391
|
modelEntitySchemas["StoreJournal"] = StoreJournal;
|
|
1357
1392
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import WebApp from "@web-atoms/core/dist/web/WebApp";
|
|
2
2
|
import "../../style/GlobalStyle";
|
|
3
3
|
import Pack from "@web-atoms/core/dist/Pack";
|
|
4
|
+
import { StoreUrlService } from "./StoreUrlService";
|
|
5
|
+
|
|
6
|
+
import StoreItemDetailView from "./StoreItemDetailView";
|
|
7
|
+
import StoreItemListView from "./StoreItemListView";
|
|
8
|
+
import SiteLogin from "../user/SiteLogin";
|
|
4
9
|
|
|
5
10
|
if(/\d+\.\d+\.\d+\.\d+/i.test(location.hostname)) {
|
|
6
11
|
|
|
@@ -8,15 +13,24 @@ if(/\d+\.\d+\.\d+\.\d+/i.test(location.hostname)) {
|
|
|
8
13
|
WebApp.installStyleSheet("/styles/vars.css");
|
|
9
14
|
}
|
|
10
15
|
|
|
16
|
+
const { buy, order, orders, login, checkout, detail } = StoreUrlService.getParameters();
|
|
11
17
|
|
|
12
18
|
const url = new URL(location.href);
|
|
13
19
|
(window as any).pageUrl = url;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
|
|
21
|
+
let View: any;
|
|
22
|
+
if (login) {
|
|
23
|
+
View = SiteLogin;
|
|
24
|
+
}
|
|
25
|
+
if (detail) {
|
|
26
|
+
View = StoreItemDetailView;
|
|
27
|
+
}
|
|
28
|
+
if (!View) {
|
|
29
|
+
View = StoreItemListView;
|
|
30
|
+
}
|
|
17
31
|
|
|
18
32
|
@Pack
|
|
19
|
-
export default class Empty extends
|
|
33
|
+
export default class Empty extends View {
|
|
20
34
|
|
|
21
35
|
}
|
|
22
36
|
|
|
@@ -13,11 +13,18 @@ import styled from "@web-atoms/core/dist/style/styled";
|
|
|
13
13
|
import FetchBuilder from "@web-atoms/core/dist/services/FetchBuilder";
|
|
14
14
|
import { formatCurrency, formatPrice } from "../../common/currency";
|
|
15
15
|
import ToggleButtonBar from "@web-atoms/web-controls/dist/basic/ToggleButtonBar";
|
|
16
|
+
import { StoreUrlService } from "./StoreUrlService";
|
|
17
|
+
import WebSiteUserService from "../user/WebSiteUserService";
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
let storeID;
|
|
20
|
+
let itemID;
|
|
18
21
|
|
|
22
|
+
const { detail } = StoreUrlService.getParameters();
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
if (detail) {
|
|
25
|
+
storeID = detail.storeID;
|
|
26
|
+
itemID = detail.productID;
|
|
27
|
+
}
|
|
21
28
|
|
|
22
29
|
storeID = parseInt(storeID, 36);
|
|
23
30
|
itemID = parseInt(itemID, 36);
|
|
@@ -236,7 +243,7 @@ export default class StoreItemDetailView extends AtomControl {
|
|
|
236
243
|
|
|
237
244
|
getFiles(item: IStoreItem, variant: IStoreItem, size: IStoreItem) {
|
|
238
245
|
const variantFiles = variant?.mediaFiles?.filter((x) => x.isPreview);
|
|
239
|
-
const files = variantFiles ?? item.mediaFiles
|
|
246
|
+
const files = variantFiles ?? item.mediaFiles?.filter((x) => x.isPreview) ?? [];
|
|
240
247
|
if (size?.mediaFiles) {
|
|
241
248
|
files.push(... size.mediaFiles.filter((x) => x.isPreview));
|
|
242
249
|
}
|
|
@@ -303,7 +310,7 @@ export default class StoreItemDetailView extends AtomControl {
|
|
|
303
310
|
<p class="price">
|
|
304
311
|
<label text={ formatPrice(price) }/>
|
|
305
312
|
</p>
|
|
306
|
-
<button class="buy">Buy</button>
|
|
313
|
+
<button data-click-event="buy-now" class="buy">Buy</button>
|
|
307
314
|
|
|
308
315
|
{ this.model.sizes?.length && <ToggleButtonBar
|
|
309
316
|
items={this.model.sizes}
|
|
@@ -335,6 +342,12 @@ export default class StoreItemDetailView extends AtomControl {
|
|
|
335
342
|
this.selectedFile = this.model.mediaFiles.find((x) => x.appFileID === id);
|
|
336
343
|
}
|
|
337
344
|
|
|
345
|
+
@Action({ onEvent: "buy-now"})
|
|
346
|
+
async buyNow() {
|
|
347
|
+
const userService = this.resolve(WebSiteUserService);
|
|
348
|
+
const user = await userService.getUser();
|
|
349
|
+
}
|
|
350
|
+
|
|
338
351
|
async getItem() {
|
|
339
352
|
return this.entityService
|
|
340
353
|
.query(StoreItem, "storeQuery")
|
|
@@ -231,9 +231,11 @@ export default class StoreItemListView extends AtomControl {
|
|
|
231
231
|
<img
|
|
232
232
|
src={Bind.oneTimeAsync(() => this.downloadImage(item))}
|
|
233
233
|
/>
|
|
234
|
-
<
|
|
234
|
+
<a
|
|
235
|
+
title={item.name || item.variantFor?.name || item.name}
|
|
236
|
+
href={StoreUrlService.productUrl(item)}><button
|
|
235
237
|
class="buy"
|
|
236
|
-
text="Buy"
|
|
238
|
+
text="Buy"/></a>
|
|
237
239
|
<div class="price">
|
|
238
240
|
<label text={ formatPrice(item.storeItemPrices?.[0] ?? item.variantFor?.storeItemPrices?.[0] )}/>
|
|
239
241
|
</div>
|