@webiny/app-mailer 6.0.0-alpha.0 → 6.0.0-alpha.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSecurity","useCallback","usePermission","identity","getPermission","canChangeSettings","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,SAASA,WAAW,QAAQ,sBAAsB;AAClD,SAASC,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAGJ,WAAW,CAAC,CAAC;EAEjD,MAAMK,iBAAiB,GAAGJ,WAAW,CAAC,MAAe;IACjD,MAAMK,UAAU,GAAGF,aAAa,CAA2B,iBAAiB,CAAC;IAC7E,OAAO,CAAC,CAACE,UAAU;EACvB,CAAC,EAAE,CAACH,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useSecurity","useCallback","usePermission","identity","getPermission","canChangeSettings","permission"],"sources":["usePermission.ts"],"sourcesContent":["import { useSecurity } from \"@webiny/app-security\";\nimport { useCallback } from \"react\";\nimport type { 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,SAASA,WAAW,QAAQ,sBAAsB;AAClD,SAASC,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAGJ,WAAW,CAAC,CAAC;EAEjD,MAAMK,iBAAiB,GAAGJ,WAAW,CAAC,MAAe;IACjD,MAAMK,UAAU,GAAGF,aAAa,CAA2B,iBAAiB,CAAC;IAC7E,OAAO,CAAC,CAACE,UAAU;EACvB,CAAC,EAAE,CAACH,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-mailer",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@apollo/react-components": "3.1.5",
|
|
13
|
-
"@webiny/admin-ui": "6.0.0-alpha.
|
|
14
|
-
"@webiny/app-admin": "6.0.0-alpha.
|
|
15
|
-
"@webiny/app-security": "6.0.0-alpha.
|
|
16
|
-
"@webiny/form": "6.0.0-alpha.
|
|
17
|
-
"@webiny/ui": "6.0.0-alpha.
|
|
18
|
-
"@webiny/validation": "6.0.0-alpha.
|
|
13
|
+
"@webiny/admin-ui": "6.0.0-alpha.2",
|
|
14
|
+
"@webiny/app-admin": "6.0.0-alpha.2",
|
|
15
|
+
"@webiny/app-security": "6.0.0-alpha.2",
|
|
16
|
+
"@webiny/form": "6.0.0-alpha.2",
|
|
17
|
+
"@webiny/ui": "6.0.0-alpha.2",
|
|
18
|
+
"@webiny/validation": "6.0.0-alpha.2",
|
|
19
19
|
"apollo-cache": "1.3.5",
|
|
20
20
|
"apollo-client": "2.6.10",
|
|
21
21
|
"apollo-link": "1.2.14",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/react": "18.2.79",
|
|
33
|
-
"@webiny/project-utils": "6.0.0-alpha.
|
|
33
|
+
"@webiny/project-utils": "6.0.0-alpha.2",
|
|
34
34
|
"rimraf": "6.0.1",
|
|
35
35
|
"typescript": "5.3.3"
|
|
36
36
|
},
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"removeViewBox": false
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "7c9e8fbfd62a57ece5f880dbad6c864636b0355e"
|
|
51
51
|
}
|
package/types.d.ts
CHANGED
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":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { 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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","CenteredView","useSnackbar","Mutation","Query","Form","SimpleForm","SimpleFormContent","SimpleFormFooter","SimpleFormHeader","validation","GET_SETTINGS_QUERY","SAVE_SETTINGS_MUTATION","dotPropImmutable","Alert","Button","Grid","Input","OverlayLoader","displayErrors","errors","createElement","Fragment","map","error","field","path","key","title","type","message","Settings","showSnackbar","password","setErrors","t","setTimeout","current","value","clearTimeout","query","data","response","loading","queryInProgress","mutation","update","result","settingsData","settingsError","mailer","settings","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","updateData","updateError","writeQuery","set","Column","span","description","passwordValidators","user","push","create","Bind","form","name","validators","size","label","autoComplete","inputRef","text","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 { validation } from \"@webiny/validation\";\nimport {\n GET_SETTINGS_QUERY,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { Alert, Button, Grid, Input, OverlayLoader } from \"@webiny/admin-ui\";\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 (\n <Alert key={`${field}`} title={\"Error\"} type=\"danger\">\n {error.message}\n {\"ssss\"}\n </Alert>\n );\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 <SimpleForm>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n <Grid>\n <Grid.Column span={12}>\n <Alert title={settingsError.message} type=\"danger\">\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Alert>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>{\"\"}</SimpleFormFooter>\n </SimpleForm>\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 <OverlayLoader />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Grid.Column span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Hostname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"port\"}>\n <Input\n size={\"lg\"}\n type=\"number\"\n label=\"Port\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n size={\"lg\"}\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail from\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <Button\n text={\"Save\"}\n onClick={ev => {\n form.submit(ev);\n }}\n />\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":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","CenteredView","useSnackbar","Mutation","Query","Form","SimpleForm","SimpleFormContent","SimpleFormFooter","SimpleFormHeader","validation","GET_SETTINGS_QUERY","SAVE_SETTINGS_MUTATION","dotPropImmutable","Alert","Button","Grid","Input","OverlayLoader","displayErrors","errors","createElement","Fragment","map","error","field","path","key","title","type","message","Settings","showSnackbar","password","setErrors","t","setTimeout","current","value","clearTimeout","query","data","response","loading","queryInProgress","mutation","update","result","settingsData","settingsError","mailer","settings","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","updateData","updateError","writeQuery","set","Column","span","description","passwordValidators","user","push","create","Bind","form","name","validators","size","label","autoComplete","inputRef","text","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 { validation } from \"@webiny/validation\";\nimport type {\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { GET_SETTINGS_QUERY, SAVE_SETTINGS_MUTATION } from \"./graphql\";\nimport type { TransportSettings, ValidationError } from \"~/types\";\nimport type { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport { Alert, Button, Grid, Input, OverlayLoader } from \"@webiny/admin-ui\";\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 (\n <Alert key={`${field}`} title={\"Error\"} type=\"danger\">\n {error.message}\n {\"ssss\"}\n </Alert>\n );\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 <SimpleForm>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n <Grid>\n <Grid.Column span={12}>\n <Alert title={settingsError.message} type=\"danger\">\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Alert>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>{\"\"}</SimpleFormFooter>\n </SimpleForm>\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 <OverlayLoader />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Grid.Column span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Hostname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"port\"}>\n <Input\n size={\"lg\"}\n type=\"number\"\n label=\"Port\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n size={\"lg\"}\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail from\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n size={\"lg\"}\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <Button\n text={\"Save\"}\n onClick={ev => {\n form.submit(ev);\n }}\n />\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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gql","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","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,OAAOA,GAAG,MAAM,aAAa;AAG7B,MAAMC,eAAe,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,YAAY,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,OAAO,MAAMC,kBAAkB,GAAGH,GAAG;AACrC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC;AAgBD,OAAO,MAAME,sBAAsB,GAAGJ,GAAG;AACzC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["gql","SETTINGS_FIELDS","ERROR_FIELDS","GET_SETTINGS_QUERY","SAVE_SETTINGS_MUTATION"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport type { 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,OAAOA,GAAG,MAAM,aAAa;AAG7B,MAAMC,eAAe,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,YAAY,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,OAAO,MAAMC,kBAAkB,GAAGH,GAAG;AACrC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC;AAgBD,OAAO,MAAME,sBAAsB,GAAGJ,GAAG;AACzC;AACA;AACA;AACA,uBAAuBC,eAAe;AACtC,wBAAwBC,YAAY;AACpC;AACA;AACA;AACA,CAAC","ignoreList":[]}
|