@webiny/api-mailer 0.0.0-ee-vpcs.549378cf03
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 +21 -0
- package/README.md +14 -0
- package/context.d.ts +3 -0
- package/context.js +24 -0
- package/context.js.map +1 -0
- package/crud/group.d.ts +2 -0
- package/crud/group.js +21 -0
- package/crud/group.js.map +1 -0
- package/crud/settings/hooks.d.ts +5 -0
- package/crud/settings/hooks.js +55 -0
- package/crud/settings/hooks.js.map +1 -0
- package/crud/settings/model.d.ts +3 -0
- package/crud/settings/model.js +90 -0
- package/crud/settings/model.js.map +1 -0
- package/crud/settings/password.d.ts +7 -0
- package/crud/settings/password.js +71 -0
- package/crud/settings/password.js.map +1 -0
- package/crud/settings/secret.d.ts +1 -0
- package/crud/settings/secret.js +23 -0
- package/crud/settings/secret.js.map +1 -0
- package/crud/settings/transform.d.ts +13 -0
- package/crud/settings/transform.js +56 -0
- package/crud/settings/transform.js.map +1 -0
- package/crud/settings/validation.d.ts +4 -0
- package/crud/settings/validation.js +38 -0
- package/crud/settings/validation.js.map +1 -0
- package/crud/settings.crud.d.ts +5 -0
- package/crud/settings.crud.js +331 -0
- package/crud/settings.crud.js.map +1 -0
- package/crud/transport/onTransportBeforeSend.d.ts +7 -0
- package/crud/transport/onTransportBeforeSend.js +69 -0
- package/crud/transport/onTransportBeforeSend.js.map +1 -0
- package/crud/transporter.crud.d.ts +2 -0
- package/crud/transporter.crud.js +193 -0
- package/crud/transporter.crud.js.map +1 -0
- package/graphql/index.d.ts +1 -0
- package/graphql/index.js +14 -0
- package/graphql/index.js.map +1 -0
- package/graphql/settings.d.ts +3 -0
- package/graphql/settings.js +109 -0
- package/graphql/settings.js.map +1 -0
- package/index.d.ts +8 -0
- package/index.js +89 -0
- package/index.js.map +1 -0
- package/package.json +65 -0
- package/plugins/CreateTransportPlugin.d.ts +17 -0
- package/plugins/CreateTransportPlugin.js +34 -0
- package/plugins/CreateTransportPlugin.js.map +1 -0
- package/plugins/index.d.ts +1 -0
- package/plugins/index.js +18 -0
- package/plugins/index.js.map +1 -0
- package/transports/createDummyTransport.d.ts +5 -0
- package/transports/createDummyTransport.js +25 -0
- package/transports/createDummyTransport.js.map +1 -0
- package/transports/createSmtpTransport.d.ts +12 -0
- package/transports/createSmtpTransport.js +101 -0
- package/transports/createSmtpTransport.js.map +1 -0
- package/types.d.ts +149 -0
- package/types.js +5 -0
- package/types.js.map +1 -0
package/types.d.ts
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { CmsContext } from "@webiny/api-headless-cms/types";
|
|
2
|
+
import { Topic } from "@webiny/pubsub/types";
|
|
3
|
+
export interface MailerTransporterContext<T extends Transport = Transport> {
|
|
4
|
+
onTransportBeforeSend: Topic<OnTransportBeforeSendParams>;
|
|
5
|
+
onTransportAfterSend: Topic<OnTransportAfterSendParams>;
|
|
6
|
+
onTransportError: Topic<OnTransportErrorParams>;
|
|
7
|
+
getTransport: () => Promise<T | null>;
|
|
8
|
+
sendMail: <D>(data: TransportSendData) => Promise<TransportSendResponse<D>>;
|
|
9
|
+
}
|
|
10
|
+
export interface MailerSettingsCreateParams {
|
|
11
|
+
input: Partial<TransportSettings>;
|
|
12
|
+
}
|
|
13
|
+
export interface MailerSettingsUpdateParams {
|
|
14
|
+
input: Partial<TransportSettings>;
|
|
15
|
+
original?: ExtendedTransportSettings | null;
|
|
16
|
+
}
|
|
17
|
+
export interface MailerSettingsSaveParams {
|
|
18
|
+
input: Partial<TransportSettings>;
|
|
19
|
+
}
|
|
20
|
+
export interface OnSettingsBeforeGetTopicParams {
|
|
21
|
+
tenant: string;
|
|
22
|
+
}
|
|
23
|
+
export interface OnSettingsAfterGetTopicParams {
|
|
24
|
+
tenant: string;
|
|
25
|
+
settings: TransportSettings | null;
|
|
26
|
+
}
|
|
27
|
+
export interface OnSettingsGetErrorTopicParams {
|
|
28
|
+
tenant: string;
|
|
29
|
+
error: Error;
|
|
30
|
+
}
|
|
31
|
+
export interface OnSettingsBeforeCreateTopicParams {
|
|
32
|
+
settings: TransportSettings;
|
|
33
|
+
}
|
|
34
|
+
export interface OnSettingsAfterCreateTopicParams {
|
|
35
|
+
settings: TransportSettings;
|
|
36
|
+
}
|
|
37
|
+
export interface OnSettingsCreateErrorTopicParams {
|
|
38
|
+
settings: TransportSettings;
|
|
39
|
+
error: Error;
|
|
40
|
+
}
|
|
41
|
+
export interface OnSettingsBeforeUpdateTopicParams {
|
|
42
|
+
settings: TransportSettings;
|
|
43
|
+
original: TransportSettings;
|
|
44
|
+
}
|
|
45
|
+
export interface OnSettingsAfterUpdateTopicParams {
|
|
46
|
+
original: TransportSettings;
|
|
47
|
+
settings: TransportSettings;
|
|
48
|
+
}
|
|
49
|
+
export interface OnSettingsUpdateErrorTopicParams {
|
|
50
|
+
original: TransportSettings;
|
|
51
|
+
settings: TransportSettings;
|
|
52
|
+
error: Error;
|
|
53
|
+
}
|
|
54
|
+
export interface ExtendedTransportSettings extends TransportSettings {
|
|
55
|
+
id: string;
|
|
56
|
+
}
|
|
57
|
+
export interface MailerSettingsContext {
|
|
58
|
+
getSettings: () => Promise<ExtendedTransportSettings | null>;
|
|
59
|
+
/**
|
|
60
|
+
* Method should not be used outside of mailer
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
createSettings: (params: MailerSettingsCreateParams) => Promise<TransportSettings>;
|
|
64
|
+
/**
|
|
65
|
+
* Method should not be used outside of mailer
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
updateSettings: (params: MailerSettingsUpdateParams) => Promise<TransportSettings>;
|
|
69
|
+
/**
|
|
70
|
+
* Use to store the settings data.
|
|
71
|
+
*/
|
|
72
|
+
saveSettings: (params: MailerSettingsSaveParams) => Promise<TransportSettings>;
|
|
73
|
+
/**
|
|
74
|
+
* Lifecycle events
|
|
75
|
+
*/
|
|
76
|
+
onSettingsBeforeGet: Topic<OnSettingsBeforeGetTopicParams>;
|
|
77
|
+
onSettingsAfterGet: Topic<OnSettingsAfterGetTopicParams>;
|
|
78
|
+
onSettingsGetError: Topic<OnSettingsGetErrorTopicParams>;
|
|
79
|
+
onSettingsBeforeCreate: Topic<OnSettingsBeforeCreateTopicParams>;
|
|
80
|
+
onSettingsAfterCreate: Topic<OnSettingsAfterCreateTopicParams>;
|
|
81
|
+
onSettingsCreateError: Topic<OnSettingsCreateErrorTopicParams>;
|
|
82
|
+
onSettingsBeforeUpdate: Topic<OnSettingsBeforeUpdateTopicParams>;
|
|
83
|
+
onSettingsAfterUpdate: Topic<OnSettingsAfterUpdateTopicParams>;
|
|
84
|
+
onSettingsUpdateError: Topic<OnSettingsUpdateErrorTopicParams>;
|
|
85
|
+
}
|
|
86
|
+
export interface MailerContextObject<T extends Transport = Transport> extends MailerTransporterContext<T>, MailerSettingsContext {
|
|
87
|
+
}
|
|
88
|
+
export interface MailerContext extends CmsContext {
|
|
89
|
+
mailer: MailerContextObject;
|
|
90
|
+
}
|
|
91
|
+
export interface OnTransportBeforeSendParams {
|
|
92
|
+
data: TransportSendData;
|
|
93
|
+
transport: Transport;
|
|
94
|
+
}
|
|
95
|
+
export interface OnTransportAfterSendParams {
|
|
96
|
+
data: TransportSendData;
|
|
97
|
+
transport: Transport;
|
|
98
|
+
}
|
|
99
|
+
export interface OnTransportErrorParams {
|
|
100
|
+
error: Error;
|
|
101
|
+
data: TransportSendData;
|
|
102
|
+
transport: Transport;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Interface to implement the actual mailer.
|
|
106
|
+
*/
|
|
107
|
+
export interface TransportSendResponse<T = any> {
|
|
108
|
+
result: T | null;
|
|
109
|
+
error: {
|
|
110
|
+
message: string;
|
|
111
|
+
code: string;
|
|
112
|
+
data?: {
|
|
113
|
+
[key: string]: any;
|
|
114
|
+
};
|
|
115
|
+
} | null;
|
|
116
|
+
}
|
|
117
|
+
interface TransportSendToData {
|
|
118
|
+
to: string[];
|
|
119
|
+
}
|
|
120
|
+
interface TransportSendCcData {
|
|
121
|
+
cc: string[];
|
|
122
|
+
}
|
|
123
|
+
interface TransportSendBccData {
|
|
124
|
+
bcc: string[];
|
|
125
|
+
}
|
|
126
|
+
interface BaseTransportSendData {
|
|
127
|
+
to?: string[];
|
|
128
|
+
cc?: string[];
|
|
129
|
+
bcc?: string[];
|
|
130
|
+
from?: string;
|
|
131
|
+
subject: string;
|
|
132
|
+
text: string;
|
|
133
|
+
html?: string;
|
|
134
|
+
replyTo?: string;
|
|
135
|
+
}
|
|
136
|
+
export declare type TransportSendData = BaseTransportSendData & (TransportSendToData | TransportSendBccData | TransportSendCcData);
|
|
137
|
+
export interface Transport<T = any> {
|
|
138
|
+
name: string;
|
|
139
|
+
send: (params: TransportSendData) => Promise<TransportSendResponse<T>>;
|
|
140
|
+
}
|
|
141
|
+
export interface TransportSettings {
|
|
142
|
+
host: string;
|
|
143
|
+
port: number;
|
|
144
|
+
user: string;
|
|
145
|
+
password: string;
|
|
146
|
+
from: string;
|
|
147
|
+
replyTo?: string;
|
|
148
|
+
}
|
|
149
|
+
export {};
|
package/types.js
ADDED
package/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { CmsContext } from \"@webiny/api-headless-cms/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\n\nexport interface MailerTransporterContext<T extends Transport = Transport> {\n onTransportBeforeSend: Topic<OnTransportBeforeSendParams>;\n onTransportAfterSend: Topic<OnTransportAfterSendParams>;\n onTransportError: Topic<OnTransportErrorParams>;\n getTransport: () => Promise<T | null>;\n sendMail: <D>(data: TransportSendData) => Promise<TransportSendResponse<D>>;\n}\n\nexport interface MailerSettingsCreateParams {\n input: Partial<TransportSettings>;\n}\nexport interface MailerSettingsUpdateParams {\n input: Partial<TransportSettings>;\n original?: ExtendedTransportSettings | null;\n}\n\nexport interface MailerSettingsSaveParams {\n input: Partial<TransportSettings>;\n}\n\nexport interface OnSettingsBeforeGetTopicParams {\n tenant: string;\n}\n\nexport interface OnSettingsAfterGetTopicParams {\n tenant: string;\n settings: TransportSettings | null;\n}\n\nexport interface OnSettingsGetErrorTopicParams {\n tenant: string;\n error: Error;\n}\n\nexport interface OnSettingsBeforeCreateTopicParams {\n settings: TransportSettings;\n}\n\nexport interface OnSettingsAfterCreateTopicParams {\n settings: TransportSettings;\n}\n\nexport interface OnSettingsCreateErrorTopicParams {\n settings: TransportSettings;\n error: Error;\n}\n\nexport interface OnSettingsBeforeUpdateTopicParams {\n settings: TransportSettings;\n original: TransportSettings;\n}\n\nexport interface OnSettingsAfterUpdateTopicParams {\n original: TransportSettings;\n settings: TransportSettings;\n}\n\nexport interface OnSettingsUpdateErrorTopicParams {\n original: TransportSettings;\n settings: TransportSettings;\n error: Error;\n}\n\nexport interface ExtendedTransportSettings extends TransportSettings {\n id: string;\n}\n\nexport interface MailerSettingsContext {\n getSettings: () => Promise<ExtendedTransportSettings | null>;\n /**\n * Method should not be used outside of mailer\n * @internal\n */\n createSettings: (params: MailerSettingsCreateParams) => Promise<TransportSettings>;\n /**\n * Method should not be used outside of mailer\n * @internal\n */\n updateSettings: (params: MailerSettingsUpdateParams) => Promise<TransportSettings>;\n /**\n * Use to store the settings data.\n */\n saveSettings: (params: MailerSettingsSaveParams) => Promise<TransportSettings>;\n /**\n * Lifecycle events\n */\n onSettingsBeforeGet: Topic<OnSettingsBeforeGetTopicParams>;\n onSettingsAfterGet: Topic<OnSettingsAfterGetTopicParams>;\n onSettingsGetError: Topic<OnSettingsGetErrorTopicParams>;\n onSettingsBeforeCreate: Topic<OnSettingsBeforeCreateTopicParams>;\n onSettingsAfterCreate: Topic<OnSettingsAfterCreateTopicParams>;\n onSettingsCreateError: Topic<OnSettingsCreateErrorTopicParams>;\n onSettingsBeforeUpdate: Topic<OnSettingsBeforeUpdateTopicParams>;\n onSettingsAfterUpdate: Topic<OnSettingsAfterUpdateTopicParams>;\n onSettingsUpdateError: Topic<OnSettingsUpdateErrorTopicParams>;\n}\n\nexport interface MailerContextObject<T extends Transport = Transport>\n extends MailerTransporterContext<T>,\n MailerSettingsContext {}\nexport interface MailerContext extends CmsContext {\n mailer: MailerContextObject;\n}\n\nexport interface OnTransportBeforeSendParams {\n data: TransportSendData;\n transport: Transport;\n}\nexport interface OnTransportAfterSendParams {\n data: TransportSendData;\n transport: Transport;\n}\nexport interface OnTransportErrorParams {\n error: Error;\n data: TransportSendData;\n transport: Transport;\n}\n\n/**\n * Interface to implement the actual mailer.\n */\nexport interface TransportSendResponse<T = any> {\n result: T | null;\n error: {\n message: string;\n code: string;\n data?: {\n [key: string]: any;\n };\n } | null;\n}\n\ninterface TransportSendToData {\n to: string[];\n}\ninterface TransportSendCcData {\n cc: string[];\n}\ninterface TransportSendBccData {\n bcc: string[];\n}\n\ninterface BaseTransportSendData {\n to?: string[];\n cc?: string[];\n bcc?: string[];\n from?: string;\n subject: string;\n text: string;\n html?: string;\n replyTo?: string;\n}\n\nexport type TransportSendData = BaseTransportSendData &\n (TransportSendToData | TransportSendBccData | TransportSendCcData);\nexport interface Transport<T = any> {\n name: string;\n send: (params: TransportSendData) => Promise<TransportSendResponse<T>>;\n}\n\nexport interface TransportSettings {\n host: string;\n port: number;\n user: string;\n password: string;\n from: string;\n replyTo?: string;\n}\n"],"mappings":""}
|