@social-mail/social-mail-client 1.0.37 → 1.0.39

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 (29) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +57 -28
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +4 -4
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/model/model.js +24 -24
  6. package/dist/model/model.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/dist/web/AppIndex.pack.js +57 -28
  9. package/dist/web/AppIndex.pack.js.map +1 -1
  10. package/dist/web/AppIndex.pack.min.js +4 -4
  11. package/dist/web/AppIndex.pack.min.js.map +1 -1
  12. package/dist/web/page/mails/ConversationPage.js +1 -1
  13. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  14. package/dist/web/page/mails/service/ConversationService.js +17 -2
  15. package/dist/web/page/mails/service/ConversationService.js.map +1 -1
  16. package/node_modules/@web-atoms/entity/dist/models/IClrEntity.d.ts +1 -0
  17. package/node_modules/@web-atoms/entity/dist/models/IClrEntity.d.ts.map +1 -1
  18. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts +7 -4
  19. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts.map +1 -1
  20. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js +15 -1
  21. package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js.map +1 -1
  22. package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
  23. package/node_modules/@web-atoms/entity/package.json +1 -1
  24. package/node_modules/@web-atoms/entity/src/models/IClrEntity.ts +2 -0
  25. package/node_modules/@web-atoms/entity/src/services/BaseEntityService.ts +25 -4
  26. package/package.json +2 -2
  27. package/src/model/model.ts +24 -24
  28. package/src/web/page/mails/ConversationPage.tsx +1 -1
  29. package/src/web/page/mails/service/ConversationService.tsx +11 -0
@@ -7,7 +7,7 @@ export interface IAppRole extends IClrEntity {
7
7
  roles?: ICollection<IUserRole>;
8
8
  }
9
9
 
10
- export const AppRole: IModel<IAppRole> = new Model<IAppRole>("AppRole", { roleName: "" });
10
+ export const AppRole: IModel<IAppRole> = new Model<IAppRole>("AppRole", ["roleName"], { roleName: "" });
11
11
 
