@social-mail/social-mail-web-server 1.5.342 → 1.5.344
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/protocols/core/RegExpExtra.d.ts +1 -0
- package/dist/protocols/core/RegExpExtra.d.ts.map +1 -1
- package/dist/protocols/core/RegExpExtra.js +14 -0
- package/dist/protocols/core/RegExpExtra.js.map +1 -1
- package/dist/protocols/core/tokenizer.d.ts.map +1 -1
- package/dist/protocols/core/tokenizer.js +24 -15
- package/dist/protocols/core/tokenizer.js.map +1 -1
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/workflows/post-receive/PostReceiveWorkflow.d.ts +1 -0
- package/dist/server/workflows/post-receive/PostReceiveWorkflow.d.ts.map +1 -1
- package/dist/server/workflows/post-receive/PostReceiveWorkflow.js +38 -0
- package/dist/server/workflows/post-receive/PostReceiveWorkflow.js.map +1 -1
- package/dist/server/workflows/web-hooks/IInvocation.d.ts +2 -2
- package/dist/server/workflows/web-hooks/IInvocation.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/social-mail/cc/[postID]/index.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/cc/[postID]/index.js +3 -14
- package/dist/wwwroot/routes/social-mail/cc/[postID]/index.js.map +1 -1
- package/package.json +1 -1
- package/src/protocols/core/RegExpExtra.ts +18 -0
- package/src/protocols/core/tokenizer.ts +24 -15
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/workflows/post-receive/PostReceiveWorkflow.ts +37 -0
- package/src/server/workflows/web-hooks/IInvocation.ts +2 -2
- package/src/wwwroot/routes/social-mail/cc/[postID]/index.ts +3 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegExpExtra.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/RegExpExtra.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,WAAW;qBAEH,MAAM,UAAU,MAAM,eAAe,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM;
|
|
1
|
+
{"version":3,"file":"RegExpExtra.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/RegExpExtra.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,WAAW;qBAEH,MAAM,UAAU,MAAM,eAAe,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM;+BAQzD,MAAM;CAkBpC,CAAC"}
|
|
@@ -6,6 +6,20 @@ export const RegExpExtra = {
|
|
|
6
6
|
r += transformer(token);
|
|
7
7
|
}
|
|
8
8
|
return r;
|
|
9
|
+
},
|
|
10
|
+
replaceTimeAndEmail(input) {
|
|
11
|
+
return RegExpExtra.replaceAll(input, /(([^@\s,;]+@)|([📅📆📆]:\s*\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+Z))/gui, ({ text, match }) => {
|
|
12
|
+
if (text) {
|
|
13
|
+
return text;
|
|
14
|
+
}
|
|
15
|
+
const m = match[1];
|
|
16
|
+
const date = match[3];
|
|
17
|
+
if (date) {
|
|
18
|
+
return `<time datetime="${date}">${m}</time>`;
|
|
19
|
+
}
|
|
20
|
+
const t = (m[0].padEnd(m.length, "*") + "@");
|
|
21
|
+
return t;
|
|
22
|
+
});
|
|
9
23
|
}
|
|
10
24
|
};
|
|
11
25
|
//# sourceMappingURL=RegExpExtra.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegExpExtra.js","sourceRoot":"","sources":["../../../src/protocols/core/RegExpExtra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,CAAC,MAAM,WAAW,GAAG;IAEvB,UAAU,CAAC,IAAY,EAAE,MAAc,EAAE,WAA2C;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAI,MAAM,KAAK,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAChD,CAAC,IAAI,WAAW,CAAC,KAAY,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;CAEJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"RegExpExtra.js","sourceRoot":"","sources":["../../../src/protocols/core/RegExpExtra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,CAAC,MAAM,WAAW,GAAG;IAEvB,UAAU,CAAC,IAAY,EAAE,MAAc,EAAE,WAA2C;QAChF,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAI,MAAM,KAAK,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAChD,CAAC,IAAI,WAAW,CAAC,KAAY,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,OAAO,WAAW,CAAC,UAAU,CACzB,KAAK,EACL,2EAA2E,EAC3E,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAChB,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,mBAAmB,IAAI,KAAK,CAAC,SAAS,CAAC;YAClD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7C,OAAO,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;CAEJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,wBAAiB,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oCAcnD;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAA0B,SAoBnF;AAED,wBAAiB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6CAczD;AAED,wBAAiB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,wBAAiB,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,oCAcnD;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAA0B,SAoBnF;AAED,wBAAiB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,6CAczD;AAED,wBAAiB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;;;kBAgC5D;AAED,wBAAiB,cAAc,CAAC,IAAI,EAAE,MAAM,oCAa3C"}
|
|
@@ -56,24 +56,33 @@ export function* tokenizeRegexAll(text, regex) {
|
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
58
|
regex.lastIndex = 0;
|
|
59
|
-
let m;
|
|
60
59
|
let start = 0;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
regex.lastIndex++;
|
|
60
|
+
for (const m of text.matchAll(regex)) {
|
|
61
|
+
if (start < m.index) {
|
|
62
|
+
yield { text: text.substring(start, m.index) };
|
|
65
63
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
yield { text: text.substring(start, m.index) };
|
|
69
|
-
}
|
|
70
|
-
yield { match: m };
|
|
71
|
-
start = m.index + m[0].length;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (start < text.length) {
|
|
75
|
-
yield { text: text.substring(start) };
|
|
64
|
+
yield { match: m };
|
|
65
|
+
start = m.index + m.length;
|
|
76
66
|
}
|
|
67
|
+
// let m;
|
|
68
|
+
// let start = 0;
|
|
69
|
+
// while((m = regex.exec(text)) !== null) {
|
|
70
|
+
// const { lastIndex } = regex;
|
|
71
|
+
// if (m.index === lastIndex) {
|
|
72
|
+
// regex.lastIndex++;
|
|
73
|
+
// }
|
|
74
|
+
// if (!m?.length) {
|
|
75
|
+
// break;
|
|
76
|
+
// }
|
|
77
|
+
// if (start < m.index) {
|
|
78
|
+
// yield { text: text.substring(start, m.index)};
|
|
79
|
+
// }
|
|
80
|
+
// yield { match: m as RegExpExecArray };
|
|
81
|
+
// start = m.index + m[0].length;
|
|
82
|
+
// }
|
|
83
|
+
// if (start < text.length) {
|
|
84
|
+
// yield { text: text.substring(start) };
|
|
85
|
+
// }
|
|
77
86
|
}
|
|
78
87
|
export function* tokenizeCssUrl(html) {
|
|
79
88
|
const set = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,SAAU,CAAC,CAAA,QAAQ,CAAE,IAAY,EAAE,GAAW;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAAA,CAAC;AAGF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM;QACV,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,SAAU,CAAC,CAAA,aAAa,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,CAAC;IACN,OAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YACZ,MAAM,CAAoB,CAAC;QAC/B,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,SAAU,CAAC,CAAA,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/protocols/core/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,SAAU,CAAC,CAAA,QAAQ,CAAE,IAAY,EAAE,GAAW;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAAA,CAAC;AAGF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,GAAW,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB;IAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,GAAG,EAAE,CAAC;IACN,SAAQ,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACzC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAClB,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM;QACV,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACjB,CAAC;AAAA,CAAC;AAEF,MAAM,SAAU,CAAC,CAAA,aAAa,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,CAAC;IACN,OAAM,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YACZ,MAAM,CAAoB,CAAC;QAC/B,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,SAAU,CAAC,CAAA,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC;QAClD,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnB,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,SAAS;IACT,iBAAiB;IACjB,2CAA2C;IAC3C,mCAAmC;IACnC,mCAAmC;IACnC,6BAA6B;IAC7B,QAAQ;IACR,wBAAwB;IACxB,iBAAiB;IACjB,QAAQ;IACR,6BAA6B;IAC7B,yDAAyD;IACzD,QAAQ;IACR,6CAA6C;IAC7C,qCAAqC;IACrC,IAAI;IACJ,6BAA6B;IAC7B,6CAA6C;IAC7C,IAAI;AACR,CAAC;AAED,MAAM,SAAU,CAAC,CAAA,cAAc,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAI,MAAM,KAAK,IAAI,aAAa,CAAC,IAAI,EAAE,gDAAgD,CAAC,EAAE,CAAC;QACvF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,SAAS;QACb,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,SAAS;QACb,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIPackageConfig } from "../../services/DBConfig.js";
|
|
2
2
|
import semver from "semver";
|
|
3
3
|
export default async function seedUI(config) {
|
|
4
|
-
const version = "1.2.
|
|
4
|
+
const version = "1.2.716";
|
|
5
5
|
const existing = await config.getValue(UIPackageConfig, false);
|
|
6
6
|
if (existing) {
|
|
7
7
|
if (semver.gte(existing.version, version)) {
|
|
@@ -16,6 +16,7 @@ export default class PostReceiveWorkflow extends Workflow<IPostReceiveWorkflowAr
|
|
|
16
16
|
static taskGroup: string;
|
|
17
17
|
static queue(context: WorkflowContext, args: IPostReceiveWorkflowArgs, eta?: DateTime): Promise<string>;
|
|
18
18
|
run(): Promise<void>;
|
|
19
|
+
queueWebHooks(db?: SocialMailContext): Promise<void>;
|
|
19
20
|
dispatchChannel(db?: SocialMailContext, eas?: EmailAddressService, tfs?: TempFileService, channelService?: ChannelService, ces?: CachedEmailService): Promise<void>;
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=PostReceiveWorkflow.d.ts.map
|
|
@@ -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,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;
|
|
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,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAG3E,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;IAMH,aAAa,CACP,EAAE,CAAC,EAAE,iBAAiB;IAkC5B,eAAe,CACT,EAAE,CAAC,EAAE,iBAAiB,EACtB,GAAG,CAAC,EAAE,mBAAmB,EACzB,GAAG,CAAC,EAAE,eAAe,EACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,GAAG,CAAC,EAAE,kBAAkB;CAuIvC"}
|
|
@@ -26,6 +26,7 @@ import Calendar from "@social-mail/shared/dist/ical-parser/Calender.js";
|
|
|
26
26
|
import { AppStringHelper } from "../../../common/AppStringHelper.js";
|
|
27
27
|
import { EmojiDateParser } from "./EmojiDateParser.js";
|
|
28
28
|
import CachedEmailService from "../../smtp/services/CachedEmailService.js";
|
|
29
|
+
import QueueInvokeWebHookWorkflow from "../web-hooks/QueueInvokeWebHookWorkflow.js";
|
|
29
30
|
class PostReceiveWorkflow extends Workflow {
|
|
30
31
|
static queue(context, args, eta = DateTime.now) {
|
|
31
32
|
const { senderID, emailID, recipientID } = args;
|
|
@@ -36,6 +37,36 @@ class PostReceiveWorkflow extends Workflow {
|
|
|
36
37
|
}
|
|
37
38
|
async run() {
|
|
38
39
|
await this.dispatchChannel();
|
|
40
|
+
await this.queueWebHooks();
|
|
41
|
+
}
|
|
42
|
+
async queueWebHooks(db) {
|
|
43
|
+
const { senderID: mailboxID, recipientID: emailAddressID, emailID } = this.input;
|
|
44
|
+
let hasWebHook = await db.webHooks.where({ mailboxID }, (p) => (x) => x.mailboxID === p.mailboxID && x.emailAddressID === null)
|
|
45
|
+
.some();
|
|
46
|
+
if (hasWebHook) {
|
|
47
|
+
await QueueInvokeWebHookWorkflow.queue(this.context, {
|
|
48
|
+
type: "email-received",
|
|
49
|
+
mailboxID, input: {
|
|
50
|
+
mailboxID,
|
|
51
|
+
emailAddressID,
|
|
52
|
+
emailID
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
hasWebHook = await db.webHooks.where({ mailboxID, emailAddressID }, (p) => (x) => x.mailboxID === p.mailboxID
|
|
57
|
+
&& x.emailAddressID === p.emailAddressID)
|
|
58
|
+
.some();
|
|
59
|
+
if (hasWebHook) {
|
|
60
|
+
await QueueInvokeWebHookWorkflow.queue(this.context, {
|
|
61
|
+
type: "email-received",
|
|
62
|
+
emailAddressID,
|
|
63
|
+
mailboxID, input: {
|
|
64
|
+
mailboxID,
|
|
65
|
+
emailAddressID,
|
|
66
|
+
emailID
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
39
70
|
}
|
|
40
71
|
async dispatchChannel(db, eas, tfs, channelService, ces) {
|
|
41
72
|
const { senderID, emailID, recipientID } = this.input;
|
|
@@ -152,6 +183,13 @@ class PostReceiveWorkflow extends Workflow {
|
|
|
152
183
|
}
|
|
153
184
|
PostReceiveWorkflow.taskGroup = "notify";
|
|
154
185
|
export default PostReceiveWorkflow;
|
|
186
|
+
__decorate([
|
|
187
|
+
UniqueActivity,
|
|
188
|
+
__param(0, Inject),
|
|
189
|
+
__metadata("design:type", Function),
|
|
190
|
+
__metadata("design:paramtypes", [SocialMailContext]),
|
|
191
|
+
__metadata("design:returntype", Promise)
|
|
192
|
+
], PostReceiveWorkflow.prototype, "queueWebHooks", null);
|
|
155
193
|
__decorate([
|
|
156
194
|
UniqueActivity,
|
|
157
195
|
__param(0, Inject),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,mBAAmB,MAAM,uCAAuC,CAAC;AACxE,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,cAAc,MAAM,uCAAuC,CAAC;AACnE,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAE7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAE/D,OAAO,QAAQ,MAAM,kDAAkD,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"PostReceiveWorkflow.js","sourceRoot":"","sources":["../../../../src/server/workflows/post-receive/PostReceiveWorkflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IInvocation.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/web-hooks/IInvocation.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"IInvocation.d.ts","sourceRoot":"","sources":["../../../../src/server/workflows/web-hooks/IInvocation.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAA;CACJ,GAAG;IACA,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAA;CACJ,CAAC"}
|