@webiny/app-mailer 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7f63ea0744

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-mailer",
3
- "version": "0.0.0-unstable.6e5425ee89",
3
+ "version": "0.0.0-unstable.7f63ea0744",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,13 +10,13 @@
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@apollo/react-components": "3.1.5",
13
- "@babel/runtime": "7.20.1",
13
+ "@babel/runtime": "7.20.13",
14
14
  "@emotion/core": "10.3.1",
15
- "@webiny/app-admin": "0.0.0-unstable.6e5425ee89",
16
- "@webiny/app-security": "0.0.0-unstable.6e5425ee89",
17
- "@webiny/form": "0.0.0-unstable.6e5425ee89",
18
- "@webiny/ui": "0.0.0-unstable.6e5425ee89",
19
- "@webiny/validation": "0.0.0-unstable.6e5425ee89",
15
+ "@webiny/app-admin": "0.0.0-unstable.7f63ea0744",
16
+ "@webiny/app-security": "0.0.0-unstable.7f63ea0744",
17
+ "@webiny/form": "0.0.0-unstable.7f63ea0744",
18
+ "@webiny/ui": "0.0.0-unstable.7f63ea0744",
19
+ "@webiny/validation": "0.0.0-unstable.7f63ea0744",
20
20
  "apollo-cache": "1.3.5",
21
21
  "apollo-client": "2.6.10",
22
22
  "apollo-link": "1.2.14",
@@ -35,8 +35,8 @@
35
35
  "@babel/preset-react": "^7.0.0",
36
36
  "@babel/preset-typescript": "^7.18.6",
37
37
  "@types/react": "17.0.39",
38
- "@webiny/cli": "^0.0.0-unstable.6e5425ee89",
39
- "@webiny/project-utils": "^0.0.0-unstable.6e5425ee89",
38
+ "@webiny/cli": "^0.0.0-unstable.7f63ea0744",
39
+ "@webiny/project-utils": "^0.0.0-unstable.7f63ea0744",
40
40
  "babel-plugin-emotion": "^9.2.8",
41
41
  "rimraf": "^3.0.2",
42
42
  "ttypescript": "^1.5.12",
@@ -55,5 +55,5 @@
55
55
  "removeViewBox": false
56
56
  }
57
57
  },
58
- "gitHead": "1e49c5d4b72b2f00661572464188f53b42ed7745"
58
+ "gitHead": "7f63ea0744c9e31977e5dabb95538d22b4db585c"
59
59
  }
package/plugins/Module.js CHANGED
@@ -28,7 +28,7 @@ var Loader = function Loader(_ref) {
28
28
  fallback: /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null)
29
29
  }, /*#__PURE__*/_react.default.cloneElement(children, props));
30
30
  };
31
- var Module = function Module() {
31
+ var MailerSettings = function MailerSettings() {
32
32
  var _usePermission = (0, _usePermission2.usePermission)(),
33
33
  canChangeSettings = _usePermission.canChangeSettings;
34
34
  var changeSettings = canChangeSettings();
@@ -56,4 +56,7 @@ var Module = function Module() {
56
56
  }
57
57
  }));
58
58
  };
59
+ var Module = function Module() {
60
+ return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugins, null, /*#__PURE__*/_react.default.createElement(MailerSettings, null));
61
+ };
59
62
  exports.Module = Module;