12
12
  export interface IAppFile extends IClrEntity {
13
13
  readonly appFileID?: number;
@@ -35,7 +35,7 @@ export interface IAppFile extends IClrEntity {
35
35
 
36
36
  export const AppFileContentDispositionArray = [{"label":"attachment","value":"attachment"},{"label":"inline","value":"inline"}];
37
37
 
38
- export const AppFile: IModel<IAppFile> = new Model<IAppFile>("AppFile", { isFolder: false,folder: "",name: "",fileSize: 0,contentType: "" });
38
+ export const AppFile: IModel<IAppFile> = new Model<IAppFile>("AppFile", ["appFileID"], { isFolder: false,folder: "",name: "",fileSize: 0,contentType: "" });
39
39
 
40
40
  export interface IAppFileTag extends IClrEntity {
41
41
  appFileID?: number;
@@ -44,7 +44,7 @@ export interface IAppFileTag extends IClrEntity {
44
44
  tag?: ITag;
45
45
  }
46
46
 
47
- export const AppFileTag: IModel<IAppFileTag> = new Model<IAppFileTag>("AppFileTag", { appFileID: 0,tagID: 0 });
47
+ export const AppFileTag: IModel<IAppFileTag> = new Model<IAppFileTag>("AppFileTag", ["appFileID","tagID"], { appFileID: 0,tagID: 0 });
48
48
 
49
49
  export interface IFileContent extends IClrEntity {
50
50
  readonly fileContentID?: number;
@@ -55,14 +55,14 @@ export interface IFileContent extends IClrEntity {
55
55
  appFiles?: ICollection<IAppFile>;
56
56
  }
57
57
 
58
- export const FileContent: IModel<IFileContent> = new Model<IFileContent>("FileContent", { contentHash: "",contentType: "",contentSize: 0 });
58
+ export const FileContent: IModel<IFileContent> = new Model<IFileContent>("FileContent", ["fileContentID"], { contentHash: "",contentType: "",contentSize: 0 });
59
59
 
60
60
  export interface IConfiguration extends IClrEntity {
61
61
  name?: string;
62
62
  configValue?: string;
63
63
  }
64
64
 
65
- export const Configuration: IModel<IConfiguration> = new Model<IConfiguration>("Configuration", { name: "",configValue: "" });
65
+ export const Configuration: IModel<IConfiguration> = new Model<IConfiguration>("Configuration", ["name"], { name: "",configValue: "" });
66
66
 
67
67
  export interface IDomain extends IClrEntity {
68
68
  readonly domainID?: number;
@@ -71,7 +71,7 @@ export interface IDomain extends IClrEntity {
71
71
  hostedDomain?: IHostedDomain;
72
72
  }
73
73
 
74
- export const Domain: IModel<IDomain> = new Model<IDomain>("Domain", { name: "" });
74
+ export const Domain: IModel<IDomain> = new Model<IDomain>("Domain", ["domainID"], { name: "" });
75
75
 
76
76
  export interface IHostedDomain extends IClrEntity {
77
77
  domainID?: number;
@@ -88,7 +88,7 @@ export interface IHostedDomain extends IClrEntity {
88
88
  mailboxes?: ICollection<IMailbox>;
89
89
  }
90
90
 
91
- export const HostedDomain: IModel<IHostedDomain> = new Model<IHostedDomain>("HostedDomain", { domainID: 0,enableReceive: false,enableSend: false,useRelay: false });
91
+ export const HostedDomain: IModel<IHostedDomain> = new Model<IHostedDomain>("HostedDomain", ["domainID"], { domainID: 0,enableReceive: false,enableSend: false,useRelay: false });
92
92
 
93
93
  export interface IDomainUser extends IClrEntity {
94
94
  domainID?: number;
@@ -100,7 +100,7 @@ export interface IDomainUser extends IClrEntity {
100
100
  user?: IUser;
101
101
  }
102
102
 
103
- export const DomainUser: IModel<IDomainUser> = new Model<IDomainUser>("DomainUser", { domainID: 0,userID: 0,isAdmin: false,allowCreateMailbox: false });
103
+ export const DomainUser: IModel<IDomainUser> = new Model<IDomainUser>("DomainUser", ["domainID","userID"], { domainID: 0,userID: 0,isAdmin: false,allowCreateMailbox: false });
104
104
 
105
105
  export interface IDomainRelay extends IClrEntity {
106
106
  readonly domainRelayID?: number;
@@ -116,7 +116,7 @@ export interface IDomainRelay extends IClrEntity {
116
116
 
117
117
  export const DomainRelayTypeArray = [{"label":"smtp","value":"smtp"},{"label":"ses","value":"ses"},{"label":"https","value":"https"}];
118
118
 
119
- export const DomainRelay: IModel<IDomainRelay> = new Model<IDomainRelay>("DomainRelay", { domainID: 0,type: "smtp",host: "",username: "",password: "",priority: 0 });
119
+ export const DomainRelay: IModel<IDomainRelay> = new Model<IDomainRelay>("DomainRelay", ["domainRelayID"], { domainID: 0,type: "smtp",host: "",username: "",password: "",priority: 0 });
120
120
 
121
121
  export interface IDomainKey extends IClrEntity {
122
122
  readonly domainKeyID?: number;
@@ -127,7 +127,7 @@ export interface IDomainKey extends IClrEntity {
127
127
  domain?: IHostedDomain;
128
128
  }
129
129
 
130
- export const DomainKey: IModel<IDomainKey> = new Model<IDomainKey>("DomainKey", { name: "",keyType: "",publicKey: "",domainID: 0 });
130
+ export const DomainKey: IModel<IDomainKey> = new Model<IDomainKey>("DomainKey", ["domainKeyID"], { name: "",keyType: "",publicKey: "",domainID: 0 });
131
131
 
132
132
  export interface IEmail extends IClrEntity {
133
133
  readonly emailID?: number;
@@ -166,7 +166,7 @@ export interface IEmail extends IClrEntity {
166
166
 
167
167
  export const EmailStatusArray = [{"label":"queued","value":"queued"},{"label":"received","value":"received"},{"label":"draft","value":"draft"},{"label":"pending-approval","value":"pending-approval"},{"label":"scheduled","value":"scheduled"},{"label":"sent","value":"sent"},{"label":"sent-failed","value":"sent-failed"}];
168
168
 
169
- export const Email: IModel<IEmail> = new Model<IEmail>("Email", { senderName: "",senderID: 0,received: false,dateReceived: new DateTime(),dateCreated: new DateTime(),status: "queued" });
169
+ export const Email: IModel<IEmail> = new Model<IEmail>("Email", ["emailID"], { senderName: "",senderID: 0,received: false,dateReceived: new DateTime(),dateCreated: new DateTime(),status: "queued" });
170
170
 
171
171
  export interface IEmailRecipient extends IClrEntity {
172
172
  emailID?: number;
@@ -183,7 +183,7 @@ export interface IEmailRecipient extends IClrEntity {
183
183
 
184
184
  export const EmailRecipientTypeArray = [{"label":"from","value":"from"},{"label":"to","value":"to"},{"label":"cc","value":"cc"},{"label":"bcc","value":"bcc"},{"label":"viewer","value":"viewer"},{"label":"editor","value":"editor"}];
185
185
 
186
- export const EmailRecipient: IModel<IEmailRecipient> = new Model<IEmailRecipient>("EmailRecipient", { emailID: 0,emailAddressID: 0,type: "from" });
186
+ export const EmailRecipient: IModel<IEmailRecipient> = new Model<IEmailRecipient>("EmailRecipient", ["emailID","emailAddressID"], { emailID: 0,emailAddressID: 0,type: "from" });
187
187
 
188
188
  export interface IEmailTag extends IClrEntity {
189
189
  emailID?: number;
@@ -192,7 +192,7 @@ export interface IEmailTag extends IClrEntity {
192
192
  tag?: ITag;
193
193
  }
194
194
 
195
- export const EmailTag: IModel<IEmailTag> = new Model<IEmailTag>("EmailTag", { emailID: 0,tagID: 0 });
195
+ export const EmailTag: IModel<IEmailTag> = new Model<IEmailTag>("EmailTag", ["emailID","tagID"], { emailID: 0,tagID: 0 });
196
196
 
197
197
  export interface IEmailAddress extends IClrEntity {
198
198
  readonly emailAddressID?: number;
@@ -206,7 +206,7 @@ export interface IEmailAddress extends IClrEntity {
206
206
  threads?: ICollection<IMailboxThread>;
207
207
  }
208
208
 
209
- export const EmailAddress: IModel<IEmailAddress> = new Model<IEmailAddress>("EmailAddress", { emailAddress: "",domainID: 0,name: "" });
209
+ export const EmailAddress: IModel<IEmailAddress> = new Model<IEmailAddress>("EmailAddress", ["emailAddressID"], { emailAddress: "",domainID: 0,name: "" });
210
210
 
211
211
  export interface IMailbox extends IClrEntity {
212
212
  mailboxID?: number;
@@ -223,7 +223,7 @@ export interface IMailbox extends IClrEntity {
223
223
  userMailboxes?: ICollection<IUserMailbox>;
224
224
  }
225
225
 
226
- export const Mailbox: IModel<IMailbox> = new Model<IMailbox>("Mailbox", { mailboxID: 0,domainID: 0,storage: 0,maxStorage: 0 });
226
+ export const Mailbox: IModel<IMailbox> = new Model<IMailbox>("Mailbox", ["mailboxID"], { mailboxID: 0,domainID: 0,storage: 0,maxStorage: 0 });
227
227
 
228
228
  export interface IMailboxEmail extends IClrEntity {
229
229
  mailboxID?: number;
@@ -232,7 +232,7 @@ export interface IMailboxEmail extends IClrEntity {
232
232
  email?: IEmail;
233
233
  }
234
234
 
235
- export const MailboxEmail: IModel<IMailboxEmail> = new Model<IMailboxEmail>("MailboxEmail", { mailboxID: 0,emailID: 0 });
235
+ export const MailboxEmail: IModel<IMailboxEmail> = new Model<IMailboxEmail>("MailboxEmail", ["mailboxID","emailID"], { mailboxID: 0,emailID: 0 });
236
236
 
237
237
  export interface IMailboxThread extends IClrEntity {
238
238
  mailboxID?: number;
@@ -246,7 +246,7 @@ export interface IMailboxThread extends IClrEntity {
246
246
  lastEmail?: IEmail;
247
247
  }
248
248
 
249
- export const MailboxThread: IModel<IMailboxThread> = new Model<IMailboxThread>("MailboxThread", { mailboxID: 0,emailAddressID: 0,lastEmailID: 0,dateUpdated: new DateTime(),unread: 0,total: 0 });
249
+ export const MailboxThread: IModel<IMailboxThread> = new Model<IMailboxThread>("MailboxThread", ["mailboxID","emailAddressID"], { mailboxID: 0,emailAddressID: 0,lastEmailID: 0,dateUpdated: new DateTime(),unread: 0,total: 0 });
250
250
 
251
251
  export interface IMailboxThreadEmail extends IClrEntity {
252
252
  mailboxID?: number;
@@ -256,7 +256,7 @@ export interface IMailboxThreadEmail extends IClrEntity {
256
256
  email?: IEmail;
257
257
  }
258
258
 
259
- export const MailboxThreadEmail: IModel<IMailboxThreadEmail> = new Model<IMailboxThreadEmail>("MailboxThreadEmail", { mailboxID: 0,emailAddressID: 0,emailID: 0 });
259
+ export const MailboxThreadEmail: IModel<IMailboxThreadEmail> = new Model<IMailboxThreadEmail>("MailboxThreadEmail", ["mailboxID","emailAddressID","emailID"], { mailboxID: 0,emailAddressID: 0,emailID: 0 });
260
260
 
261
261
  export interface IUser extends IClrEntity {
262
262
  readonly userID?: number;
@@ -274,7 +274,7 @@ export interface IUser extends IClrEntity {
274
274
  sessions?: ICollection<ILoginSession>;
275
275
  }
276
276
 
277
- export const User: IModel<IUser> = new Model<IUser>("User", { userName: "",displayName: "",multiFactor: false,dateUpdated: new DateTime() });
277
+ export const User: IModel<IUser> = new Model<IUser>("User", ["userID"], { userName: "",displayName: "",multiFactor: false,dateUpdated: new DateTime() });
278
278
 
279
279
  export interface IUserRole extends IClrEntity {
280
280
  userID?: number;
@@ -283,7 +283,7 @@ export interface IUserRole extends IClrEntity {
283
283
  role?: IAppRole;
284
284
  }
285
285
 
286
- export const UserRole: IModel<IUserRole> = new Model<IUserRole>("UserRole", { userID: 0,roleName: "" });
286
+ export const UserRole: IModel<IUserRole> = new Model<IUserRole>("UserRole", ["userID","roleName"], { userID: 0,roleName: "" });
287
287
 
288
288
  export interface IUserMailbox extends IClrEntity {
289
289
  userID?: number;
@@ -292,7 +292,7 @@ export interface IUserMailbox extends IClrEntity {
292
292
  mailbox?: IMailbox;
293
293
  }
294
294
 
295
- export const UserMailbox: IModel<IUserMailbox> = new Model<IUserMailbox>("UserMailbox", { userID: 0,mailboxID: 0 });
295
+ export const UserMailbox: IModel<IUserMailbox> = new Model<IUserMailbox>("UserMailbox", ["userID","mailboxID"], { userID: 0,mailboxID: 0 });
296
296
 
297
297
  export interface IUserAuthFactor extends IClrEntity {
298
298
  readonly authFactorID?: number;
@@ -309,7 +309,7 @@ export interface IUserAuthFactor extends IClrEntity {
309
309
 
310
310
  export const UserAuthFactorMethodArray = [{"label":"totp","value":"totp"},{"label":"hotp","value":"hotp"},{"label":"fido2","value":"fido2"},{"label":"one-time","value":"one-time"}];
311
311
 
312
- export const UserAuthFactor: IModel<IUserAuthFactor> = new Model<IUserAuthFactor>("UserAuthFactor", { userID: 0,method: "totp",verified: false,dateUpdated: new DateTime() });
312
+ export const UserAuthFactor: IModel<IUserAuthFactor> = new Model<IUserAuthFactor>("UserAuthFactor", ["authFactorID"], { userID: 0,method: "totp",verified: false,dateUpdated: new DateTime() });
313
313
 
314
314
  export interface ILoginSession extends IClrEntity {
315
315
  readonly sessionID?: number;
@@ -325,7 +325,7 @@ export interface ILoginSession extends IClrEntity {
325
325
  user?: IUser;
326
326
  }
327
327
 
328
- export const LoginSession: IModel<ILoginSession> = new Model<ILoginSession>("LoginSession", { userID: 0,invalid: false,dateUpdated: new DateTime() });
328
+ export const LoginSession: IModel<ILoginSession> = new Model<ILoginSession>("LoginSession", ["sessionID"], { userID: 0,invalid: false,dateUpdated: new DateTime() });
329
329
 
330
330
  export interface ITag extends IClrEntity {
331
331
  readonly tagID?: number;
@@ -340,4 +340,4 @@ export interface ITag extends IClrEntity {
340
340
  emailTags?: ICollection<IEmailTag>;
341
341
  }
342
342
 
343
- export const Tag: IModel<ITag> = new Model<ITag>("Tag", { name: "",isSystemTag: false });
343
+ export const Tag: IModel<ITag> = new Model<ITag>("Tag", ["tagID"], { name: "",isSystemTag: false });
@@ -72,7 +72,7 @@ export default class ConversationPage extends ContentPage {
72
72
  (c, e, cancelToken) =>
73
73
  this.conversationService.list({
74
74
  start,
75
- size: 200,
75
+ size: 10,
76
76
  search: this.search,
77
77
  mailboxID: mb.mailboxID,
78
78
  emailAddressID: mb.emailAddressID,
@@ -7,6 +7,7 @@ import DomToString from "@web-atoms/email-dom/dist/DomToString";
7
7
  import XNode from "@web-atoms/core/dist/core/XNode";
8
8
  import { AtomControl } from "@web-atoms/core/dist/web/controls/AtomControl";
9
9
  import { descendentElementIterator} from "@web-atoms/core/dist/web/core/AtomUI";
10
+ import DateTime from "@web-atoms/date-time/dist/DateTime";
10
11
 
11
12
  export const renderMail = AtomControl.registerProperty("data-html", "html", (c, e, value) => {
12
13
  if (!value) {
@@ -43,6 +44,16 @@ export const renderMail = AtomControl.registerProperty("data-html", "html", (c,
43
44
  }
44
45
  }
45
46
  e.appendChild(msg);
47
+ if (!mail.timeRead) {
48
+ const timeRead = DateTime.utcNow;
49
+ mail.timeRead = timeRead;
50
+ const control = AtomControl.from(e);
51
+ const entityService = control.app.resolve(EntityService);
52
+ const { emailID } = mail;
53
+ entityService.save(Email.patch(mail, {
54
+ timeRead
55
+ })).catch(console.error);
56
+ }
46
57
  return;
47
58
  });
48
59