fix: template respone & ui

This commit is contained in:
Lakhan Samani 2022-08-09 09:07:47 +05:30
parent 65803c3763
commit 7792cdbc5e
11 changed files with 42 additions and 35 deletions

View File

@ -2798,7 +2798,8 @@
"@chakra-ui/css-reset": { "@chakra-ui/css-reset": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-1.1.1.tgz", "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-1.1.1.tgz",
"integrity": "sha512-+KNNHL4OWqeKia5SL858K3Qbd8WxMij9mWIilBzLD4j2KFrl/+aWFw8syMKth3NmgIibrjsljo+PU3fy2o50dg==" "integrity": "sha512-+KNNHL4OWqeKia5SL858K3Qbd8WxMij9mWIilBzLD4j2KFrl/+aWFw8syMKth3NmgIibrjsljo+PU3fy2o50dg==",
"requires": {}
}, },
"@chakra-ui/descendant": { "@chakra-ui/descendant": {
"version": "2.1.1", "version": "2.1.1",
@ -3402,7 +3403,8 @@
"@graphql-typed-document-node/core": { "@graphql-typed-document-node/core": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz",
"integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==" "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==",
"requires": {}
}, },
"@popperjs/core": { "@popperjs/core": {
"version": "2.11.0", "version": "2.11.0",
@ -3739,7 +3741,8 @@
"draft-js-utils": { "draft-js-utils": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/draft-js-utils/-/draft-js-utils-1.4.1.tgz", "resolved": "https://registry.npmjs.org/draft-js-utils/-/draft-js-utils-1.4.1.tgz",
"integrity": "sha512-xE81Y+z/muC5D5z9qWmKfxEW1XyXfsBzSbSBk2JRsoD0yzMGGHQm/0MtuqHl/EUDkaBJJLjJ2EACycoDMY/OOg==" "integrity": "sha512-xE81Y+z/muC5D5z9qWmKfxEW1XyXfsBzSbSBk2JRsoD0yzMGGHQm/0MtuqHl/EUDkaBJJLjJ2EACycoDMY/OOg==",
"requires": {}
}, },
"draftjs-to-html": { "draftjs-to-html": {
"version": "0.9.1", "version": "0.9.1",
@ -3749,7 +3752,8 @@
"draftjs-utils": { "draftjs-utils": {
"version": "0.10.2", "version": "0.10.2",
"resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.10.2.tgz", "resolved": "https://registry.npmjs.org/draftjs-utils/-/draftjs-utils-0.10.2.tgz",
"integrity": "sha512-EstHqr3R3JVcilJrBaO/A+01GvwwKmC7e4TCjC7S94ZeMh4IVmf60OuQXtHHpwItK8C2JCi3iljgN5KHkJboUg==" "integrity": "sha512-EstHqr3R3JVcilJrBaO/A+01GvwwKmC7e4TCjC7S94ZeMh4IVmf60OuQXtHHpwItK8C2JCi3iljgN5KHkJboUg==",
"requires": {}
}, },
"error-ex": { "error-ex": {
"version": "1.3.2", "version": "1.3.2",
@ -4043,7 +4047,8 @@
"html-to-draftjs": { "html-to-draftjs": {
"version": "1.5.0", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/html-to-draftjs/-/html-to-draftjs-1.5.0.tgz", "resolved": "https://registry.npmjs.org/html-to-draftjs/-/html-to-draftjs-1.5.0.tgz",
"integrity": "sha512-kggLXBNciKDwKf+KYsuE+V5gw4dZ7nHyGMX9m0wy7urzWjKGWyNFetmArRLvRV0VrxKN70WylFsJvMTJx02OBQ==" "integrity": "sha512-kggLXBNciKDwKf+KYsuE+V5gw4dZ7nHyGMX9m0wy7urzWjKGWyNFetmArRLvRV0VrxKN70WylFsJvMTJx02OBQ==",
"requires": {}
}, },
"immutable": { "immutable": {
"version": "3.7.6", "version": "3.7.6",
@ -4272,7 +4277,8 @@
"react-icons": { "react-icons": {
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz", "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.3.1.tgz",
"integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==" "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==",
"requires": {}
}, },
"react-is": { "react-is": {
"version": "16.13.1", "version": "16.13.1",
@ -4483,7 +4489,8 @@
"use-callback-ref": { "use-callback-ref": {
"version": "1.2.5", "version": "1.2.5",
"resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz",
"integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==" "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==",
"requires": {}
}, },
"use-sidecar": { "use-sidecar": {
"version": "1.0.5", "version": "1.0.5",

View File

@ -62,8 +62,7 @@ interface validatorDataType {
} }
const initTemplateData: emailTemplateDataType = { const initTemplateData: emailTemplateDataType = {
[EmailTemplateInputDataFields.EVENT_NAME]: [EmailTemplateInputDataFields.EVENT_NAME]: emailTemplateEventNames.Signup,
emailTemplateEventNames.BASIC_AUTH_SIGNUP,
[EmailTemplateInputDataFields.SUBJECT]: '', [EmailTemplateInputDataFields.SUBJECT]: '',
}; };
@ -206,10 +205,10 @@ const UpdateEmailTemplate = ({
).reduce((acc, varData): any => { ).reduce((acc, varData): any => {
if ( if (
(templateData[EmailTemplateInputDataFields.EVENT_NAME] !== (templateData[EmailTemplateInputDataFields.EVENT_NAME] !==
emailTemplateEventNames.VERIFY_OTP && emailTemplateEventNames['Verify Otp'] &&
varData[1] === emailTemplateVariables.otp) || varData[1] === emailTemplateVariables.otp) ||
(templateData[EmailTemplateInputDataFields.EVENT_NAME] === (templateData[EmailTemplateInputDataFields.EVENT_NAME] ===
emailTemplateEventNames.VERIFY_OTP && emailTemplateEventNames['Verify Otp'] &&
varData[1] === emailTemplateVariables.verification_url) varData[1] === emailTemplateVariables.verification_url)
) { ) {
return acc; return acc;

View File

@ -94,7 +94,7 @@ interface validatorDataType {
} }
const initWebhookData: webhookDataType = { const initWebhookData: webhookDataType = {
[WebhookInputDataFields.EVENT_NAME]: webhookEventNames.USER_LOGIN, [WebhookInputDataFields.EVENT_NAME]: webhookEventNames['User login'],
[WebhookInputDataFields.ENDPOINT]: '', [WebhookInputDataFields.ENDPOINT]: '',
[WebhookInputDataFields.ENABLED]: true, [WebhookInputDataFields.ENABLED]: true,
[WebhookInputDataFields.HEADERS]: [{ ...initHeadersData }], [WebhookInputDataFields.HEADERS]: [{ ...initHeadersData }],

View File

@ -183,20 +183,21 @@ export enum UpdateModalViews {
export const pageLimits: number[] = [5, 10, 15]; export const pageLimits: number[] = [5, 10, 15];
export const webhookEventNames = { export const webhookEventNames = {
USER_SIGNUP: 'user.signup', 'User signup': 'user.signup',
USER_CREATED: 'user.created', 'User created': 'user.created',
USER_LOGIN: 'user.login', 'User login': 'user.login',
USER_DELETED: 'user.deleted', 'User deleted': 'user.deleted',
USER_ACCESS_ENABLED: 'user.access_enabled', 'User access enabled': 'user.access_enabled',
USER_ACCESS_REVOKED: 'user.access_revoked', 'User access revoked': 'user.access_revoked',
}; };
export const emailTemplateEventNames = { export const emailTemplateEventNames = {
BASIC_AUTH_SIGNUP: 'basic_auth_signup', Signup: 'basic_auth_signup',
MAGIC_LINK_LOGIN: 'magic_link_login', 'Magic Link Login': 'magic_link_login',
UPDATE_EMAIL: 'update_email', 'Update Email': 'update_email',
FORGOT_PASSWORD: 'forgot_password', 'Forgot Password': 'forgot_password',
VERIFY_OTP: 'verify_otp', 'Verify Otp': 'verify_otp',
'Invite member': 'invite_member',
}; };
export enum webhookVerifiedStatus { export enum webhookVerifiedStatus {

View File

@ -126,7 +126,7 @@ export const WebhooksDataQuery = `
export const EmailTemplatesQuery = ` export const EmailTemplatesQuery = `
query getEmailTemplates($params: PaginatedInput!) { query getEmailTemplates($params: PaginatedInput!) {
_email_templates(params: $params) { _email_templates(params: $params) {
EmailTemplates { email_templates {
id id
event_name event_name
subject subject

View File

@ -40,7 +40,7 @@ import {
UpdateModalViews, UpdateModalViews,
EmailTemplateInputDataFields, EmailTemplateInputDataFields,
} from '../constants'; } from '../constants';
import { EmailTemplatesQuery, WebhooksDataQuery } from '../graphql/queries'; import { EmailTemplatesQuery } from '../graphql/queries';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import DeleteEmailTemplateModal from '../components/DeleteEmailTemplateModal'; import DeleteEmailTemplateModal from '../components/DeleteEmailTemplateModal';
@ -94,7 +94,7 @@ const EmailTemplates = () => {
}) })
.toPromise(); .toPromise();
if (res.data?._email_templates) { if (res.data?._email_templates) {
const { pagination, EmailTemplates: emailTemplates } = const { pagination, email_templates: emailTemplates } =
res.data?._email_templates; res.data?._email_templates;
const maxPages = getMaxPages(pagination); const maxPages = getMaxPages(pagination);
if (emailTemplates?.length) { if (emailTemplates?.length) {

View File

@ -441,7 +441,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
return e.complexity.EmailTemplate.UpdatedAt(childComplexity), true return e.complexity.EmailTemplate.UpdatedAt(childComplexity), true
case "EmailTemplates.EmailTemplates": case "EmailTemplates.email_templates":
if e.complexity.EmailTemplates.EmailTemplates == nil { if e.complexity.EmailTemplates.EmailTemplates == nil {
break break
} }
@ -2066,7 +2066,7 @@ type EmailTemplate {
type EmailTemplates { type EmailTemplates {
pagination: Pagination! pagination: Pagination!
EmailTemplates: [EmailTemplate!]! email_templates: [EmailTemplate!]!
} }
input UpdateEnvInput { input UpdateEnvInput {
@ -3404,7 +3404,7 @@ func (ec *executionContext) _EmailTemplates_pagination(ctx context.Context, fiel
return ec.marshalNPagination2ᚖgithubᚗcomᚋauthorizerdevᚋauthorizerᚋserverᚋgraphᚋmodelᚐPagination(ctx, field.Selections, res) return ec.marshalNPagination2ᚖgithubᚗcomᚋauthorizerdevᚋauthorizerᚋserverᚋgraphᚋmodelᚐPagination(ctx, field.Selections, res)
} }
func (ec *executionContext) _EmailTemplates_EmailTemplates(ctx context.Context, field graphql.CollectedField, obj *model.EmailTemplates) (ret graphql.Marshaler) { func (ec *executionContext) _EmailTemplates_email_templates(ctx context.Context, field graphql.CollectedField, obj *model.EmailTemplates) (ret graphql.Marshaler) {
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
ec.Error(ctx, ec.Recover(ctx, r)) ec.Error(ctx, ec.Recover(ctx, r))
@ -12198,8 +12198,8 @@ func (ec *executionContext) _EmailTemplates(ctx context.Context, sel ast.Selecti
if out.Values[i] == graphql.Null { if out.Values[i] == graphql.Null {
invalids++ invalids++
} }
case "EmailTemplates": case "email_templates":
out.Values[i] = ec._EmailTemplates_EmailTemplates(ctx, field, obj) out.Values[i] = ec._EmailTemplates_email_templates(ctx, field, obj)
if out.Values[i] == graphql.Null { if out.Values[i] == graphql.Null {
invalids++ invalids++
} }

View File

@ -52,7 +52,7 @@ type EmailTemplate struct {
type EmailTemplates struct { type EmailTemplates struct {
Pagination *Pagination `json:"pagination"` Pagination *Pagination `json:"pagination"`
EmailTemplates []*EmailTemplate `json:"EmailTemplates"` EmailTemplates []*EmailTemplate `json:"email_templates"`
} }
type Env struct { type Env struct {

View File

@ -201,7 +201,7 @@ type EmailTemplate {
type EmailTemplates { type EmailTemplates {
pagination: Pagination! pagination: Pagination!
EmailTemplates: [EmailTemplate!]! email_templates: [EmailTemplate!]!
} }
input UpdateEnvInput { input UpdateEnvInput {

View File

@ -166,7 +166,7 @@ func InviteMembersResolver(ctx context.Context, params model.InviteMemberInput)
go emailservice.SendEmail([]string{user.Email}, constants.VerificationTypeInviteMember, map[string]interface{}{ go emailservice.SendEmail([]string{user.Email}, constants.VerificationTypeInviteMember, map[string]interface{}{
"user": user.ToMap(), "user": user.ToMap(),
"organization": utils.GetOrganization(), "organization": utils.GetOrganization(),
"verification_url": utils.GetInviteVerificationURL(verifyEmailURL, verificationToken, hostname), "verification_url": utils.GetInviteVerificationURL(verifyEmailURL, verificationToken, redirectURL),
}) })
} }

View File

@ -4,7 +4,7 @@ import "github.com/authorizerdev/authorizer/server/constants"
// IsValidEmailTemplateEventName function to validate email template events // IsValidEmailTemplateEventName function to validate email template events
func IsValidEmailTemplateEventName(eventName string) bool { func IsValidEmailTemplateEventName(eventName string) bool {
if eventName != constants.VerificationTypeBasicAuthSignup && eventName != constants.VerificationTypeForgotPassword && eventName != constants.VerificationTypeMagicLinkLogin && eventName != constants.VerificationTypeUpdateEmail && eventName != constants.VerificationTypeOTP { if eventName != constants.VerificationTypeBasicAuthSignup && eventName != constants.VerificationTypeForgotPassword && eventName != constants.VerificationTypeMagicLinkLogin && eventName != constants.VerificationTypeUpdateEmail && eventName != constants.VerificationTypeOTP && eventName != constants.VerificationTypeInviteMember {
return false return false
} }