@@ -1 +1 @@
1
- {"version":3,"names":["Settings","lazy","Loader","children","props","React","cloneElement","Module","usePermission","canChangeSettings","changeSettings"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AddMenu as Menu, AddRoute } from \"@webiny/app-admin\";\nimport { SecureRoute } from \"@webiny/app-security\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst Settings = lazy(() => import(\"~/views/settings\"));\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader: React.FC<LoaderProps> = ({ children, ...props }) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nexport const Module: React.FC = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <>\n <Menu name={\"settings\"}>\n <Menu name={\"settings.mailer\"} label={\"Mailer\"}>\n <Menu\n name={\"settings.mailer.settings\"}\n label={\"Settings\"}\n path={\"/mailer/settings\"}\n />\n </Menu>\n </Menu>\n <AddRoute\n exact\n path={\"/mailer/settings\"}\n render={() => (\n <SecureRoute permission={\"mailer.settings\"}>\n <AdminLayout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAuD;AAEvD,IAAMA,QAAQ,gBAAG,IAAAC,WAAI,EAAC;EAAA;IAAA;EAAA;AAAA,CAAgC,CAAC;AAKvD,IAAMC,MAA6B,GAAG,SAAhCA,MAA6B;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EAAA,oBACvD,6BAAC,eAAQ;IAAC,QAAQ,eAAE,6BAAC,0BAAgB;EAAI,gBAAEC,cAAK,CAACC,YAAY,CAACH,QAAQ,EAAEC,KAAK,CAAC,CAAY;AAAA,CAC7F;AAEM,IAAMG,MAAgB,GAAG,SAAnBA,MAAgB,GAAS;EAClC,qBAA8B,IAAAC,6BAAa,GAAE;IAArCC,iBAAiB,kBAAjBA,iBAAiB;EAEzB,IAAMC,cAAc,GAAGD,iBAAiB,EAAE;EAE1C,IAAI,CAACC,cAAc,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACI,yEACI,6BAAC,iBAAI;IAAC,IAAI,EAAE;EAAW,gBACnB,6BAAC,iBAAI;IAAC,IAAI,EAAE,iBAAkB;IAAC,KAAK,EAAE;EAAS,gBAC3C,6BAAC,iBAAI;IACD,IAAI,EAAE,0BAA2B;IACjC,KAAK,EAAE,UAAW;IAClB,IAAI,EAAE;EAAmB,EAC3B,CACC,CACJ,eACP,6BAAC,kBAAQ;IACL,KAAK;IACL,IAAI,EAAE,kBAAmB;IACzB,MAAM,EAAE;MAAA,oBACJ,6BAAC,wBAAW;QAAC,UAAU,EAAE;MAAkB,gBACvC,6BAAC,wBAAW,qBACR,6BAAC,oBAAM;QAAC,KAAK,EAAE;MAAoB,EAAG,eACtC,6BAAC,MAAM,qBACH,6BAAC,QAAQ,OAAG,CACP,CACC,CACJ;IAAA;EAChB,EACJ,CACH;AAEX,CAAC;AAAC"}
1
+ {"version":3,"names":["Settings","lazy","Loader","children","props","React","cloneElement","MailerSettings","usePermission","canChangeSettings","changeSettings","Module"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AddMenu as Menu, AddRoute, Plugins } from \"@webiny/app-admin\";\nimport { SecureRoute } from \"@webiny/app-security\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst Settings = lazy(() => import(\"~/views/settings\"));\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader: React.FC<LoaderProps> = ({ children, ...props }) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings: React.FC = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <>\n <Menu name={\"settings\"}>\n <Menu name={\"settings.mailer\"} label={\"Mailer\"}>\n <Menu\n name={\"settings.mailer.settings\"}\n label={\"Settings\"}\n path={\"/mailer/settings\"}\n />\n </Menu>\n </Menu>\n <AddRoute\n exact\n path={\"/mailer/settings\"}\n render={() => (\n <SecureRoute permission={\"mailer.settings\"}>\n <AdminLayout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n </>\n );\n};\n\nexport const Module: React.FC = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAuD;AAEvD,IAAMA,QAAQ,gBAAG,IAAAC,WAAI,EAAC;EAAA;IAAA;EAAA;AAAA,CAAgC,CAAC;AAKvD,IAAMC,MAA6B,GAAG,SAAhCA,MAA6B;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EAAA,oBACvD,6BAAC,eAAQ;IAAC,QAAQ,eAAE,6BAAC,0BAAgB;EAAI,gBAAEC,cAAK,CAACC,YAAY,CAACH,QAAQ,EAAEC,KAAK,CAAC,CAAY;AAAA,CAC7F;AAED,IAAMG,cAAwB,GAAG,SAA3BA,cAAwB,GAAS;EACnC,qBAA8B,IAAAC,6BAAa,GAAE;IAArCC,iBAAiB,kBAAjBA,iBAAiB;EAEzB,IAAMC,cAAc,GAAGD,iBAAiB,EAAE;EAE1C,IAAI,CAACC,cAAc,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACI,yEACI,6BAAC,iBAAI;IAAC,IAAI,EAAE;EAAW,gBACnB,6BAAC,iBAAI;IAAC,IAAI,EAAE,iBAAkB;IAAC,KAAK,EAAE;EAAS,gBAC3C,6BAAC,iBAAI;IACD,IAAI,EAAE,0BAA2B;IACjC,KAAK,EAAE,UAAW;IAClB,IAAI,EAAE;EAAmB,EAC3B,CACC,CACJ,eACP,6BAAC,kBAAQ;IACL,KAAK;IACL,IAAI,EAAE,kBAAmB;IACzB,MAAM,EAAE;MAAA,oBACJ,6BAAC,wBAAW;QAAC,UAAU,EAAE;MAAkB,gBACvC,6BAAC,wBAAW,qBACR,6BAAC,oBAAM;QAAC,KAAK,EAAE;MAAoB,EAAG,eACtC,6BAAC,MAAM,qBACH,6BAAC,QAAQ,OAAG,CACP,CACC,CACJ;IAAA;EAChB,EACJ,CACH;AAEX,CAAC;AAEM,IAAMC,MAAgB,GAAG,SAAnBA,MAAgB,GAAS;EAClC,oBACI,6BAAC,iBAAO,qBACJ,6BAAC,cAAc,OAAG,CACZ;AAElB,CAAC;AAAC"}
@@ -72,41 +72,39 @@ var Settings = function Settings() {
72
72
  var _onSubmit = /*#__PURE__*/function () {
73
73
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
74
74
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
75
- while (1) {
76
- switch (_context.prev = _context.next) {
77
- case 0:
78
- setErrors([]);
79
- _context.next = 3;
80
- return update({
81
- variables: {
82
- data: data
83
- },
84
- update: function update(cache, result) {
85
- var _result$data;
86
- var data = structuredClone(cache.readQuery({
87
- query: _graphql.GET_SETTINGS_QUERY
88
- }));
89
- var _ref4 = ((_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.mailer.settings) || {},
90
- updateData = _ref4.data,
91
- updateError = _ref4.error;
92
- var errors = updateError === null || updateError === void 0 ? void 0 : updateError.data.errors;
93
- if (errors) {
94
- setErrors(errors);
95
- showSnackbar("Settings not updated! Please check your network and console logs for detailed information.");
96
- return;
97
- }
98
- data.mailer.settings.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settingsData), updateData);
99
- cache.writeQuery({
100
- query: _graphql.GET_SETTINGS_QUERY,
101
- data: data
102
- });
103
- showSnackbar("Settings updated successfully.");
75
+ while (1) switch (_context.prev = _context.next) {
76
+ case 0:
77
+ setErrors([]);
78
+ _context.next = 3;
79
+ return update({
80
+ variables: {
81
+ data: data
82
+ },
83
+ update: function update(cache, result) {
84
+ var _result$data;
85
+ var data = structuredClone(cache.readQuery({
86
+ query: _graphql.GET_SETTINGS_QUERY
87
+ }));
88
+ var _ref4 = ((_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.mailer.settings) || {},
89
+ updateData = _ref4.data,
90
+ updateError = _ref4.error;
91
+ var errors = updateError === null || updateError === void 0 ? void 0 : updateError.data.errors;
92
+ if (errors) {
93
+ setErrors(errors);
94
+ showSnackbar("Settings not updated! Please check your network and console logs for detailed information.");
95
+ return;
104
96
  }
105
- });
106
- case 3:
107
- case "end":
108
- return _context.stop();
109
- }
97
+ data.mailer.settings.data = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, settingsData), updateData);
98
+ cache.writeQuery({
99
+ query: _graphql.GET_SETTINGS_QUERY,
100
+ data: data
101
+ });
102
+ showSnackbar("Settings updated successfully.");
103
+ }
104
+ });
105
+ case 3:
106
+ case "end":
107
+ return _context.stop();
110
108
  }
111
109
  }, _callee);
