@webiny/app-mailer 5.40.0-beta.2 → 5.40.0-beta.3
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/hooks/usePermission.js +1 -2
- package/hooks/usePermission.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +20 -20
- package/plugins/Module.d.ts +2 -2
- package/plugins/Module.js +1 -2
- package/plugins/Module.js.map +1 -1
- package/types.js.map +1 -1
- package/views/settings/Settings.d.ts +2 -2
- package/views/settings/Settings.js +1 -2
- package/views/settings/Settings.js.map +1 -1
- package/views/settings/graphql.js +2 -4
- package/views/settings/graphql.js.map +1 -1
- package/views/settings/index.js +1 -2
- package/views/settings/index.js.map +1 -1
package/hooks/usePermission.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.usePermission = void 0;
|
|
7
7
|
var _appSecurity = require("@webiny/app-security");
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
var usePermission = function usePermission() {
|
|
9
|
+
var usePermission = exports.usePermission = function usePermission() {
|
|
10
10
|
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
11
11
|
identity = _useSecurity.identity,
|
|
12
12
|
getPermission = _useSecurity.getPermission;
|
|
@@ -18,6 +18,5 @@ var usePermission = function usePermission() {
|
|
|
18
18
|
canChangeSettings: canChangeSettings
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
|
-
exports.usePermission = usePermission;
|
|
22
21
|
|
|
23
22
|
//# sourceMappingURL=usePermission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appSecurity","require","_react","usePermission","_useSecurity","useSecurity","identity","getPermission","canChangeSettings","useCallback","permission"
|
|
1
|
+
{"version":3,"names":["_appSecurity","require","_react","usePermission","exports","_useSecurity","useSecurity","identity","getPermission","canChangeSettings","useCallback","permission"],"sources":["usePermission.ts"],"sourcesContent":["import { useSecurity } from \"@webiny/app-security\";\nimport { useCallback } from \"react\";\nimport { MailerSecurityPermission } from \"~/types\";\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n\n const canChangeSettings = useCallback((): boolean => {\n const permission = getPermission<MailerSecurityPermission>(\"mailer.settings\");\n return !!permission;\n }, [identity]);\n\n return {\n canChangeSettings\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,IAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAAE,YAAA,GAAoC,IAAAC,wBAAW,EAAC,CAAC;IAAzCC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;IAAEC,aAAa,GAAAH,YAAA,CAAbG,aAAa;EAE/B,IAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EAAC,YAAe;IACjD,IAAMC,UAAU,GAAGH,aAAa,CAA2B,iBAAiB,CAAC;IAC7E,OAAO,CAAC,CAACG,UAAU;EACvB,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHE,iBAAiB,EAAjBA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Module","require"],"sources":["index.tsx"],"sourcesContent":["import { Module } from \"~/plugins/Module\";\n\nexport { Module };\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA"}
|
|
1
|
+
{"version":3,"names":["_Module","require"],"sources":["index.tsx"],"sourcesContent":["import { Module } from \"~/plugins/Module\";\n\nexport { Module };\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-mailer",
|
|
3
|
-
"version": "5.40.0-beta.
|
|
3
|
+
"version": "5.40.0-beta.3",
|
|
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.
|
|
13
|
+
"@babel/runtime": "7.24.1",
|
|
14
14
|
"@emotion/react": "11.10.8",
|
|
15
|
-
"@webiny/app-admin": "5.40.0-beta.
|
|
16
|
-
"@webiny/app-security": "5.40.0-beta.
|
|
17
|
-
"@webiny/form": "5.40.0-beta.
|
|
18
|
-
"@webiny/ui": "5.40.0-beta.
|
|
19
|
-
"@webiny/validation": "5.40.0-beta.
|
|
15
|
+
"@webiny/app-admin": "5.40.0-beta.3",
|
|
16
|
+
"@webiny/app-security": "5.40.0-beta.3",
|
|
17
|
+
"@webiny/form": "5.40.0-beta.3",
|
|
18
|
+
"@webiny/ui": "5.40.0-beta.3",
|
|
19
|
+
"@webiny/validation": "5.40.0-beta.3",
|
|
20
20
|
"apollo-cache": "1.3.5",
|
|
21
21
|
"apollo-client": "2.6.10",
|
|
22
22
|
"apollo-link": "1.2.14",
|
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
"graphql": "15.8.0",
|
|
26
26
|
"graphql-tag": "2.12.6",
|
|
27
27
|
"prop-types": "15.8.1",
|
|
28
|
-
"react": "
|
|
29
|
-
"react-dom": "
|
|
28
|
+
"react": "18.2.0",
|
|
29
|
+
"react-dom": "18.2.0",
|
|
30
30
|
"react-helmet": "6.1.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@babel/cli": "7.
|
|
34
|
-
"@babel/core": "7.
|
|
35
|
-
"@babel/preset-env": "7.
|
|
36
|
-
"@babel/preset-react": "7.
|
|
37
|
-
"@babel/preset-typescript": "7.
|
|
38
|
-
"@
|
|
39
|
-
"@
|
|
40
|
-
"@webiny/
|
|
41
|
-
"
|
|
42
|
-
"rimraf": "
|
|
33
|
+
"@babel/cli": "7.24.1",
|
|
34
|
+
"@babel/core": "7.24.3",
|
|
35
|
+
"@babel/preset-env": "7.24.3",
|
|
36
|
+
"@babel/preset-react": "7.24.1",
|
|
37
|
+
"@babel/preset-typescript": "7.24.1",
|
|
38
|
+
"@emotion/babel-plugin": "11.11.0",
|
|
39
|
+
"@types/react": "18.2.79",
|
|
40
|
+
"@webiny/cli": "5.40.0-beta.3",
|
|
41
|
+
"@webiny/project-utils": "5.40.0-beta.3",
|
|
42
|
+
"rimraf": "5.0.5",
|
|
43
43
|
"ttypescript": "1.5.15",
|
|
44
44
|
"typescript": "4.7.4"
|
|
45
45
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"removeViewBox": false
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "638d8b84063906cd1aa979ed6e0487ad26fbcf2f"
|
|
60
60
|
}
|
package/plugins/Module.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Module: () => JSX.Element;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const Module: () => React.JSX.Element;
|
package/plugins/Module.js
CHANGED
|
@@ -56,9 +56,8 @@ var MailerSettings = function MailerSettings() {
|
|
|
56
56
|
}
|
|
57
57
|
}));
|
|
58
58
|
};
|
|
59
|
-
var Module = function Module() {
|
|
59
|
+
var Module = exports.Module = function Module() {
|
|
60
60
|
return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugins, null, /*#__PURE__*/_react.default.createElement(MailerSettings, null));
|
|
61
61
|
};
|
|
62
|
-
exports.Module = Module;
|
|
63
62
|
|
|
64
63
|
//# sourceMappingURL=Module.js.map
|
package/plugins/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard3","require","_appAdmin","_appSecurity","_AdminLayout","_reactHelmet","_interopRequireDefault","_usePermission2","_Progress","_excluded","Settings","lazy","Promise","resolve","then","_interopRequireWildcard2","default","Loader","_ref","children","props","_objectWithoutProperties2","createElement","Suspense","fallback","CircularProgress","React","cloneElement","MailerSettings","_usePermission","usePermission","canChangeSettings","changeSettings","Fragment","AddMenu","name","label","path","AddRoute","exact","render","SecureRoute","permission","AdminLayout","title","Module","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard3","require","_appAdmin","_appSecurity","_AdminLayout","_reactHelmet","_interopRequireDefault","_usePermission2","_Progress","_excluded","Settings","lazy","Promise","resolve","then","_interopRequireWildcard2","default","Loader","_ref","children","props","_objectWithoutProperties2","createElement","Suspense","fallback","CircularProgress","React","cloneElement","MailerSettings","_usePermission","usePermission","canChangeSettings","changeSettings","Fragment","AddMenu","name","label","path","AddRoute","exact","render","SecureRoute","permission","AdminLayout","title","Module","exports","Plugins"],"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(\n () =>\n import(\n /* webpackChunkName: \"MailerModuleSettings\" */\n \"~/views/settings\"\n )\n);\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader = ({ children, ...props }: LoaderProps) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings = () => {\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 = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { SecurityPermission } from \"@webiny/app-security/types\";\n\n/**\n * A base security permission for APW.\n *\n * @category SecurityPermission\n */\nexport interface MailerSecurityPermission extends SecurityPermission {\n changeSettings?: boolean;\n}\n\n/**\n * GraphQL API call response for the transport settings values\n * @category GraphQL\n */\nexport interface TransportSettings {\n host: string;\n user: string;\n from: string;\n replyTo?: string;\n password?: string;\n}\n/**\n *\n * @category GraphQL\n */\nexport interface ApiError<T = Record<string, any>> {\n message: string;\n code: string;\n data: T;\n}\n\n/**\n * Description of the JOI validation errors received from the API.\n *\n * @category GraphQL\n */\nexport interface ValidationError {\n message: string;\n path: string[];\n}\n\nexport interface ValidationErrors {\n errors: ValidationError[];\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { SecurityPermission } from \"@webiny/app-security/types\";\n\n/**\n * A base security permission for APW.\n *\n * @category SecurityPermission\n */\nexport interface MailerSecurityPermission extends SecurityPermission {\n changeSettings?: boolean;\n}\n\n/**\n * GraphQL API call response for the transport settings values\n * @category GraphQL\n */\nexport interface TransportSettings {\n host: string;\n user: string;\n from: string;\n replyTo?: string;\n password?: string;\n}\n/**\n *\n * @category GraphQL\n */\nexport interface ApiError<T = Record<string, any>> {\n message: string;\n code: string;\n data: T;\n}\n\n/**\n * Description of the JOI validation errors received from the API.\n *\n * @category GraphQL\n */\nexport interface ValidationError {\n message: string;\n path: string[];\n}\n\nexport interface ValidationErrors {\n errors: ValidationError[];\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Settings: () => JSX.Element;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const Settings: () => React.JSX.Element;
|
|
@@ -37,7 +37,7 @@ var displayErrors = function displayErrors(errors) {
|
|
|
37
37
|
});
|
|
38
38
|
}));
|
|
39
39
|
};
|
|
40
|
-
var Settings = function Settings() {
|
|
40
|
+
var Settings = exports.Settings = function Settings() {
|
|
41
41
|
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
42
42
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
43
43
|
var password = (0, _react.useRef)();
|
|
@@ -188,6 +188,5 @@ var Settings = function Settings() {
|
|
|
188
188
|
});
|
|
189
189
|
});
|
|
190
190
|
};
|
|
191
|
-
exports.Settings = Settings;
|
|
192
191
|
|
|
193
192
|
//# sourceMappingURL=Settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactComponents","_form","_SimpleForm","_Progress","_Grid","_Input","_validation","_Button","_graphql","_Alert","_dotPropImmutable","_interopRequireDefault","displayErrors","errors","default","createElement","Fragment","map","error","field","path","Alert","key","concat","title","message","type","Settings","_useSnackbar","useSnackbar","showSnackbar","password","useRef","_useState","useState","_useState2","_slicedToArray2","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","Query","query","GET_SETTINGS_QUERY","_ref","response","data","queryInProgress","loading","Mutation","mutation","SAVE_SETTINGS_MUTATION","update","result","_ref2","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","_ref3","updateData","updateError","writeQuery","dotPropImmutable","set","_objectSpread2","CenteredView","SimpleFormHeader","Grid","style","backgroundColor","Cell","span","description","passwordValidators","user","push","validation","create","Form","_ref4","Bind","form","SimpleForm","CircularProgress","SimpleFormContent","name","validators","Input","label","autoComplete","inputRef","SimpleFormFooter","ButtonPrimary","onClick","ev","submit","exports"],"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 SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\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 = () => {\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<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\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 cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\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-expect-error\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":["_react","_interopRequireWildcard","require","_appAdmin","_reactComponents","_form","_SimpleForm","_Progress","_Grid","_Input","_validation","_Button","_graphql","_Alert","_dotPropImmutable","_interopRequireDefault","displayErrors","errors","default","createElement","Fragment","map","error","field","path","Alert","key","concat","title","message","type","Settings","exports","_useSnackbar","useSnackbar","showSnackbar","password","useRef","_useState","useState","_useState2","_slicedToArray2","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","Query","query","GET_SETTINGS_QUERY","_ref","response","data","queryInProgress","loading","Mutation","mutation","SAVE_SETTINGS_MUTATION","update","result","_ref2","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","_ref3","updateData","updateError","writeQuery","dotPropImmutable","set","_objectSpread2","CenteredView","SimpleFormHeader","Grid","style","backgroundColor","Cell","span","description","passwordValidators","user","push","validation","create","Form","_ref4","Bind","form","SimpleForm","CircularProgress","SimpleFormContent","name","validators","Input","label","autoComplete","inputRef","SimpleFormFooter","ButtonPrimary","onClick","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 SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\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 = () => {\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<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\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 cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\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-expect-error\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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","ignoreList":[]}
|
|
@@ -10,9 +10,7 @@ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
|
10
10
|
var _templateObject, _templateObject2;
|
|
11
11
|
var SETTINGS_FIELDS = "\n {\n host\n port\n user\n from\n replyTo\n }\n";
|
|
12
12
|
var ERROR_FIELDS = "\n {\n message\n code\n data\n }\n";
|
|
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
|
-
exports.
|
|
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
|
-
exports.SAVE_SETTINGS_MUTATION = SAVE_SETTINGS_MUTATION;
|
|
13
|
+
var GET_SETTINGS_QUERY = exports.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
|
+
var SAVE_SETTINGS_MUTATION = exports.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);
|
|
17
15
|
|
|
18
16
|
//# sourceMappingURL=graphql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","_templateObject2","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","gql","_taggedTemplateLiteral2","default","
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","_templateObject2","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","exports","gql","_taggedTemplateLiteral2","default","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,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA,EAAAC,gBAAA;AAG9B,IAAMC,eAAe,8FAQpB;AAED,IAAMC,YAAY,kEAMjB;AAUM,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,OAAGE,mBAAG,EAAAN,eAAA,KAAAA,eAAA,OAAAO,uBAAA,CAAAC,OAAA,0LAIdN,eAAe,EACdC,YAAY,CAInC;AAgBM,IAAMM,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,OAAGH,mBAAG,EAAAL,gBAAA,KAAAA,gBAAA,OAAAM,uBAAA,CAAAC,OAAA,qPAIlBN,eAAe,EACdC,YAAY,CAInC","ignoreList":[]}
|
package/views/settings/index.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _Settings = require("./Settings");
|
|
8
|
-
var _default = _Settings.Settings;
|
|
9
|
-
exports.default = _default;
|
|
8
|
+
var _default = exports.default = _Settings.Settings;
|
|
10
9
|
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Settings","require","_default","
|
|
1
|
+
{"version":3,"names":["_Settings","require","_default","exports","default","Settings"],"sources":["index.ts"],"sourcesContent":["import { Settings } from \"./Settings\";\n\nexport default Settings;\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAsC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEvBC,kBAAQ","ignoreList":[]}
|