@social-mail/social-mail-web-server 1.5.297 → 1.5.298

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.
@@ -0,0 +1,8 @@
1
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
2
+ export declare const EmojiDateParser: {
3
+ parse(subject: string): {
4
+ date: DateTime;
5
+ subject: string;
6
+ };
7
+ };
8
+ //# sourceMappingURL=EmojiDateParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiDateParser.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/EmojiDateParser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,eAAO,MAAM,eAAe;mBACT,MAAM;;;;CA8BxB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
2
+ export const EmojiDateParser = {
3
+ parse(subject) {
4
+ const regex = /^\u{1F4C5}:(\d{4})-([a-z]{3,})-(\d{2})/gmui;
5
+ const [matched, year, monthName, day] = regex.exec(subject.trimStart()) ?? [];
6
+ if (!matched) {
7
+ return;
8
+ }
9
+ const m = monthName.toLowerCase().substring(0, 3);
10
+ const month = {
11
+ jan: 0, feb: 1, mar: 2, apr: 3,
12
+ may: 4, jun: 5, jul: 6, aug: 7,
13
+ sep: 8, oct: 9, nov: 10, dec: 11
14
+ }[m];
15
+ const date = DateTime.from(new Date(parseInt(year, 10), month, parseInt(day, 10)));
16
+ subject = subject.substring(matched.length).replace(/^[\s\-]+/g, "");
17
+ return {
18
+ date,
19
+ subject
20
+ };
21
+ }
22
+ };
23
+ //# sourceMappingURL=EmojiDateParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiDateParser.js","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/EmojiDateParser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,KAAK,CAAC,OAAe;QACjB,MAAM,KAAK,GAAG,4CAA4C,CAAC;QAC3D,MAAM,CAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;QAEhF,IAAG,CAAC,OAAO,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG;YACV,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9B,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9B,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;SACnC,CAAC,CAAC,CAAC,CAAC;QAEL,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CACtB,IAAI,IAAI,CACJ,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAClB,KAAK,EACL,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,CACJ,CAAC;QAEF,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAErE,OAAO;YACH,IAAI;YACJ,OAAO;SACV,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostReceiveWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AAEnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAExE,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAInE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAG7F,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAK/D,MAAM,WAAW,wBAAwB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC;AAClH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,QAAQ,CAAC,wBAAwB,CAAC;IAE/E,MAAM,CAAC,SAAS,SAAY;WAEd,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,GAAE,QAAuB;IAQpG,GAAG;IAKH,eAAe,CACT,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,mBAAmB,EACzB,GAAG,CAAC,EAAE,eAAe,EACrB,cAAc,CAAC,EAAE,cAAc;CAsH9C"}
1
+ {"version":3,"file":"PostReceiveWorkflow.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,QAA4B,MAAM,yDAAyD,CAAC;AAEnG,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AAExE,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAInE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAG7F,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAM/D,MAAM,WAAW,wBAAwB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC;AAClH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,QAAQ,CAAC,wBAAwB,CAAC;IAE/E,MAAM,CAAC,SAAS,SAAY;WAEd,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,GAAE,QAAuB;IAQpG,GAAG;IAKH,eAAe,CACT,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,mBAAmB,EACzB,GAAG,CAAC,EAAE,eAAe,EACrB,cAAc,CAAC,EAAE,cAAc;CA8I9C"}
@@ -24,6 +24,7 @@ import MailboxNamespace from "../../services/socket/rooms/MailboxNamespace.js";
24
24
  import TempFileService from "../../storage/TempFileService.js";
25
25
  import Calendar from "@social-mail/shared/dist/ical-parser/Calender.js";
26
26
  import { AppStringHelper } from "../../../common/AppStringHelper.js";
27
+ import { EmojiDateParser } from "./EmojiDateParser.js";
27
28
  class PostReceiveWorkflow extends Workflow {
28
29
  static queue(context, args, eta = DateTime.now) {
29
30
  const { senderID, emailID, recipientID } = args;
@@ -47,6 +48,7 @@ class PostReceiveWorkflow extends Workflow {
47
48
  return;
48
49
  }
49
50
  const isHostedChannelID = await eas.isHostedChannelID(recipientID);
51
+ let setupEvent = null;
50
52
  if (ne.engagement) {
51
53
  await db.mailboxes.where(this.input, (p) => (x) => x.mailboxID === p.recipientID)
52
54
  .update(void 0, (p) => (x) => ({
@@ -63,6 +65,13 @@ class PostReceiveWorkflow extends Workflow {
63
65
  case "❌":
64
66
  case "📈":
65
67
  return;
68
+ case "📅":
69
+ if (!isHostedChannelID) {
70
+ return;
71
+ }
72
+ const email = await db.emails.statements.select({}, { emailID });
73
+ setupEvent = EmojiDateParser.parse(email.subject);
74
+ break;
66
75
  case "➕":
67
76
  if (isHostedChannelID) {
68
77
  await BroadcastEmail.broadcast(this.context, {
@@ -106,23 +115,38 @@ class PostReceiveWorkflow extends Workflow {
106
115
  if (!mc || !(mc.canContribute || mc.isOwner)) {
107
116
  return;
108
117
  }
109
- // Has event attachment?
110
- const calendarAttachments = await db.appFiles.where(this.input, (p) => (x) => x.emailID === p.emailID && x.contentType === "text/calendar")
111
- .include((x) => x.fileContent)
112
- .toArray();
113
- for (const file of calendarAttachments) {
114
- const localFile = await tfs.downloadAppFile(file);
115
- const events = await Calendar.parse(await localFile.readAsText());
116
- for (const e of events.events) {
117
- await db.mailboxContactEvents.statements.insert({
118
- mailboxID: recipientID,
119
- emailAddressID: senderID,
120
- emailID,
121
- startDate: e.startDate,
122
- endDate: e.endDate,
123
- title: AppStringHelper.left(e.summary, 200),
124
- location: AppStringHelper.left(e.location, 400)
125
- });
118
+ if (setupEvent) {
119
+ const { subject, date } = setupEvent;
120
+ await db.emails.statements.update({ subject }, { emailID });
121
+ await db.mailboxContactEvents.statements.insert({
122
+ mailboxID: recipientID,
123
+ emailAddressID: senderID,
124
+ emailID,
125
+ startDate: date,
126
+ endDate: date,
127
+ title: subject,
128
+ location: ""
129
+ });
130
+ }
131
+ else {
132
+ // Has event attachment?
133
+ const calendarAttachments = await db.appFiles.where(this.input, (p) => (x) => x.emailID === p.emailID && x.contentType === "text/calendar")
134
+ .include((x) => x.fileContent)
135
+ .toArray();
136
+ for (const file of calendarAttachments) {
137
+ const localFile = await tfs.downloadAppFile(file);
138
+ const events = await Calendar.parse(await localFile.readAsText());
139
+ for (const e of events.events) {
140
+ await db.mailboxContactEvents.statements.insert({
141
+ mailboxID: recipientID,
142
+ emailAddressID: senderID,
143
+ emailID,
144
+ startDate: e.startDate,
145
+ endDate: e.endDate,
146
+ title: AppStringHelper.left(e.summary, 200),
147
+ location: AppStringHelper.left(e.location, 400)
148
+ });
149
+ }
126
150
  }
127
151
  }
128
152
  await BroadcastEmail.broadcast(this.context, {
@@ -1 +1 @@
1
- {"version":3,"file":"PostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":"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"}