@social-mail/social-mail-client 1.2.333 → 1.2.334
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 +23 -381
- 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/pages/mailboxes/MailboxEditorPage.js +1 -1
- package/dist/common/pages/mailboxes/MailboxEditorPage.js.map +1 -1
- package/dist/common/pages/mailboxes/services/ExternalMailboxService.d.ts +0 -3
- package/dist/common/pages/mailboxes/services/ExternalMailboxService.d.ts.map +1 -1
- package/dist/common/pages/mailboxes/services/ExternalMailboxService.js +2 -34
- package/dist/common/pages/mailboxes/services/ExternalMailboxService.js.map +1 -1
- package/dist/common/pages/mailboxes/services/MailboxService.d.ts.map +1 -1
- package/dist/common/pages/mailboxes/services/MailboxService.js +2 -5
- package/dist/common/pages/mailboxes/services/MailboxService.js.map +1 -1
- package/dist/common/pages/websites/blogs/LookupChannelPage.js +1 -1
- package/dist/common/pages/websites/blogs/LookupChannelPage.js.map +1 -1
- package/dist/model/model.d.ts +7 -75
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +16 -339
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +16 -339
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/store/Store.pack.js +16 -339
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js +1 -1
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/services/contacts/ContactService.js +1 -1
- package/dist/services/contacts/ContactService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +23 -381
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +5 -5
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/package.json +1 -1
- package/src/common/pages/mailboxes/MailboxEditorPage.tsx +1 -1
- package/src/common/pages/mailboxes/services/ExternalMailboxService.ts +1 -32
- package/src/common/pages/mailboxes/services/MailboxService.ts +2 -5
- package/src/common/pages/websites/blogs/LookupChannelPage.tsx +1 -1
- package/src/model/model.ts +16 -114
- package/src/services/contacts/ContactService.ts +1 -1
package/package.json
CHANGED
|
@@ -64,7 +64,7 @@ export default class MailboxEditorPage extends PopupWindowPage {
|
|
|
64
64
|
/>
|
|
65
65
|
</FormField>
|
|
66
66
|
<FormField label="Email Address">
|
|
67
|
-
<span text={Bind.oneWay(() => `${this.model.username}@${this.model.domain.
|
|
67
|
+
<span text={Bind.oneWay(() => `${this.model.username}@${this.model.domain.name}`)}/>
|
|
68
68
|
</FormField>
|
|
69
69
|
<FormField label="Create Channel">
|
|
70
70
|
<Checkbox
|
|
@@ -25,33 +25,6 @@ export default class ExternalMailboxService {
|
|
|
25
25
|
@Inject
|
|
26
26
|
private entityService: EntityService;
|
|
27
27
|
|
|
28
|
-
public async createDomain(emailAddress: string, retry = 3): Promise<{ domainID?: number }> {
|
|
29
|
-
try {
|
|
30
|
-
const index = emailAddress.lastIndexOf("@");
|
|
31
|
-
let domainName = emailAddress;
|
|
32
|
-
if (index !== -1) {
|
|
33
|
-
domainName = emailAddress.substring(index + 1);
|
|
34
|
-
}
|
|
35
|
-
domainName = domainName.toLocaleLowerCase();
|
|
36
|
-
const d = await this.entityService.query(HostedDomain)
|
|
37
|
-
.where({ domainName }, (p) => (x) => x.domain.name === p.domainName)
|
|
38
|
-
.firstOrDefault();
|
|
39
|
-
if (d) {
|
|
40
|
-
return d;
|
|
41
|
-
}
|
|
42
|
-
const hd = HostedDomain.create({
|
|
43
|
-
domainNameToCreate: domainName,
|
|
44
|
-
external: true
|
|
45
|
-
});
|
|
46
|
-
return await this.entityService.save(hd);
|
|
47
|
-
} catch (error) {
|
|
48
|
-
if(retry--) {
|
|
49
|
-
return await this.createDomain(emailAddress, retry - 1);
|
|
50
|
-
}
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
28
|
async createMailbox(model: IExternalMailbox) {
|
|
56
29
|
const {
|
|
57
30
|
emailAddress,
|
|
@@ -67,15 +40,11 @@ export default class ExternalMailboxService {
|
|
|
67
40
|
smtpUsername,
|
|
68
41
|
smtpPassword,
|
|
69
42
|
} = model;
|
|
70
|
-
const hd = await this.createDomain(emailAddress);
|
|
71
43
|
|
|
72
44
|
const dateCreated = DateTime.now;
|
|
73
45
|
|
|
74
|
-
const [ emailUsername ] = emailAddress.split("@");
|
|
75
|
-
|
|
76
46
|
const mb = Mailbox.create({
|
|
77
|
-
|
|
78
|
-
username: emailUsername,
|
|
47
|
+
externalEmailAddress: emailAddress,
|
|
79
48
|
name,
|
|
80
49
|
dateCreated,
|
|
81
50
|
dateUpdated: dateCreated,
|
|
@@ -12,10 +12,7 @@ export default class MailboxService {
|
|
|
12
12
|
private entityService: EntityService;
|
|
13
13
|
|
|
14
14
|
public async domains(onlyHosted = false) {
|
|
15
|
-
|
|
16
|
-
if (onlyHosted) {
|
|
17
|
-
q = q.where({}, (p) => (x) => x.external === false);
|
|
18
|
-
}
|
|
15
|
+
const q = this.entityService.query(HostedDomain);
|
|
19
16
|
const hosted = await q
|
|
20
17
|
.include((x) => x.domain)
|
|
21
18
|
.toArray();
|
|
@@ -100,7 +97,7 @@ export default class MailboxService {
|
|
|
100
97
|
async get(id) {
|
|
101
98
|
return this.entityService.query(Mailbox)
|
|
102
99
|
.where({ id }, (p) => (x) => x.mailboxID === p.id)
|
|
103
|
-
.include((x) => [x.userMailboxes, x.syncTargets, x.emailAddress, x.domain
|
|
100
|
+
.include((x) => [x.userMailboxes, x.syncTargets, x.emailAddress, x.domain])
|
|
104
101
|
.firstOrDefault();
|
|
105
102
|
}
|
|
106
103
|
|
|
@@ -59,7 +59,7 @@ export default class LookupChannelPage extends PopupWindowPage<any, IMailbox> {
|
|
|
59
59
|
if (search) {
|
|
60
60
|
search = search + "%";
|
|
61
61
|
if (search.startsWith("@")) {
|
|
62
|
-
q = q.where({ search }, (p) => (x) => Sql.text.like(x.domain.
|
|
62
|
+
q = q.where({ search }, (p) => (x) => Sql.text.like(x.domain.name, p.search) );
|
|
63
63
|
} else {
|
|
64
64
|
q = q.where({ search }, (p) => (x) => Sql.text.like(x.emailAddress.emailAddress, p.search));
|
|
65
65
|
}
|
package/src/model/model.ts
CHANGED
|
@@ -211,7 +211,7 @@ export interface IContact extends IClrEntity {
|
|
|
211
211
|
shippingAddressID?: number | null;
|
|
212
212
|
user?: IUser;
|
|
213
213
|
mailbox?: IMailbox;
|
|
214
|
-
|
|
214
|
+
hostedDomain?: IHostedDomain;
|
|
215
215
|
preview?: IAppFile;
|
|
216
216
|
billingAddress?: IContactAddress;
|
|
217
217
|
addresses?: ICollection<IContactAddress>;
|
|
@@ -232,7 +232,7 @@ export const Contact: IModel<IContact> = new Model<IContact>(
|
|
|
232
232
|
"Contact",
|
|
233
233
|
["contactID"],
|
|
234
234
|
{ name: "",type: "",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()) },
|
|
235
|
-
{"name":"contacts","keys":[{"name":"contactID","type":"number","generated":"identity"}],"properties":[{"name":"externalID","type":"string","default":["externalID","\"\""]},{"name":"userID","type":"number"},{"name":"mailboxID","type":"number"},{"name":"domainID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"companyID","type":"string","default":["companyID","\"\""]},{"name":"salesTaxID","type":"string","default":["salesTaxID","\"\""]},{"name":"gstTaxID","type":"string","default":["gstTaxID","\"\""]},{"name":"vatTaxID","type":"string","default":["vatTaxID","\"\""]},{"name":"incomeTaxID","type":"string","default":["incomeTaxID","\"\""]},{"name":"type","type":"string","default":["type","\"\""]},{"name":"synchronization","type":"string","default":["synchronization","\"\""]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"previewID","type":"number"},{"name":"billingAddressID","type":"number"},{"name":"shippingAddressID","type":"number"}],"relations":[{"name":"user","fkMap":[{"fk":"userID","relatedKey":"userID"}],"relatedName":"User"},{"name":"mailbox","fkMap":[{"fk":"mailboxID","relatedKey":"mailboxID"}],"relatedName":"Mailbox"},{"name":"
|
|
235
|
+
{"name":"contacts","keys":[{"name":"contactID","type":"number","generated":"identity"}],"properties":[{"name":"externalID","type":"string","default":["externalID","\"\""]},{"name":"userID","type":"number"},{"name":"mailboxID","type":"number"},{"name":"domainID","type":"number"},{"name":"name","type":"string","default":["name","\"\""]},{"name":"description","type":"string","default":["description","\"\""]},{"name":"companyID","type":"string","default":["companyID","\"\""]},{"name":"salesTaxID","type":"string","default":["salesTaxID","\"\""]},{"name":"gstTaxID","type":"string","default":["gstTaxID","\"\""]},{"name":"vatTaxID","type":"string","default":["vatTaxID","\"\""]},{"name":"incomeTaxID","type":"string","default":["incomeTaxID","\"\""]},{"name":"type","type":"string","default":["type","\"\""]},{"name":"synchronization","type":"string","default":["synchronization","\"\""]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"previewID","type":"number"},{"name":"billingAddressID","type":"number"},{"name":"shippingAddressID","type":"number"}],"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":"ledgers","isCollection":true,"isInverse":true,"relatedName":"StoreLedger"},{"name":"soldInvoices","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"boughtInvoices","isCollection":true,"isInverse":true,"relatedName":"StoreJournal"},{"name":"soldItems","isCollection":true,"isInverse":true,"relatedName":"StoreJournalLineItem"}]}
|
|
236
236
|
);
|
|
237
237
|
modelEntitySchemas["Contact"] = Contact;
|
|
238
238
|
|
|
@@ -352,6 +352,7 @@ export interface IDomain extends IClrEntity {
|
|
|
352
352
|
received?: number;
|
|
353
353
|
failed?: number;
|
|
354
354
|
emailAddresses?: ICollection<IEmailAddress>;
|
|
355
|
+
mailboxes?: ICollection<IMailbox>;
|
|
355
356
|
hostedDomain?: IHostedDomain;
|
|
356
357
|
contactDomains?: ICollection<IContactDomain>;
|
|
357
358
|
activities?: ICollection<IServerActivity>;
|
|
@@ -361,7 +362,7 @@ export const Domain: IModel<IDomain> = new Model<IDomain>(
|
|
|
361
362
|
"Domain",
|
|
362
363
|
["domainID"],
|
|
363
364
|
{ name: "",received: 0,failed: 0 },
|
|
364
|
-
{"name":"domains","keys":[{"name":"domainID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"received","type":"number","default":["received","0"]},{"name":"failed","type":"number","default":["failed","0"]}],"relations":[{"name":"emailAddresses","isCollection":true,"isInverse":true,"relatedName":"EmailAddress"},{"name":"hostedDomain","isCollection":false,"isInverse":true,"relatedName":"HostedDomain"},{"name":"contactDomains","isCollection":true,"isInverse":true,"relatedName":"ContactDomain"},{"name":"activities","isCollection":true,"isInverse":true,"relatedName":"ServerActivity"}]}
|
|
365
|
+
{"name":"domains","keys":[{"name":"domainID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"received","type":"number","default":["received","0"]},{"name":"failed","type":"number","default":["failed","0"]}],"relations":[{"name":"emailAddresses","isCollection":true,"isInverse":true,"relatedName":"EmailAddress"},{"name":"mailboxes","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"name":"hostedDomain","isCollection":false,"isInverse":true,"relatedName":"HostedDomain"},{"name":"contactDomains","isCollection":true,"isInverse":true,"relatedName":"ContactDomain"},{"name":"activities","isCollection":true,"isInverse":true,"relatedName":"ServerActivity"}]}
|
|
365
366
|
);
|
|
366
367
|
modelEntitySchemas["Domain"] = Domain;
|
|
367
368
|
|
|
@@ -370,13 +371,11 @@ export interface IHostedDomain extends IClrEntity {
|
|
|
370
371
|
enableReceive?: boolean;
|
|
371
372
|
enableSend?: boolean;
|
|
372
373
|
useRelay?: boolean;
|
|
373
|
-
external?: boolean;
|
|
374
374
|
aliasForName?: string | null;
|
|
375
375
|
domainNameToCreate?: string;
|
|
376
376
|
domain?: IDomain;
|
|
377
377
|
aliasFor?: IHostedDomain;
|
|
378
378
|
aliases?: ICollection<IHostedDomain>;
|
|
379
|
-
mailboxes?: ICollection<IMailbox>;
|
|
380
379
|
contacts?: ICollection<IContact>;
|
|
381
380
|
domainUsers?: ICollection<IDomainUser>;
|
|
382
381
|
relays?: ICollection<IDomainRelay>;
|
|
@@ -387,8 +386,8 @@ export interface IHostedDomain extends IClrEntity {
|
|
|
387
386
|
export const HostedDomain: IModel<IHostedDomain> = new Model<IHostedDomain>(
|
|
388
387
|
"HostedDomain",
|
|
389
388
|
["domainID"],
|
|
390
|
-
{ enableReceive: false,enableSend: false,useRelay: false
|
|
391
|
-
{"name":"hosted_domains","keys":[{"name":"domainID","type":"number"}],"properties":[{"name":"enableReceive","type":"boolean","default":["enableReceive","false"]},{"name":"enableSend","type":"boolean","default":["enableSend","false"]},{"name":"useRelay","type":"boolean","default":["useRelay","false"]},{"name":"
|
|
389
|
+
{ enableReceive: false,enableSend: false,useRelay: false },
|
|
390
|
+
{"name":"hosted_domains","keys":[{"name":"domainID","type":"number"}],"properties":[{"name":"enableReceive","type":"boolean","default":["enableReceive","false"]},{"name":"enableSend","type":"boolean","default":["enableSend","false"]},{"name":"useRelay","type":"boolean","default":["useRelay","false"]},{"name":"aliasForName","type":"string"}],"relations":[{"name":"domain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"Domain"},{"name":"aliasFor","fkMap":[{"fk":"aliasForName","relatedKey":"domainID"}],"relatedName":"HostedDomain"},{"name":"aliases","isCollection":true,"isInverse":true,"relatedName":"HostedDomain"},{"name":"contacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"domainUsers","isCollection":true,"isInverse":true,"relatedName":"DomainUser"},{"name":"relays","isCollection":true,"isInverse":true,"relatedName":"DomainRelay"},{"name":"domainKeys","isCollection":true,"isInverse":true,"relatedName":"DomainKey"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"}]}
|
|
392
391
|
);
|
|
393
392
|
modelEntitySchemas["HostedDomain"] = HostedDomain;
|
|
394
393
|
|
|
@@ -438,14 +437,14 @@ export interface IDomainKey extends IClrEntity {
|
|
|
438
437
|
keyType?: string;
|
|
439
438
|
readonly publicKey?: string;
|
|
440
439
|
domainID?: number;
|
|
441
|
-
|
|
440
|
+
hostedDomain?: IHostedDomain;
|
|
442
441
|
}
|
|
443
442
|
|
|
444
443
|
export const DomainKey: IModel<IDomainKey> = new Model<IDomainKey>(
|
|
445
444
|
"DomainKey",
|
|
446
445
|
["domainKeyID"],
|
|
447
446
|
{ name: "",keyType: "",publicKey: "" },
|
|
448
|
-
{"name":"domain_keys","keys":[{"name":"domainKeyID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"keyType","type":"string","default":["keyType","\"\""]},{"name":"publicKey","type":"string","default":["publicKey","\"\""]},{"name":"domainID","type":"number"},{"name":"privateKey","type":"string","default":["privateKey","\"\""]}],"relations":[{"name":"
|
|
447
|
+
{"name":"domain_keys","keys":[{"name":"domainKeyID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"keyType","type":"string","default":["keyType","\"\""]},{"name":"publicKey","type":"string","default":["publicKey","\"\""]},{"name":"domainID","type":"number"},{"name":"privateKey","type":"string","default":["privateKey","\"\""]}],"relations":[{"name":"hostedDomain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"HostedDomain"}]}
|
|
449
448
|
);
|
|
450
449
|
modelEntitySchemas["DomainKey"] = DomainKey;
|
|
451
450
|
|
|
@@ -621,7 +620,7 @@ export interface IEmailTemplate extends IClrEntity {
|
|
|
621
620
|
domainID?: number | null;
|
|
622
621
|
mailboxID?: number | null;
|
|
623
622
|
folderID?: number;
|
|
624
|
-
|
|
623
|
+
hostedDomain?: IHostedDomain;
|
|
625
624
|
mailbox?: IMailbox;
|
|
626
625
|
folder?: IAppFile;
|
|
627
626
|
}
|
|
@@ -630,7 +629,7 @@ export const EmailTemplate: IModel<IEmailTemplate> = new Model<IEmailTemplate>(
|
|
|
630
629
|
"EmailTemplate",
|
|
631
630
|
["templateID"],
|
|
632
631
|
{ },
|
|
633
|
-
{"name":"email_templates","keys":[{"name":"templateID","type":"number","generated":"identity"}],"properties":[{"name":"domainID","type":"number"},{"name":"mailboxID","type":"number"},{"name":"folderID","type":"number"}],"relations":[{"name":"
|
|
632
|
+
{"name":"email_templates","keys":[{"name":"templateID","type":"number","generated":"identity"}],"properties":[{"name":"domainID","type":"number"},{"name":"mailboxID","type":"number"},{"name":"folderID","type":"number"}],"relations":[{"name":"hostedDomain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"HostedDomain"},{"name":"mailbox","fkMap":[{"fk":"mailboxID","relatedKey":"mailboxID"}],"relatedName":"Mailbox"},{"name":"folder","fkMap":[{"fk":"folderID","relatedKey":"appFileID"}],"relatedName":"AppFile"}]}
|
|
634
633
|
);
|
|
635
634
|
modelEntitySchemas["EmailTemplate"] = EmailTemplate;
|
|
636
635
|
|
|
@@ -655,11 +654,12 @@ export interface IMailbox extends IClrEntity {
|
|
|
655
654
|
datePublished?: DateTime | null;
|
|
656
655
|
dateEngaged?: DateTime | null;
|
|
657
656
|
username?: string;
|
|
657
|
+
externalEmailAddress?: string;
|
|
658
658
|
name?: string;
|
|
659
659
|
notify?: boolean;
|
|
660
660
|
deleteVerificationID?: string;
|
|
661
661
|
emailAddress?: IEmailAddress;
|
|
662
|
-
domain?:
|
|
662
|
+
domain?: IDomain;
|
|
663
663
|
logo?: IAppFile;
|
|
664
664
|
contacts?: ICollection<IContact>;
|
|
665
665
|
templates?: ICollection<IEmailTemplate>;
|
|
@@ -678,7 +678,7 @@ export const Mailbox: IModel<IMailbox> = new Model<IMailbox>(
|
|
|
678
678
|
"Mailbox",
|
|
679
679
|
["mailboxID"],
|
|
680
680
|
{ storage: 0,maxStorage: 0,indexAttachments: false,indexImageAttachments: false,openThreads: 0,totalThreads: 0,unread: 0,dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),isChannel: false,isPrivateChannel: false,requireApproval: false,subscriberCount: 0 },
|
|
681
|
-
{"name":"mailboxes","keys":[{"name":"mailboxID","type":"number"}],"properties":[{"name":"domainID","type":"number"},{"name":"storage","type":"number","default":["storage","0"]},{"name":"maxStorage","type":"number","default":["maxStorage","0"]},{"name":"indexAttachments","type":"boolean","default":["indexAttachments","false"]},{"name":"indexImageAttachments","type":"boolean","default":["indexImageAttachments","false"]},{"name":"firstID","type":"number","default":["firstID","0"]},{"name":"recentID","type":"number","default":["recentID","0"]},{"name":"openThreads","type":"number","default":["openThreads","0"]},{"name":"totalThreads","type":"number","default":["totalThreads","0"]},{"name":"unread","type":"number","default":["unread","0"]},{"name":"logoID","type":"number"},{"name":"description","type":"string","default":["description","\"\""]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"isChannel","type":"boolean","default":["isChannel","false"]},{"name":"isPrivateChannel","type":"boolean","default":["isPrivateChannel","false"]},{"name":"requireApproval","type":"boolean","default":["requireApproval","false"]},{"name":"subscriberCount","type":"number","default":["subscriberCount","0"]},{"name":"datePublished","type":"DateTime","default":["datePublished","new DefaultFactory(() => new DateTime())"]},{"name":"dateEngaged","type":"DateTime","default":["dateEngaged","new DefaultFactory(() => new DateTime())"]},{"name":"parentID","type":"number","default":["parentID","0"]}],"relations":[{"name":"emailAddress","fkMap":[{"fk":"mailboxID","relatedKey":"emailAddressID"}],"relatedName":"EmailAddress"},{"name":"domain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"
|
|
681
|
+
{"name":"mailboxes","keys":[{"name":"mailboxID","type":"number"}],"properties":[{"name":"domainID","type":"number"},{"name":"storage","type":"number","default":["storage","0"]},{"name":"maxStorage","type":"number","default":["maxStorage","0"]},{"name":"indexAttachments","type":"boolean","default":["indexAttachments","false"]},{"name":"indexImageAttachments","type":"boolean","default":["indexImageAttachments","false"]},{"name":"firstID","type":"number","default":["firstID","0"]},{"name":"recentID","type":"number","default":["recentID","0"]},{"name":"openThreads","type":"number","default":["openThreads","0"]},{"name":"totalThreads","type":"number","default":["totalThreads","0"]},{"name":"unread","type":"number","default":["unread","0"]},{"name":"logoID","type":"number"},{"name":"description","type":"string","default":["description","\"\""]},{"name":"dateCreated","type":"DateTime","default":["dateCreated","new DefaultFactory(() => new DateTime())"]},{"name":"dateUpdated","type":"DateTime","default":["dateUpdated","new DefaultFactory(() => new DateTime())"]},{"name":"isChannel","type":"boolean","default":["isChannel","false"]},{"name":"isPrivateChannel","type":"boolean","default":["isPrivateChannel","false"]},{"name":"requireApproval","type":"boolean","default":["requireApproval","false"]},{"name":"subscriberCount","type":"number","default":["subscriberCount","0"]},{"name":"datePublished","type":"DateTime","default":["datePublished","new DefaultFactory(() => new DateTime())"]},{"name":"dateEngaged","type":"DateTime","default":["dateEngaged","new DefaultFactory(() => new DateTime())"]},{"name":"parentID","type":"number","default":["parentID","0"]}],"relations":[{"name":"emailAddress","fkMap":[{"fk":"mailboxID","relatedKey":"emailAddressID"}],"relatedName":"EmailAddress"},{"name":"domain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"Domain"},{"name":"logo","fkMap":[{"fk":"logoID","relatedKey":"appFileID"}],"relatedName":"AppFile"},{"name":"contacts","isCollection":true,"isInverse":true,"relatedName":"Contact"},{"name":"templates","isCollection":true,"isInverse":true,"relatedName":"EmailTemplate"},{"name":"emails","isCollection":true,"isInverse":true,"relatedName":"MailboxEmail"},{"name":"mailboxContacts","isCollection":true,"isInverse":true,"relatedName":"MailboxContact"},{"name":"threadEmails","isCollection":true,"isInverse":true,"relatedName":"MailboxContactEmail"},{"name":"syncTargets","isCollection":true,"isInverse":true,"relatedName":"MailboxSyncTarget"},{"name":"channelConfig","isCollection":false,"isInverse":true,"relatedName":"ChannelConfig"},{"name":"subscriberActivities","isCollection":true,"isInverse":true,"relatedName":"SubscriberActivity"},{"name":"userPins","isCollection":true,"isInverse":true,"relatedName":"UserPin"},{"name":"userMailboxes","isCollection":true,"isInverse":true,"relatedName":"UserMailbox"},{"name":"websiteChannels","isCollection":true,"isInverse":true,"relatedName":"WebSiteChannel"}]}
|
|
682
682
|
);
|
|
683
683
|
modelEntitySchemas["Mailbox"] = Mailbox;
|
|
684
684
|
|
|
@@ -1624,6 +1624,7 @@ modelEntitySchemas["VerificationTokenAddress"] = VerificationTokenAddress;
|
|
|
1624
1624
|
export interface ITag extends IClrEntity {
|
|
1625
1625
|
readonly tagID?: number;
|
|
1626
1626
|
name?: string;
|
|
1627
|
+
label?: string;
|
|
1627
1628
|
readonly lowerCaseName?: string;
|
|
1628
1629
|
path?: string | null;
|
|
1629
1630
|
isSystemTag?: boolean;
|
|
@@ -1642,110 +1643,11 @@ export interface ITag extends IClrEntity {
|
|
|
1642
1643
|
export const Tag: IModel<ITag> = new Model<ITag>(
|
|
1643
1644
|
"Tag",
|
|
1644
1645
|
["tagID"],
|
|
1645
|
-
{ name: "",isSystemTag: false },
|
|
1646
|
-
{"name":"tags","keys":[{"name":"tagID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"lowerCaseName","type":"string","generated":"computed"},{"name":"path","type":"string","default":["path","\"\""]},{"name":"isSystemTag","type":"boolean","default":["isSystemTag","false"]},{"name":"contentTypes","type":"string","default":["contentTypes","\"\""]},{"name":"parentID","type":"number"}],"relations":[{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"tagID"}],"relatedName":"Tag"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"Tag"},{"name":"fileTags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"emailTags","isCollection":true,"isInverse":true,"relatedName":"EmailTag"},{"name":"mailboxContactTags","isCollection":true,"isInverse":true,"relatedName":"MailboxContactTag"},{"name":"storeItemFolderTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolderTag"},{"name":"storeTags","isCollection":true,"isInverse":true,"relatedName":"StoreTag"},{"name":"storeItemTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemTag"}]}
|
|
1646
|
+
{ name: "",label: "",isSystemTag: false },
|
|
1647
|
+
{"name":"tags","keys":[{"name":"tagID","type":"number","generated":"identity"}],"properties":[{"name":"name","type":"string","default":["name","\"\""]},{"name":"label","type":"string","default":["label","\"\""]},{"name":"lowerCaseName","type":"string","generated":"computed"},{"name":"path","type":"string","default":["path","\"\""]},{"name":"isSystemTag","type":"boolean","default":["isSystemTag","false"]},{"name":"contentTypes","type":"string","default":["contentTypes","\"\""]},{"name":"parentID","type":"number"}],"relations":[{"name":"parent","fkMap":[{"fk":"parentID","relatedKey":"tagID"}],"relatedName":"Tag"},{"name":"children","isCollection":true,"isInverse":true,"relatedName":"Tag"},{"name":"fileTags","isCollection":true,"isInverse":true,"relatedName":"AppFileTag"},{"name":"emailTags","isCollection":true,"isInverse":true,"relatedName":"EmailTag"},{"name":"mailboxContactTags","isCollection":true,"isInverse":true,"relatedName":"MailboxContactTag"},{"name":"storeItemFolderTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemFolderTag"},{"name":"storeTags","isCollection":true,"isInverse":true,"relatedName":"StoreTag"},{"name":"storeItemTags","isCollection":true,"isInverse":true,"relatedName":"StoreItemTag"}]}
|
|
1647
1648
|
);
|
|
1648
1649
|
modelEntitySchemas["Tag"] = Tag;
|
|
1649
1650
|
|
|
1650
|
-
export interface IVirtualServer extends IClrEntity {
|
|
1651
|
-
readonly serverID?: number;
|
|
1652
|
-
serverName?: string;
|
|
1653
|
-
ownerEmailAddress?: string | null;
|
|
1654
|
-
ownerPhoneNumber?: string | null;
|
|
1655
|
-
active?: boolean;
|
|
1656
|
-
bucketName?: string | null;
|
|
1657
|
-
database?: string | null;
|
|
1658
|
-
host?: string;
|
|
1659
|
-
forwardHost?: string | null;
|
|
1660
|
-
forwardPublicKey?: string | null;
|
|
1661
|
-
environmentVariables?: string | null;
|
|
1662
|
-
maxStorageGB?: number;
|
|
1663
|
-
dnsZones?: ICollection<IDnsZone>;
|
|
1664
|
-
}
|
|
1665
|
-
|
|
1666
|
-
export const VirtualServer: IModel<IVirtualServer> = new Model<IVirtualServer>(
|
|
1667
|
-
"VirtualServer",
|
|
1668
|
-
["serverID"],
|
|
1669
|
-
{ serverName: "",active: false,host: "",maxStorageGB: 0 },
|
|
1670
|
-
{"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"}]}
|
|
1671
|
-
);
|
|
1672
|
-
modelEntitySchemas["VirtualServer"] = VirtualServer;
|
|
1673
|
-
|
|
1674
|
-
export interface IDnsZone extends IClrEntity {
|
|
1675
|
-
readonly zoneID?: number;
|
|
1676
|
-
serverID?: number;
|
|
1677
|
-
zone?: string;
|
|
1678
|
-
keySigningKeyID?: number;
|
|
1679
|
-
zoneSigningKeyID?: number;
|
|
1680
|
-
dateCreated?: DateTime;
|
|
1681
|
-
dateUpdated?: DateTime;
|
|
1682
|
-
signed?: string | null;
|
|
1683
|
-
unsigned?: string | null;
|
|
1684
|
-
virtualServer?: IVirtualServer;
|
|
1685
|
-
ksk?: IDnsSigningKey;
|
|
1686
|
-
zsk?: IDnsSigningKey;
|
|
1687
|
-
records?: ICollection<IDnsZoneRecord>;
|
|
1688
|
-
}
|
|
1689
|
-
|
|
1690
|
-
export const DnsZone: IModel<IDnsZone> = new Model<IDnsZone>(
|
|
1691
|
-
"DnsZone",
|
|
1692
|
-
["zoneID"],
|
|
1693
|
-
{ zone: "",dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()) },
|
|
1694
|
-
{"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"}]}
|
|
1695
|
-
);
|
|
1696
|
-
modelEntitySchemas["DnsZone"] = DnsZone;
|
|
1697
|
-
|
|
1698
|
-
export interface IDnsZoneRecord extends IClrEntity {
|
|
1699
|
-
readonly recordID?: number;
|
|
1700
|
-
zoneID?: number;
|
|
1701
|
-
disabled?: boolean;
|
|
1702
|
-
name?: string;
|
|
1703
|
-
type?: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "PTR" | "SRV" | "CAA" | "NS" | "SOA";
|
|
1704
|
-
isAlias?: boolean;
|
|
1705
|
-
value?: string;
|
|
1706
|
-
ttl?: number;
|
|
1707
|
-
dateCreated?: DateTime;
|
|
1708
|
-
dateUpdated?: DateTime;
|
|
1709
|
-
notes?: string | null;
|
|
1710
|
-
signature?: string | null;
|
|
1711
|
-
expiryDate?: DateTime | null;
|
|
1712
|
-
readonly fqdn?: string | null;
|
|
1713
|
-
hosted?: boolean;
|
|
1714
|
-
zone?: IDnsZone;
|
|
1715
|
-
}
|
|
1716
|
-
|
|
1717
|
-
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"}];
|
|
1718
|
-
|
|
1719
|
-
export const DnsZoneRecord: IModel<IDnsZoneRecord> = new Model<IDnsZoneRecord>(
|
|
1720
|
-
"DnsZoneRecord",
|
|
1721
|
-
["recordID"],
|
|
1722
|
-
{ disabled: false,name: "",type: "A",isAlias: false,value: "",ttl: 0,dateCreated: new DefaultFactory(() => new DateTime()),dateUpdated: new DefaultFactory(() => new DateTime()),hosted: false },
|
|
1723
|
-
{"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"}]}
|
|
1724
|
-
);
|
|
1725
|
-
modelEntitySchemas["DnsZoneRecord"] = DnsZoneRecord;
|
|
1726
|
-
|
|
1727
|
-
export interface IDnsSigningKey extends IClrEntity {
|
|
1728
|
-
readonly keyID?: number;
|
|
1729
|
-
publicKey?: string;
|
|
1730
|
-
digestAlgorithm?: number;
|
|
1731
|
-
signingAlgorithm?: number;
|
|
1732
|
-
digest?: string;
|
|
1733
|
-
flags?: number;
|
|
1734
|
-
dateCreated?: DateTime;
|
|
1735
|
-
expiryDate?: DateTime;
|
|
1736
|
-
fileName?: string;
|
|
1737
|
-
kskZones?: ICollection<IDnsZone>;
|
|
1738
|
-
zskZones?: ICollection<IDnsZone>;
|
|
1739
|
-
}
|
|
1740
|
-
|
|
1741
|
-
export const DnsSigningKey: IModel<IDnsSigningKey> = new Model<IDnsSigningKey>(
|
|
1742
|
-
"DnsSigningKey",
|
|
1743
|
-
["keyID"],
|
|
1744
|
-
{ publicKey: "",digestAlgorithm: 0,signingAlgorithm: 0,digest: "",flags: 0,dateCreated: new DefaultFactory(() => new DateTime()),expiryDate: new DefaultFactory(() => new DateTime()),fileName: "" },
|
|
1745
|
-
{"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"}]}
|
|
1746
|
-
);
|
|
1747
|
-
modelEntitySchemas["DnsSigningKey"] = DnsSigningKey;
|
|
1748
|
-
|
|
1749
1651
|
const fixRelatedSchemas = (schema) => {
|
|
1750
1652
|
for (const key in schema) {
|
|
1751
1653
|
if (Object.prototype.hasOwnProperty.call(schema, key)) {
|
|
@@ -12,7 +12,7 @@ export default class ContactService {
|
|
|
12
12
|
async get(id) {
|
|
13
13
|
return this.entityService.query(Contact)
|
|
14
14
|
.where({ id}, (p) => (x) => x.contactID === p.id)
|
|
15
|
-
.include((x) => [x.addresses, x.items, x.emails, x.phones, x.
|
|
15
|
+
.include((x) => [x.addresses, x.items, x.emails, x.phones, x.hostedDomain])
|
|
16
16
|
.firstOrDefault();
|
|
17
17
|
}
|
|
18
18
|
|