112
110
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["displayErrors","errors","map","error","field","path","message","Settings","useSnackbar","showSnackbar","password","useRef","useState","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","GET_SETTINGS_QUERY","response","data","queryInProgress","loading","SAVE_SETTINGS_MUTATION","update","result","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","query","updateData","updateError","writeQuery","backgroundColor","description","passwordValidators","user","push","validation","create","Bind","form","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_SETTINGS_QUERY,\n SettingsQueryResponse,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationVariables,\n SaveSettingsMutationResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return <Alert key={`${field}`} title={error.message} type=\"danger\" />;\n })}\n </>\n );\n};\n\nexport const Settings: React.FC = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery({ query: GET_SETTINGS_QUERY })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n data.mailer.settings.data = {\n ...settingsData,\n ...updateData\n };\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <CenteredView>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <Grid style={{ backgroundColor: \"#FFFFFF\" }}>\n <Cell span={12}>\n <Alert title={settingsError.message} type=\"danger\" />\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Cell>\n </Grid>\n </CenteredView>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Hostname\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"port\"}>\n <Input type=\"number\" label=\"Port\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-ignore\n inputRef={password}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Mail from\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["displayErrors","errors","map","error","field","path","message","Settings","useSnackbar","showSnackbar","password","useRef","useState","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","GET_SETTINGS_QUERY","response","data","queryInProgress","loading","SAVE_SETTINGS_MUTATION","update","result","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","query","updateData","updateError","writeQuery","backgroundColor","description","passwordValidators","user","push","validation","create","Bind","form","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_SETTINGS_QUERY,\n SettingsQueryResponse,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationVariables,\n SaveSettingsMutationResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return <Alert key={`${field}`} title={error.message} type=\"danger\" />;\n })}\n </>\n );\n};\n\nexport const Settings: React.FC = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery({ query: GET_SETTINGS_QUERY })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n data.mailer.settings.data = {\n ...settingsData,\n ...updateData\n };\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <CenteredView>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <Grid style={{ backgroundColor: \"#FFFFFF\" }}>\n <Cell span={12}>\n <Alert title={settingsError.message} type=\"danger\" />\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Cell>\n </Grid>\n </CenteredView>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Hostname\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"port\"}>\n <Input type=\"number\" label=\"Port\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-ignore\n inputRef={password}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Mail from\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n"],"mappings":"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"}
@@ -12,5 +12,5 @@ var SETTINGS_FIELDS = "\n {\n host\n port\n user\n
12
12
  var ERROR_FIELDS = "\n {\n message\n code\n data\n }\n";
