@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.
Files changed (41) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +23 -381
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +6 -6
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/pages/mailboxes/MailboxEditorPage.js +1 -1
  6. package/dist/common/pages/mailboxes/MailboxEditorPage.js.map +1 -1
  7. package/dist/common/pages/mailboxes/services/ExternalMailboxService.d.ts +0 -3
  8. package/dist/common/pages/mailboxes/services/ExternalMailboxService.d.ts.map +1 -1
  9. package/dist/common/pages/mailboxes/services/ExternalMailboxService.js +2 -34
  10. package/dist/common/pages/mailboxes/services/ExternalMailboxService.js.map +1 -1
  11. package/dist/common/pages/mailboxes/services/MailboxService.d.ts.map +1 -1
  12. package/dist/common/pages/mailboxes/services/MailboxService.js +2 -5
  13. package/dist/common/pages/mailboxes/services/MailboxService.js.map +1 -1
  14. package/dist/common/pages/websites/blogs/LookupChannelPage.js +1 -1
  15. package/dist/common/pages/websites/blogs/LookupChannelPage.js.map +1 -1
  16. package/dist/model/model.d.ts +7 -75
  17. package/dist/model/model.d.ts.map +1 -1
  18. package/dist/model/model.js +16 -339
  19. package/dist/model/model.js.map +1 -1
  20. package/dist/public/channel/ChannelView.pack.js +16 -339
  21. package/dist/public/channel/ChannelView.pack.js.map +1 -1
  22. package/dist/public/channel/ChannelView.pack.min.js +1 -1
  23. package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
  24. package/dist/public/store/Store.pack.js +16 -339
  25. package/dist/public/store/Store.pack.js.map +1 -1
  26. package/dist/public/store/Store.pack.min.js +1 -1
  27. package/dist/public/store/Store.pack.min.js.map +1 -1
  28. package/dist/services/contacts/ContactService.js +1 -1
  29. package/dist/services/contacts/ContactService.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/web/AppIndex.pack.js +23 -381
  32. package/dist/web/AppIndex.pack.js.map +1 -1
  33. package/dist/web/AppIndex.pack.min.js +5 -5
  34. package/dist/web/AppIndex.pack.min.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/common/pages/mailboxes/MailboxEditorPage.tsx +1 -1
  37. package/src/common/pages/mailboxes/services/ExternalMailboxService.ts +1 -32
  38. package/src/common/pages/mailboxes/services/MailboxService.ts +2 -5
  39. package/src/common/pages/websites/blogs/LookupChannelPage.tsx +1 -1
  40. package/src/model/model.ts +16 -114
  41. package/src/services/contacts/ContactService.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-client",
3
- "version": "1.2.333",
3
+ "version": "1.2.334",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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.domain.name}`)}/>
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
- domainID: hd.domainID,
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
- let q = this.entityService.query(HostedDomain);
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.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.domain.name, p.search) );
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
  }
@@ -211,7 +211,7 @@ export interface IContact extends IClrEntity {
211
211
  shippingAddressID?: number | null;
212
212
  user?: IUser;
213
213
  mailbox?: IMailbox;
214
- domain?: IHostedDomain;
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":"domain","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"}]}
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,external: 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":"external","type":"boolean","default":["external","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":"mailboxes","isCollection":true,"isInverse":true,"relatedName":"Mailbox"},{"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"}]}
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
- domain?: IHostedDomain;
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":"domain","fkMap":[{"fk":"domainID","relatedKey":"domainID"}],"relatedName":"HostedDomain"}]}
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
- domain?: IHostedDomain;
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":"domain","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"}]}
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?: IHostedDomain;
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":"HostedDomain"},{"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"}]}
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.domain])
15
+ .include((x) => [x.addresses, x.items, x.emails, x.phones, x.hostedDomain])
16
16
  .firstOrDefault();
17
17
  }
18
18