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.
Files changed (40) hide show
  1. package/LICENSE +0 -0
  2. package/dist/.metadata/index.d.ts +4 -1
  3. package/dist/.metadata/index.d.ts.map +1 -0
  4. package/dist/.metadata/this.d.ts +1 -0
  5. package/dist/.metadata/this.d.ts.map +1 -0
  6. package/dist/bean/bean.mail.d.ts +2 -1
  7. package/dist/bean/bean.mail.d.ts.map +1 -0
  8. package/dist/bean/meta.version.d.ts +1 -0
  9. package/dist/bean/meta.version.d.ts.map +1 -0
  10. package/dist/bean/queue.mail.d.ts +1 -0
  11. package/dist/bean/queue.mail.d.ts.map +1 -0
  12. package/dist/config/config.d.ts +1 -0
  13. package/dist/config/config.d.ts.map +1 -0
  14. package/dist/entity/mail.d.ts +2 -1
  15. package/dist/entity/mail.d.ts.map +1 -0
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/model/mail.d.ts +1 -0
  21. package/dist/model/mail.d.ts.map +1 -0
  22. package/dist/service/mail.d.ts +1 -0
  23. package/dist/service/mail.d.ts.map +1 -0
  24. package/dist/types/config.d.ts +1 -0
  25. package/dist/types/config.d.ts.map +1 -0
  26. package/dist/types/index.d.ts +1 -0
  27. package/dist/types/index.d.ts.map +1 -0
  28. package/package.json +22 -17
  29. package/src/.metadata/index.ts +282 -0
  30. package/src/.metadata/this.ts +2 -0
  31. package/src/bean/bean.mail.ts +40 -0
  32. package/src/bean/meta.version.ts +23 -0
  33. package/src/bean/queue.mail.ts +27 -0
  34. package/src/config/config.ts +7 -0
  35. package/src/entity/mail.ts +30 -0
  36. package/src/index.ts +2 -0
  37. package/src/model/mail.ts +10 -0
  38. package/src/service/mail.ts +76 -0
  39. package/src/types/config.ts +123 -0
  40. 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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"}
@@ -1,2 +1,3 @@
1
1
  export declare const __ThisModule__ = "a-mail";
2
2
  export { ScopeModuleAMail as ScopeModule } from './index.ts';
3
+ //# sourceMappingURL=this.d.ts.map
@@ -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"}
@@ -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"}
@@ -3,3 +3,4 @@ import { BeanBase } from 'vona';
3
3
  export declare class MetaVersion extends BeanBase implements IMetaVersionUpdate {
4
4
  update(options: IMetaVersionUpdateOptions): Promise<void>;
5
5
  }
6
+ //# sourceMappingURL=meta.version.d.ts.map
@@ -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"}
@@ -1,3 +1,4 @@
1
1
  import type { VonaApplication } from 'vona';
2
2
  import type { ConfigMail } from '../types/config.ts';
3
3
  export declare function config(_app: VonaApplication): ConfigMail;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -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"}
@@ -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
@@ -1,2 +1,3 @@
1
1
  export * from './.metadata/index.ts';
2
2
  export * from './types/index.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -195,3 +195,4 @@ ScopeModuleAMail = __decorate([Scope(), BeanInfo({
195
195
  /** scope: end */
196
196
 
197
197
  export { BeanMail, EntityMail, MetaVersion, ModelMail, QueueMail, ScopeModuleAMail, ServiceMail, config };
198
+ //# sourceMappingURL=index.js.map
@@ -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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"}
@@ -5,3 +5,4 @@ export interface IModelOptionsMail extends IDecoratorModelOptions<EntityMail> {
5
5
  }
6
6
  export declare class ModelMail extends BeanModelBase<EntityMail> {
7
7
  }
8
+ //# sourceMappingURL=mail.d.ts.map
@@ -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"}
@@ -6,3 +6,4 @@ export declare class ServiceMail extends BeanBase {
6
6
  private _checkClientValid;
7
7
  private _createClientTest;
8
8
  }
9
+ //# sourceMappingURL=mail.d.ts.map
@@ -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"}
@@ -28,3 +28,4 @@ declare module 'vona' {
28
28
  MAIL_SYSTEM_DEFAULTS_FROM: string | undefined;
29
29
  }
30
30
  }
31
+ //# sourceMappingURL=config.d.ts.map
@@ -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"}
@@ -1 +1,2 @@
1
1
  export * from './config.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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
- "type": "module",
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
- "files": [
26
- "assets",
27
- "dist"
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
- "scripts": {
34
- "clean": "rimraf dist tsconfig.build.tsbuildinfo",
35
- "tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json"
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,2 @@
1
+ export const __ThisModule__ = 'a-mail';
2
+ export { ScopeModuleAMail as ScopeModule } from './index.ts';
@@ -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,7 @@
1
+ import type { VonaApplication } from 'vona';
2
+
3
+ import type { ConfigMail } from '../types/config.ts';
4
+
5
+ export function config(_app: VonaApplication) {
6
+ return {} as ConfigMail;
7
+ }
@@ -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,2 @@
1
+ export * from './.metadata/index.ts';
2
+ export * from './types/index.ts';
@@ -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';