13
13
  var GET_SETTINGS_QUERY = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ", "\n error ", "\n }\n }\n }\n"])), SETTINGS_FIELDS, ERROR_FIELDS);
14
14
  exports.GET_SETTINGS_QUERY = GET_SETTINGS_QUERY;
15
- var SAVE_SETTINGS_MUTATION = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation SaveTransportSettings($data: TransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), SETTINGS_FIELDS, ERROR_FIELDS);
15
+ var SAVE_SETTINGS_MUTATION = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ", "\n error ", "\n }\n }\n }\n"])), SETTINGS_FIELDS, ERROR_FIELDS);
16
16
  exports.SAVE_SETTINGS_MUTATION = SAVE_SETTINGS_MUTATION;
@@ -1 +1 @@
1
- {"version":3,"names":["SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","gql","SAVE_SETTINGS_MUTATION"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApiError, TransportSettings, ValidationErrors } from \"~/types\";\n\nconst SETTINGS_FIELDS = `\n {\n host\n port\n user\n from\n replyTo\n }\n`;\n\nconst ERROR_FIELDS = `\n {\n message\n code\n data\n }\n`;\n\nexport interface SettingsQueryResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError | null;\n };\n };\n}\nexport const GET_SETTINGS_QUERY = gql`\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\nexport interface SaveSettingsMutationVariables {\n data: TransportSettings & {\n password?: string;\n };\n}\n\nexport interface SaveSettingsMutationResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError<ValidationErrors> | null;\n };\n };\n}\nexport const SAVE_SETTINGS_MUTATION = gql`\n mutation SaveTransportSettings($data: TransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAG9B,IAAMA,eAAe,8FAQpB;AAED,IAAMC,YAAY,kEAMjB;AAUM,IAAMC,kBAAkB,OAAGC,mBAAG,qQAIdH,eAAe,EACdC,YAAY,CAInC;AAAC;AAgBK,IAAMG,sBAAsB,OAAGD,mBAAG,4TAIlBH,eAAe,EACdC,YAAY,CAInC;AAAC"}
1
+ {"version":3,"names":["SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","gql","SAVE_SETTINGS_MUTATION"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { ApiError, TransportSettings, ValidationErrors } from \"~/types\";\n\nconst SETTINGS_FIELDS = `\n {\n host\n port\n user\n from\n replyTo\n }\n`;\n\nconst ERROR_FIELDS = `\n {\n message\n code\n data\n }\n`;\n\nexport interface SettingsQueryResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError | null;\n };\n };\n}\nexport const GET_SETTINGS_QUERY = gql`\n query GetMailerSettings {\n mailer {\n settings: getSettings {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\nexport interface SaveSettingsMutationVariables {\n data: TransportSettings & {\n password?: string;\n };\n}\n\nexport interface SaveSettingsMutationResponse {\n mailer: {\n settings: {\n data: TransportSettings | null;\n error: ApiError<ValidationErrors> | null;\n };\n };\n}\nexport const SAVE_SETTINGS_MUTATION = gql`\n mutation SaveTransportSettings($data: MailerTransportSettingsInput!) {\n mailer {\n settings: saveSettings(data: $data) {\n data ${SETTINGS_FIELDS}\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAG9B,IAAMA,eAAe,8FAQpB;AAED,IAAMC,YAAY,kEAMjB;AAUM,IAAMC,kBAAkB,OAAGC,mBAAG,qQAIdH,eAAe,EACdC,YAAY,CAInC;AAAC;AAgBK,IAAMG,sBAAsB,OAAGD,mBAAG,kUAIlBH,eAAe,EACdC,YAAY,CAInC;AAAC"}