vona-module-a-mail 5.0.16 → 5.1.2
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/LICENSE +0 -0
- package/dist/.metadata/index.d.ts +4 -1
- package/dist/.metadata/index.d.ts.map +1 -0
- package/dist/.metadata/this.d.ts +1 -0
- package/dist/.metadata/this.d.ts.map +1 -0
- package/dist/bean/bean.mail.d.ts +2 -1
- package/dist/bean/bean.mail.d.ts.map +1 -0
- package/dist/bean/meta.version.d.ts +1 -0
- package/dist/bean/meta.version.d.ts.map +1 -0
- package/dist/bean/queue.mail.d.ts +1 -0
- package/dist/bean/queue.mail.d.ts.map +1 -0
- package/dist/config/config.d.ts +1 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/entity/mail.d.ts +2 -1
- package/dist/entity/mail.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/model/mail.d.ts +1 -0
- package/dist/model/mail.d.ts.map +1 -0
- package/dist/service/mail.d.ts +1 -0
- package/dist/service/mail.d.ts.map +1 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +22 -17
- package/src/.metadata/index.ts +282 -0
- package/src/.metadata/this.ts +2 -0
- package/src/bean/bean.mail.ts +40 -0
- package/src/bean/meta.version.ts +23 -0
- package/src/bean/queue.mail.ts +27 -0
- package/src/config/config.ts +7 -0
- package/src/entity/mail.ts +30 -0
- package/src/index.ts +2 -0
- package/src/model/mail.ts +10 -0
- package/src/service/mail.ts +76 -0
- package/src/types/config.ts +123 -0
- package/src/types/index.ts +1 -0
package/LICENSE
CHANGED
|
File without changes
|
|
@@ -67,7 +67,7 @@ declare module 'vona' {
|
|
|
67
67
|
}
|
|
68
68
|
/** model: end */
|
|
69
69
|
/** model: begin */
|
|
70
|
-
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
70
|
+
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
71
71
|
import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
|
|
72
72
|
declare module 'vona-module-a-mail' {
|
|
73
73
|
interface ModelMail {
|
|
@@ -87,6 +87,8 @@ declare module 'vona-module-a-mail' {
|
|
|
87
87
|
mutate<T extends IModelMutateOptions<EntityMail, ModelMail>>(data?: TypeModelMutateRelationData<EntityMail, ModelMail, T>, options?: T): Promise<TypeModelMutateRelationData<EntityMail, ModelMail, T>>;
|
|
88
88
|
mutateBulk<T extends IModelMutateOptions<EntityMail, ModelMail>>(items: TypeModelMutateRelationData<EntityMail, ModelMail, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityMail, ModelMail, T>[]>;
|
|
89
89
|
count<T extends IModelSelectCountParams<EntityMail, ModelMail, ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
90
|
+
increment<T extends IModelIncrementParams<EntityMail, ModelMail, ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
91
|
+
decrement<T extends IModelIncrementParams<EntityMail, ModelMail, ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
90
92
|
aggregate<T extends IModelSelectAggrParams<EntityMail, ModelMail, ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
91
93
|
group<T extends IModelSelectGroupParams<EntityMail, ModelMail, ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityMail, T>[]>;
|
|
92
94
|
getById<T extends IModelGetOptions<EntityMail, ModelMail>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityMail, ModelMail, T> | undefined>;
|
|
@@ -220,3 +222,4 @@ declare module 'vona' {
|
|
|
220
222
|
}
|
|
221
223
|
}
|
|
222
224
|
/** scope: end */
|
|
225
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"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"}
|
package/dist/.metadata/this.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"this.d.ts","sourceRoot":"","sources":["../../src/.metadata/this.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/bean/bean.mail.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
2
1
|
import { BeanBase } from 'vona';
|
|
2
|
+
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
3
3
|
export declare class BeanMail extends BeanBase {
|
|
4
4
|
send(mail: IMailOptions, clientName?: keyof IMailClientRecord): Promise<void>;
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=bean.mail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bean.mail.d.ts","sourceRoot":"","sources":["../../src/bean/bean.mail.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,QAAS,SAAQ,QAAQ;IAC9B,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,iBAAiB;CAkBpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.version.d.ts","sourceRoot":"","sources":["../../src/bean/meta.version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBACa,WAAY,SAAQ,QAAS,YAAW,kBAAkB;IAC/D,MAAM,CAAC,OAAO,EAAE,yBAAyB;CAehD"}
|
|
@@ -8,3 +8,4 @@ export type TypeQueueMailJobResult = void;
|
|
|
8
8
|
export declare class QueueMail extends BeanQueueBase<TypeQueueMailJobData, TypeQueueMailJobResult> implements IQueueExecute<TypeQueueMailJobData, TypeQueueMailJobResult> {
|
|
9
9
|
execute(data: TypeQueueMailJobData, _options?: IQueuePushOptions): Promise<TypeQueueMailJobResult>;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=queue.mail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.mail.d.ts","sourceRoot":"","sources":["../../src/bean/queue.mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE1C,qBAQa,SACX,SAAQ,aAAa,CAAC,oBAAoB,EAAE,sBAAsB,CAClE,YAAW,aAAa,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;IAEhE,OAAO,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGzG"}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,wBAAgB,MAAM,CAAC,IAAI,EAAE,eAAe,GAC7B,UAAU,CACxB"}
|
package/dist/entity/mail.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
2
|
-
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
3
2
|
import { EntityBase } from 'vona-module-a-orm';
|
|
3
|
+
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
4
4
|
export interface IEntityOptionsMail extends IDecoratorEntityOptions {
|
|
5
5
|
}
|
|
6
6
|
export declare class EntityMail extends EntityBase {
|
|
@@ -11,3 +11,4 @@ export declare class EntityMail extends EntityBase {
|
|
|
11
11
|
message: IMailOptions;
|
|
12
12
|
error?: string;
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=mail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/entity/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;CAAG;AAEtE,qBACa,UAAW,SAAQ,UAAU;IAExC,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC;IAGjC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,YAAY,CAAC;IAGtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/entity/mail.ts","../src/model/mail.ts","../src/bean/bean.mail.ts","../src/service/mail.ts","../src/bean/meta.version.ts","../src/bean/queue.mail.ts","../src/config/config.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["EntityMail","EntityBase","constructor","args","client","from","to","subject","message","error","__decorate","Api","field","z","string","optional","prototype","v","Entity","__z_BeanInfo","module","ModelMail","BeanModelBase","Model","entity","BeanMail","BeanBase","send","mail","clientName","mailNew","scope","model","insert","__parseFrom","__parseTo","app","meta","isTest","ctx","db","commit","queue","pushAsync","mailId","id","push","Bean","address","Array","isArray","map","item","join","ServiceMail","sendById","getById","_getClient","Error","clientTest","transport","service","_createClientTest","_checkClientValid","res","catchError","transporter","nodemailer","createTransport","defaults","sendMail","update","url","getTestMessageUrl","chalk","cyan","yellow","hex","$logger","silly","delete","config","clients","defaultClient","host","account","createTestAccount","smtp","port","secure","auth","user","pass","logger","debug","Service","MetaVersion","options","version","bean","createTable","$table","table","basicFields","text","json","Meta","QueueMail","BeanQueueBase","execute","data","_options","Queue","concurrency","worker","_app","ScopeModuleAMail","BeanScopeBase","Scope"],"mappings":"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"}
|
package/dist/model/mail.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/model/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAS,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB,CAAC,UAAU,CAAC;CAAG;AAEhF,qBACa,SAAU,SAAQ,aAAa,CAAC,UAAU,CAAC;CAAG"}
|
package/dist/service/mail.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/service/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAKhC,qBACa,WAAY,SAAQ,QAAQ;IACjC,QAAQ,CAAC,EAAE,EAAE,aAAa;IAmChC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;YAIX,iBAAiB;CAoBhC"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,wCAAwC,CAAC;AAExE,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,OAAO,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,OAAO,GACP,SAAS,GACT,KAAK,GACL,WAAW,GACX,SAAS,GACT,aAAa,GACb,cAAc,GACd,UAAU,GACV,UAAU,GACV,aAAa,GACb,eAAe,GACf,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,GACT,aAAa,GACb,eAAe,GACf,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,OAAO,GACP,SAAS,GACT,SAAS,GACT,eAAe,GACf,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,OAAO,GACP,UAAU,GACV,KAAK,GACL,aAAa,GACb,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,aAAa,GACb,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,UAAU,GACV,YAAY,GACZ,WAAW,GACX,KAAK,GACL,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5E,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AACD,MAAM,WAAW,YAAa,SAAQ,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;CAAG;AAElG,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,iBAAiB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;CAC5D;AAED,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,aAAa;QAE5B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;QAExC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;QAClD,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;QACjD,+BAA+B,EAAE,MAAM,GAAG,SAAS,CAAC;QACpD,+BAA+B,EAAE,MAAM,GAAG,SAAS,CAAC;QACpD,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/C;CACF"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-mail",
|
|
3
|
-
"
|
|
4
|
-
"version": "5.0.16",
|
|
5
|
-
"title": "a-mail",
|
|
6
|
-
"vonaModule": {
|
|
7
|
-
"fileVersion": 1,
|
|
8
|
-
"dependencies": {}
|
|
9
|
-
},
|
|
3
|
+
"version": "5.1.2",
|
|
10
4
|
"description": "",
|
|
11
|
-
"author": "",
|
|
12
5
|
"keywords": [
|
|
13
6
|
"Vona Module"
|
|
14
7
|
],
|
|
8
|
+
"author": "",
|
|
9
|
+
"files": [
|
|
10
|
+
"assets",
|
|
11
|
+
"dist",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"type": "module",
|
|
15
15
|
"exports": {
|
|
16
16
|
".": {
|
|
17
17
|
"types": [
|
|
@@ -22,16 +22,21 @@
|
|
|
22
22
|
},
|
|
23
23
|
"./package.json": "./package.json"
|
|
24
24
|
},
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
25
|
+
"scripts": {
|
|
26
|
+
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
27
|
+
"tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
|
|
28
|
+
"prepublishOnly": "npm run tsc:publish",
|
|
29
|
+
"prepack": "clean-package",
|
|
30
|
+
"postpack": "clean-package restore && npm run clean"
|
|
31
|
+
},
|
|
29
32
|
"dependencies": {
|
|
30
33
|
"@types/nodemailer": "^7.0.1",
|
|
31
34
|
"nodemailer": "^7.0.6"
|
|
32
35
|
},
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
}
|
|
36
|
+
"title": "a-mail",
|
|
37
|
+
"vonaModule": {
|
|
38
|
+
"fileVersion": 1,
|
|
39
|
+
"dependencies": {}
|
|
40
|
+
},
|
|
41
|
+
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d"
|
|
42
|
+
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
// eslint-disable
|
|
2
|
+
import type { TypeEntityMeta,TypeModelsClassLikeGeneral,TypeSymbolKeyFieldsMore } from 'vona-module-a-orm';
|
|
3
|
+
import type { TypeEntityOptionsFields } from 'vona-module-a-openapi';
|
|
4
|
+
import type { TableIdentity } from 'table-identity';
|
|
5
|
+
/** entity: begin */
|
|
6
|
+
export * from '../entity/mail.ts';
|
|
7
|
+
import type { IEntityOptionsMail } from '../entity/mail.ts';
|
|
8
|
+
import 'vona-module-a-orm';
|
|
9
|
+
declare module 'vona-module-a-orm' {
|
|
10
|
+
|
|
11
|
+
export interface IEntityRecord {
|
|
12
|
+
'a-mail:mail': IEntityOptionsMail;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
declare module 'vona-module-a-mail' {
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
/** entity: end */
|
|
21
|
+
/** entity: begin */
|
|
22
|
+
import type { EntityMail } from '../entity/mail.ts';
|
|
23
|
+
export interface IModuleEntity {
|
|
24
|
+
'mail': EntityMailMeta;
|
|
25
|
+
}
|
|
26
|
+
/** entity: end */
|
|
27
|
+
/** entity: begin */
|
|
28
|
+
export type EntityMailTableName = 'mail';
|
|
29
|
+
export type EntityMailMeta=TypeEntityMeta<EntityMail,EntityMailTableName>;
|
|
30
|
+
declare module 'vona-module-a-orm' {
|
|
31
|
+
export interface ITableRecord {
|
|
32
|
+
'mail': EntityMailMeta;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
declare module 'vona-module-a-mail' {
|
|
36
|
+
|
|
37
|
+
export interface IEntityOptionsMail {
|
|
38
|
+
fields?: TypeEntityOptionsFields<EntityMail, IEntityOptionsMail[TypeSymbolKeyFieldsMore]>;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** entity: end */
|
|
42
|
+
/** model: begin */
|
|
43
|
+
export * from '../model/mail.ts';
|
|
44
|
+
import type { IModelOptionsMail } from '../model/mail.ts';
|
|
45
|
+
import 'vona-module-a-orm';
|
|
46
|
+
declare module 'vona-module-a-orm' {
|
|
47
|
+
|
|
48
|
+
export interface IModelRecord {
|
|
49
|
+
'a-mail:mail': IModelOptionsMail;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
declare module 'vona-module-a-mail' {
|
|
55
|
+
|
|
56
|
+
export interface ModelMail {
|
|
57
|
+
/** @internal */
|
|
58
|
+
get scope(): ScopeModuleAMail;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface ModelMail {
|
|
62
|
+
get $beanFullName(): 'a-mail.model.mail';
|
|
63
|
+
get $onionName(): 'a-mail:mail';
|
|
64
|
+
get $onionOptions(): IModelOptionsMail;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** model: end */
|
|
68
|
+
/** model: begin */
|
|
69
|
+
import type { ModelMail } from '../model/mail.ts';
|
|
70
|
+
export interface IModuleModel {
|
|
71
|
+
'mail': ModelMail;
|
|
72
|
+
}
|
|
73
|
+
/** model: end */
|
|
74
|
+
/** model: begin */
|
|
75
|
+
|
|
76
|
+
import 'vona';
|
|
77
|
+
declare module 'vona' {
|
|
78
|
+
export interface IBeanRecordGeneral {
|
|
79
|
+
'a-mail.model.mail': ModelMail;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** model: end */
|
|
83
|
+
/** model: begin */
|
|
84
|
+
import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
|
|
85
|
+
import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
|
|
86
|
+
declare module 'vona-module-a-mail' {
|
|
87
|
+
|
|
88
|
+
export interface ModelMail {
|
|
89
|
+
[SymbolKeyEntity]: EntityMail;
|
|
90
|
+
[SymbolKeyEntityMeta]: EntityMailMeta;
|
|
91
|
+
[SymbolKeyModelOptions]: IModelOptionsMail;
|
|
92
|
+
get<T extends IModelGetOptions<EntityMail,ModelMail>>(where: TypeModelWhere<EntityMail>, options?: T): Promise<TypeModelRelationResult<EntityMail, ModelMail, T> | undefined>;
|
|
93
|
+
mget<T extends IModelGetOptions<EntityMail,ModelMail>>(ids: TableIdentity[], options?: T): Promise<TypeModelRelationResult<EntityMail, ModelMail, T>[]>;
|
|
94
|
+
selectAndCount<T extends IModelSelectParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelSelectAndCount<EntityMail, ModelMail, T>>;
|
|
95
|
+
select<T extends IModelSelectParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelRelationResult<EntityMail, ModelMail, T>[]>;
|
|
96
|
+
insert<T extends IModelInsertOptions<EntityMail,ModelMail>>(data?: TypeModelMutateRelationData<EntityMail,ModelMail, T>, options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T, true>>;
|
|
97
|
+
insertBulk<T extends IModelInsertOptions<EntityMail,ModelMail>>(items: TypeModelMutateRelationData<EntityMail,ModelMail, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T, true>[]>;
|
|
98
|
+
update<T extends IModelUpdateOptions<EntityMail,ModelMail>>(data: TypeModelMutateRelationData<EntityMail,ModelMail, T>, options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T>>;
|
|
99
|
+
updateBulk<T extends IModelUpdateOptions<EntityMail,ModelMail>>(items: TypeModelMutateRelationData<EntityMail,ModelMail, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T>[]>;
|
|
100
|
+
delete<T extends IModelDeleteOptions<EntityMail,ModelMail>>(where?: TypeModelWhere<EntityMail>, options?: T): Promise<void>;
|
|
101
|
+
deleteBulk<T extends IModelDeleteOptions<EntityMail,ModelMail>>(ids: TableIdentity[], options?: T): Promise<void>;
|
|
102
|
+
mutate<T extends IModelMutateOptions<EntityMail,ModelMail>>(data?: TypeModelMutateRelationData<EntityMail,ModelMail, T>, options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T>>;
|
|
103
|
+
mutateBulk<T extends IModelMutateOptions<EntityMail,ModelMail>>(items: TypeModelMutateRelationData<EntityMail,ModelMail, T>[], options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T>[]>;
|
|
104
|
+
count<T extends IModelSelectCountParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<string | undefined>;
|
|
105
|
+
increment<T extends IModelIncrementParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
106
|
+
decrement<T extends IModelIncrementParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<number>;
|
|
107
|
+
aggregate<T extends IModelSelectAggrParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelAggrRelationResult<T>>;
|
|
108
|
+
group<T extends IModelSelectGroupParams<EntityMail,ModelMail,ModelJoins>, ModelJoins extends TypeModelsClassLikeGeneral | undefined = undefined>(params?: T, options?: IModelMethodOptions, modelJoins?: ModelJoins): Promise<TypeModelGroupRelationResult<EntityMail, T>[]>;
|
|
109
|
+
getById<T extends IModelGetOptions<EntityMail,ModelMail>>(id: TableIdentity, options?: T): Promise<TypeModelRelationResult<EntityMail, ModelMail, T> | undefined>;
|
|
110
|
+
updateById<T extends IModelUpdateOptions<EntityMail,ModelMail>>(id: TableIdentity, data: TypeModelMutateRelationData<EntityMail,ModelMail, T>, options?: T): Promise<TypeModelMutateRelationData<EntityMail,ModelMail, T>>;
|
|
111
|
+
deleteById<T extends IModelDeleteOptions<EntityMail,ModelMail>>(id: TableIdentity, options?: T): Promise<void>;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
declare module 'vona-module-a-orm' {
|
|
115
|
+
export interface IModelClassRecord {
|
|
116
|
+
'a-mail:mail': ModelMail;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** model: end */
|
|
120
|
+
/** bean: begin */
|
|
121
|
+
export * from '../bean/bean.mail.ts';
|
|
122
|
+
|
|
123
|
+
import 'vona';
|
|
124
|
+
declare module 'vona' {
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
}
|
|
128
|
+
declare module 'vona-module-a-mail' {
|
|
129
|
+
|
|
130
|
+
export interface BeanMail {
|
|
131
|
+
/** @internal */
|
|
132
|
+
get scope(): ScopeModuleAMail;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** bean: end */
|
|
136
|
+
/** bean: begin */
|
|
137
|
+
import type { BeanMail } from '../bean/bean.mail.ts';
|
|
138
|
+
import 'vona';
|
|
139
|
+
declare module 'vona' {
|
|
140
|
+
export interface IBeanRecordGlobal {
|
|
141
|
+
'mail': BeanMail;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/** bean: end */
|
|
145
|
+
/** service: begin */
|
|
146
|
+
export * from '../service/mail.ts';
|
|
147
|
+
|
|
148
|
+
import 'vona-module-a-bean';
|
|
149
|
+
declare module 'vona-module-a-bean' {
|
|
150
|
+
|
|
151
|
+
export interface IServiceRecord {
|
|
152
|
+
'a-mail:mail': never;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
}
|
|
157
|
+
declare module 'vona-module-a-mail' {
|
|
158
|
+
|
|
159
|
+
export interface ServiceMail {
|
|
160
|
+
/** @internal */
|
|
161
|
+
get scope(): ScopeModuleAMail;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface ServiceMail {
|
|
165
|
+
get $beanFullName(): 'a-mail.service.mail';
|
|
166
|
+
get $onionName(): 'a-mail:mail';
|
|
167
|
+
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** service: end */
|
|
171
|
+
/** service: begin */
|
|
172
|
+
import type { ServiceMail } from '../service/mail.ts';
|
|
173
|
+
export interface IModuleService {
|
|
174
|
+
'mail': ServiceMail;
|
|
175
|
+
}
|
|
176
|
+
/** service: end */
|
|
177
|
+
/** service: begin */
|
|
178
|
+
|
|
179
|
+
import 'vona';
|
|
180
|
+
declare module 'vona' {
|
|
181
|
+
export interface IBeanRecordGeneral {
|
|
182
|
+
'a-mail.service.mail': ServiceMail;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/** service: end */
|
|
186
|
+
/** meta: begin */
|
|
187
|
+
export * from '../bean/meta.version.ts';
|
|
188
|
+
|
|
189
|
+
import 'vona-module-a-meta';
|
|
190
|
+
declare module 'vona-module-a-meta' {
|
|
191
|
+
|
|
192
|
+
export interface IMetaRecord {
|
|
193
|
+
'a-mail:version': never;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
}
|
|
198
|
+
declare module 'vona-module-a-mail' {
|
|
199
|
+
|
|
200
|
+
export interface MetaVersion {
|
|
201
|
+
/** @internal */
|
|
202
|
+
get scope(): ScopeModuleAMail;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export interface MetaVersion {
|
|
206
|
+
get $beanFullName(): 'a-mail.meta.version';
|
|
207
|
+
get $onionName(): 'a-mail:version';
|
|
208
|
+
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/** meta: end */
|
|
212
|
+
/** queue: begin */
|
|
213
|
+
export * from '../bean/queue.mail.ts';
|
|
214
|
+
|
|
215
|
+
import { type IDecoratorQueueOptions } from 'vona-module-a-queue';
|
|
216
|
+
declare module 'vona-module-a-queue' {
|
|
217
|
+
|
|
218
|
+
export interface IQueueRecord {
|
|
219
|
+
'a-mail:mail': IDecoratorQueueOptions;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
}
|
|
224
|
+
declare module 'vona-module-a-mail' {
|
|
225
|
+
|
|
226
|
+
export interface QueueMail {
|
|
227
|
+
/** @internal */
|
|
228
|
+
get scope(): ScopeModuleAMail;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export interface QueueMail {
|
|
232
|
+
get $beanFullName(): 'a-mail.queue.mail';
|
|
233
|
+
get $onionName(): 'a-mail:mail';
|
|
234
|
+
get $onionOptions(): IDecoratorQueueOptions;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/** queue: end */
|
|
238
|
+
/** queue: begin */
|
|
239
|
+
import type { QueueMail } from '../bean/queue.mail.ts';
|
|
240
|
+
export interface IModuleQueue {
|
|
241
|
+
'mail': QueueMail;
|
|
242
|
+
}
|
|
243
|
+
/** queue: end */
|
|
244
|
+
/** config: begin */
|
|
245
|
+
export * from '../config/config.ts';
|
|
246
|
+
import type { config } from '../config/config.ts';
|
|
247
|
+
/** config: end */
|
|
248
|
+
/** scope: begin */
|
|
249
|
+
import { BeanScopeBase, type BeanScopeUtil, type TypeModuleConfig } from 'vona';
|
|
250
|
+
import { Scope } from 'vona-module-a-bean';
|
|
251
|
+
|
|
252
|
+
@Scope()
|
|
253
|
+
export class ScopeModuleAMail extends BeanScopeBase {}
|
|
254
|
+
|
|
255
|
+
export interface ScopeModuleAMail {
|
|
256
|
+
util: BeanScopeUtil;
|
|
257
|
+
config: TypeModuleConfig<typeof config>;
|
|
258
|
+
entity: IModuleEntity;
|
|
259
|
+
model: IModuleModel;
|
|
260
|
+
service: IModuleService;
|
|
261
|
+
queue: IModuleQueue;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
import 'vona';
|
|
265
|
+
declare module 'vona' {
|
|
266
|
+
export interface IBeanScopeRecord {
|
|
267
|
+
'a-mail': ScopeModuleAMail;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export interface IBeanScopeContainer {
|
|
271
|
+
mail: ScopeModuleAMail;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
export interface IBeanScopeConfig {
|
|
275
|
+
'a-mail': ReturnType<typeof config>;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
}
|
|
282
|
+
/** scope: end */
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Address } from 'nodemailer/lib/mailer/index.js';
|
|
2
|
+
|
|
3
|
+
import { BeanBase } from 'vona';
|
|
4
|
+
import { Bean } from 'vona-module-a-bean';
|
|
5
|
+
|
|
6
|
+
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
7
|
+
|
|
8
|
+
@Bean()
|
|
9
|
+
export class BeanMail extends BeanBase {
|
|
10
|
+
async send(mail: IMailOptions, clientName?: keyof IMailClientRecord) {
|
|
11
|
+
const mailNew = await this.scope.model.mail.insert({
|
|
12
|
+
client: clientName,
|
|
13
|
+
from: __parseFrom(mail.from as string | Address | undefined),
|
|
14
|
+
to: __parseTo(mail.to),
|
|
15
|
+
subject: mail.subject,
|
|
16
|
+
message: mail,
|
|
17
|
+
});
|
|
18
|
+
if (this.app.meta.isTest) {
|
|
19
|
+
await this.ctx.db.commit(async () => {
|
|
20
|
+
await this.scope.queue.mail.pushAsync({ mailId: mailNew.id });
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
this.ctx.db.commit(() => {
|
|
24
|
+
this.scope.queue.mail.push({ mailId: mailNew.id });
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function __parseFrom(address: string | Address | undefined): string | undefined {
|
|
31
|
+
if (!address) return address;
|
|
32
|
+
if (typeof address === 'object') return address.address;
|
|
33
|
+
return address;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function __parseTo(address: string | Address | Array<string | Address> | undefined): string | undefined {
|
|
37
|
+
if (!address) return address;
|
|
38
|
+
if (!Array.isArray(address)) return __parseFrom(address);
|
|
39
|
+
return address.map(item => __parseFrom(item)).join(',');
|
|
40
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IMetaVersionUpdate, IMetaVersionUpdateOptions } from 'vona-module-a-version';
|
|
2
|
+
|
|
3
|
+
import { BeanBase } from 'vona';
|
|
4
|
+
import { Meta } from 'vona-module-a-meta';
|
|
5
|
+
|
|
6
|
+
@Meta()
|
|
7
|
+
export class MetaVersion extends BeanBase implements IMetaVersionUpdate {
|
|
8
|
+
async update(options: IMetaVersionUpdateOptions) {
|
|
9
|
+
if (options.version === 1) {
|
|
10
|
+
// create table: aMail
|
|
11
|
+
const entity = this.scope.entity.mail;
|
|
12
|
+
await this.bean.model.createTable(entity.$table, table => {
|
|
13
|
+
table.basicFields();
|
|
14
|
+
table.string(entity.client, 255);
|
|
15
|
+
table.string(entity.from, 255);
|
|
16
|
+
table.text(entity.to);
|
|
17
|
+
table.text(entity.subject);
|
|
18
|
+
table.json(entity.message);
|
|
19
|
+
table.text(entity.error);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
import type { IQueueExecute, IQueuePushOptions } from 'vona-module-a-queue';
|
|
3
|
+
|
|
4
|
+
import { BeanQueueBase, Queue } from 'vona-module-a-queue';
|
|
5
|
+
|
|
6
|
+
export interface TypeQueueMailJobData {
|
|
7
|
+
mailId: TableIdentity;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type TypeQueueMailJobResult = void;
|
|
11
|
+
|
|
12
|
+
@Queue({
|
|
13
|
+
concurrency: true,
|
|
14
|
+
options: {
|
|
15
|
+
worker: {
|
|
16
|
+
concurrency: 10,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
})
|
|
20
|
+
export class QueueMail
|
|
21
|
+
extends BeanQueueBase<TypeQueueMailJobData, TypeQueueMailJobResult>
|
|
22
|
+
implements IQueueExecute<TypeQueueMailJobData, TypeQueueMailJobResult>
|
|
23
|
+
{
|
|
24
|
+
async execute(data: TypeQueueMailJobData, _options?: IQueuePushOptions): Promise<TypeQueueMailJobResult> {
|
|
25
|
+
await this.scope.service.mail.sendById(data.mailId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { IDecoratorEntityOptions } from 'vona-module-a-orm';
|
|
2
|
+
|
|
3
|
+
import { Api, v } from 'vona-module-a-openapiutils';
|
|
4
|
+
import { Entity, EntityBase } from 'vona-module-a-orm';
|
|
5
|
+
import z from 'zod';
|
|
6
|
+
|
|
7
|
+
import type { IMailClientRecord, IMailOptions } from '../types/config.ts';
|
|
8
|
+
|
|
9
|
+
export interface IEntityOptionsMail extends IDecoratorEntityOptions {}
|
|
10
|
+
|
|
11
|
+
@Entity<IEntityOptionsMail>('mail')
|
|
12
|
+
export class EntityMail extends EntityBase {
|
|
13
|
+
@Api.field(z.string().optional())
|
|
14
|
+
client?: keyof IMailClientRecord;
|
|
15
|
+
|
|
16
|
+
@Api.field(v.optional())
|
|
17
|
+
from?: string;
|
|
18
|
+
|
|
19
|
+
@Api.field(v.optional())
|
|
20
|
+
to?: string;
|
|
21
|
+
|
|
22
|
+
@Api.field(v.optional())
|
|
23
|
+
subject?: string;
|
|
24
|
+
|
|
25
|
+
@Api.field()
|
|
26
|
+
message: IMailOptions;
|
|
27
|
+
|
|
28
|
+
@Api.field(v.optional())
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
|
+
|
|
3
|
+
import { BeanModelBase, Model } from 'vona-module-a-orm';
|
|
4
|
+
|
|
5
|
+
import { EntityMail } from '../entity/mail.ts';
|
|
6
|
+
|
|
7
|
+
export interface IModelOptionsMail extends IDecoratorModelOptions<EntityMail> {}
|
|
8
|
+
|
|
9
|
+
@Model<IModelOptionsMail>({ entity: EntityMail })
|
|
10
|
+
export class ModelMail extends BeanModelBase<EntityMail> {}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
|
|
3
|
+
import { catchError } from '@cabloy/utils';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import nodemailer from 'nodemailer';
|
|
6
|
+
import { BeanBase } from 'vona';
|
|
7
|
+
import { Service } from 'vona-module-a-bean';
|
|
8
|
+
|
|
9
|
+
import type { ConfigMailClient, IMailClientRecord } from '../types/config.ts';
|
|
10
|
+
|
|
11
|
+
@Service()
|
|
12
|
+
export class ServiceMail extends BeanBase {
|
|
13
|
+
async sendById(id: TableIdentity) {
|
|
14
|
+
const mail = await this.scope.model.mail.getById(id);
|
|
15
|
+
if (!mail) return;
|
|
16
|
+
const clientName = mail.client;
|
|
17
|
+
// client
|
|
18
|
+
let client = this._getClient(clientName);
|
|
19
|
+
if (!client) throw new Error(`config not found for mail client: ${clientName}`);
|
|
20
|
+
// client test
|
|
21
|
+
let clientTest = false;
|
|
22
|
+
if (client.transport.service === 'test') {
|
|
23
|
+
client = await this._createClientTest();
|
|
24
|
+
clientTest = true;
|
|
25
|
+
}
|
|
26
|
+
// check again
|
|
27
|
+
if (!this._checkClientValid(client)) throw new Error(`not valid config for mail client: ${clientName}`);
|
|
28
|
+
// send
|
|
29
|
+
const [res, error] = await catchError(async () => {
|
|
30
|
+
const transporter = nodemailer.createTransport(client.transport, client.defaults);
|
|
31
|
+
return await transporter.sendMail(mail.message);
|
|
32
|
+
});
|
|
33
|
+
if (error) {
|
|
34
|
+
// save error
|
|
35
|
+
await this.scope.model.mail.update({ id, error: error.message });
|
|
36
|
+
} else {
|
|
37
|
+
// log
|
|
38
|
+
if (clientTest) {
|
|
39
|
+
const url = nodemailer.getTestMessageUrl(res);
|
|
40
|
+
const message = chalk.cyan('Test Mail To: ') + chalk.yellow(mail.to) + chalk.hex('#FF8800')(`\n${url}`);
|
|
41
|
+
this.$logger.silly(message);
|
|
42
|
+
}
|
|
43
|
+
// delete
|
|
44
|
+
await this.scope.model.mail.delete({ id });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
private _getClient(clientName?: keyof IMailClientRecord) {
|
|
49
|
+
return this.scope.config.clients[clientName || this.scope.config.defaultClient];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
private _checkClientValid(client?: ConfigMailClient) {
|
|
53
|
+
return !!client?.transport?.host || !!client?.transport?.service;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
private async _createClientTest(): Promise<ConfigMailClient> {
|
|
57
|
+
const account = await nodemailer.createTestAccount();
|
|
58
|
+
return {
|
|
59
|
+
transport: {
|
|
60
|
+
host: account.smtp.host,
|
|
61
|
+
port: account.smtp.port,
|
|
62
|
+
secure: account.smtp.secure,
|
|
63
|
+
auth: {
|
|
64
|
+
user: account.user,
|
|
65
|
+
pass: account.pass,
|
|
66
|
+
},
|
|
67
|
+
logger: false,
|
|
68
|
+
debug: false,
|
|
69
|
+
},
|
|
70
|
+
defaults: {
|
|
71
|
+
// sender info
|
|
72
|
+
from: 'Nodemailer <example@nodemailer.com>',
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type SMTPTransport from 'nodemailer/lib/smtp-transport/index.js';
|
|
2
|
+
|
|
3
|
+
export type TypeMailTransportService =
|
|
4
|
+
| 'test'
|
|
5
|
+
| '1und1'
|
|
6
|
+
| '126'
|
|
7
|
+
| '163'
|
|
8
|
+
| 'Aliyun'
|
|
9
|
+
| 'AliyunQiye'
|
|
10
|
+
| 'AOL'
|
|
11
|
+
| 'Aruba'
|
|
12
|
+
| 'Bluewin'
|
|
13
|
+
| 'BOL'
|
|
14
|
+
| 'DebugMail'
|
|
15
|
+
| 'Disroot'
|
|
16
|
+
| 'DynectEmail'
|
|
17
|
+
| 'ElasticEmail'
|
|
18
|
+
| 'Ethereal'
|
|
19
|
+
| 'FastMail'
|
|
20
|
+
| 'Feishu Mail'
|
|
21
|
+
| 'Forward Email'
|
|
22
|
+
| 'GandiMail'
|
|
23
|
+
| 'Gmail'
|
|
24
|
+
| 'GMX'
|
|
25
|
+
| 'Godaddy'
|
|
26
|
+
| 'GodaddyAsia'
|
|
27
|
+
| 'GodaddyEurope'
|
|
28
|
+
| 'hot.ee'
|
|
29
|
+
| 'Hotmail'
|
|
30
|
+
| 'iCloud'
|
|
31
|
+
| 'Infomaniak'
|
|
32
|
+
| 'KolabNow'
|
|
33
|
+
| 'Loopia'
|
|
34
|
+
| 'Loops'
|
|
35
|
+
| 'mail.ee'
|
|
36
|
+
| 'Mail.ru'
|
|
37
|
+
| 'Mailcatch.app'
|
|
38
|
+
| 'Maildev'
|
|
39
|
+
| 'MailerSend'
|
|
40
|
+
| 'Mailgun'
|
|
41
|
+
| 'Mailjet'
|
|
42
|
+
| 'Mailosaur'
|
|
43
|
+
| 'Mailtrap'
|
|
44
|
+
| 'Mandrill'
|
|
45
|
+
| 'Naver'
|
|
46
|
+
| 'OhMySMTP'
|
|
47
|
+
| 'One'
|
|
48
|
+
| 'OpenMailBox'
|
|
49
|
+
| 'Outlook365'
|
|
50
|
+
| 'Postmark'
|
|
51
|
+
| 'Proton'
|
|
52
|
+
| 'qiye.aliyun'
|
|
53
|
+
| 'QQ'
|
|
54
|
+
| 'QQex'
|
|
55
|
+
| 'Resend'
|
|
56
|
+
| 'Runbox'
|
|
57
|
+
| 'SendCloud'
|
|
58
|
+
| 'SendGrid'
|
|
59
|
+
| 'SendinBlue'
|
|
60
|
+
| 'SendPulse'
|
|
61
|
+
| 'SES'
|
|
62
|
+
| 'SES-AP-NORTHEAST-1'
|
|
63
|
+
| 'SES-AP-NORTHEAST-2'
|
|
64
|
+
| 'SES-AP-NORTHEAST-3'
|
|
65
|
+
| 'SES-AP-SOUTH-1'
|
|
66
|
+
| 'SES-AP-SOUTHEAST-1'
|
|
67
|
+
| 'SES-AP-SOUTHEAST-2'
|
|
68
|
+
| 'SES-CA-CENTRAL-1'
|
|
69
|
+
| 'SES-EU-CENTRAL-1'
|
|
70
|
+
| 'SES-EU-NORTH-1'
|
|
71
|
+
| 'SES-EU-WEST-1'
|
|
72
|
+
| 'SES-EU-WEST-2'
|
|
73
|
+
| 'SES-EU-WEST-3'
|
|
74
|
+
| 'SES-SA-EAST-1'
|
|
75
|
+
| 'SES-US-EAST-1'
|
|
76
|
+
| 'SES-US-EAST-2'
|
|
77
|
+
| 'SES-US-GOV-EAST-1'
|
|
78
|
+
| 'SES-US-GOV-WEST-1'
|
|
79
|
+
| 'SES-US-WEST-1'
|
|
80
|
+
| 'SES-US-WEST-2'
|
|
81
|
+
| 'Seznam'
|
|
82
|
+
| 'SMTP2GO'
|
|
83
|
+
| 'Sparkpost'
|
|
84
|
+
| 'Tipimail'
|
|
85
|
+
| 'Tutanota'
|
|
86
|
+
| 'Yahoo'
|
|
87
|
+
| 'Yandex'
|
|
88
|
+
| 'Zimbra'
|
|
89
|
+
| 'Zoho';
|
|
90
|
+
|
|
91
|
+
export interface IMailClientRecord {
|
|
92
|
+
system: never;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface IMailTransport extends Omit<SMTPTransport.Options, 'service'> {
|
|
96
|
+
service?: TypeMailTransportService;
|
|
97
|
+
}
|
|
98
|
+
export interface IMailOptions extends SMTPTransport.MailOptions, Partial<SMTPTransport.Options> {}
|
|
99
|
+
|
|
100
|
+
export interface ConfigMailClient {
|
|
101
|
+
transport: IMailTransport;
|
|
102
|
+
defaults?: IMailOptions;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export interface ConfigMail {
|
|
106
|
+
defaultClient: keyof IMailClientRecord;
|
|
107
|
+
clients: Record<keyof IMailClientRecord, ConfigMailClient>;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
declare module 'vona' {
|
|
111
|
+
export interface VonaConfigEnv {
|
|
112
|
+
// default
|
|
113
|
+
MAIL_DEFAULT_CLIENT: string | undefined;
|
|
114
|
+
// system
|
|
115
|
+
MAIL_SYSTEM_TRANSPORT_SERVICE: string | undefined;
|
|
116
|
+
MAIL_SYSTEM_TRANSPORT_HOST: string | undefined;
|
|
117
|
+
MAIL_SYSTEM_TRANSPORT_PORT: string | undefined;
|
|
118
|
+
MAIL_SYSTEM_TRANSPORT_SECURE: string | undefined;
|
|
119
|
+
MAIL_SYSTEM_TRANSPORT_AUTH_USER: string | undefined;
|
|
120
|
+
MAIL_SYSTEM_TRANSPORT_AUTH_PASS: string | undefined;
|
|
121
|
+
MAIL_SYSTEM_DEFAULTS_FROM: string | undefined;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './config.ts';
|