From 7792cdbc5eaed6faaccfc5e2a2060bb50920d6b9 Mon Sep 17 00:00:00 2001 From: Lakhan Samani Date: Tue, 9 Aug 2022 09:07:47 +0530 Subject: [PATCH] fix: template respone & ui --- dashboard/package-lock.json | 21 +++++++++++------ .../components/UpdateEmailTemplateModal.tsx | 7 +++--- .../src/components/UpdateWebhookModal.tsx | 2 +- dashboard/src/constants.ts | 23 ++++++++++--------- dashboard/src/graphql/queries/index.ts | 2 +- dashboard/src/pages/EmailTemplates.tsx | 4 ++-- server/graph/generated/generated.go | 10 ++++---- server/graph/model/models_gen.go | 2 +- server/graph/schema.graphqls | 2 +- server/resolvers/invite_members.go | 2 +- server/validators/email_template.go | 2 +- 11 files changed, 42 insertions(+), 35 deletions(-) diff --git a/dashboard/package-lock.json b/dashboard/package-lock.json index cb425b7..728cf33 100644 --- a/dashboard/package-lock.json +++ b/dashboard/package-lock.json @@ -2798,7 +2798,8 @@ "@chakra-ui/css-reset": { "version": "1.1.1", "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": { "version": "2.1.1", @@ -3402,7 +3403,8 @@ "@graphql-typed-document-node/core": { "version": "3.1.1", "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": { "version": "2.11.0", @@ -3739,7 +3741,8 @@ "draft-js-utils": { "version": "1.4.1", "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": { "version": "0.9.1", @@ -3749,7 +3752,8 @@ "draftjs-utils": { "version": "0.10.2", "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": { "version": "1.3.2", @@ -4043,7 +4047,8 @@ "html-to-draftjs": { "version": "1.5.0", "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": { "version": "3.7.6", @@ -4272,7 +4277,8 @@ "react-icons": { "version": "4.3.1", "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": { "version": "16.13.1", @@ -4483,7 +4489,8 @@ "use-callback-ref": { "version": "1.2.5", "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": { "version": "1.0.5", diff --git a/dashboard/src/components/UpdateEmailTemplateModal.tsx b/dashboard/src/components/UpdateEmailTemplateModal.tsx index 5deee15..1157c09 100644 --- a/dashboard/src/components/UpdateEmailTemplateModal.tsx +++ b/dashboard/src/components/UpdateEmailTemplateModal.tsx @@ -62,8 +62,7 @@ interface validatorDataType { } const initTemplateData: emailTemplateDataType = { - [EmailTemplateInputDataFields.EVENT_NAME]: - emailTemplateEventNames.BASIC_AUTH_SIGNUP, + [EmailTemplateInputDataFields.EVENT_NAME]: emailTemplateEventNames.Signup, [EmailTemplateInputDataFields.SUBJECT]: '', }; @@ -206,10 +205,10 @@ const UpdateEmailTemplate = ({ ).reduce((acc, varData): any => { if ( (templateData[EmailTemplateInputDataFields.EVENT_NAME] !== - emailTemplateEventNames.VERIFY_OTP && + emailTemplateEventNames['Verify Otp'] && varData[1] === emailTemplateVariables.otp) || (templateData[EmailTemplateInputDataFields.EVENT_NAME] === - emailTemplateEventNames.VERIFY_OTP && + emailTemplateEventNames['Verify Otp'] && varData[1] === emailTemplateVariables.verification_url) ) { return acc; diff --git a/dashboard/src/components/UpdateWebhookModal.tsx b/dashboard/src/components/UpdateWebhookModal.tsx index 9749ef5..a9cf128 100644 --- a/dashboard/src/components/UpdateWebhookModal.tsx +++ b/dashboard/src/components/UpdateWebhookModal.tsx @@ -94,7 +94,7 @@ interface validatorDataType { } const initWebhookData: webhookDataType = { - [WebhookInputDataFields.EVENT_NAME]: webhookEventNames.USER_LOGIN, + [WebhookInputDataFields.EVENT_NAME]: webhookEventNames['User login'], [WebhookInputDataFields.ENDPOINT]: '', [WebhookInputDataFields.ENABLED]: true, [WebhookInputDataFields.HEADERS]: [{ ...initHeadersData }], diff --git a/dashboard/src/constants.ts b/dashboard/src/constants.ts index b2e7152..1998785 100644 --- a/dashboard/src/constants.ts +++ b/dashboard/src/constants.ts @@ -183,20 +183,21 @@ export enum UpdateModalViews { export const pageLimits: number[] = [5, 10, 15]; export const webhookEventNames = { - USER_SIGNUP: 'user.signup', - USER_CREATED: 'user.created', - USER_LOGIN: 'user.login', - USER_DELETED: 'user.deleted', - USER_ACCESS_ENABLED: 'user.access_enabled', - USER_ACCESS_REVOKED: 'user.access_revoked', + 'User signup': 'user.signup', + 'User created': 'user.created', + 'User login': 'user.login', + 'User deleted': 'user.deleted', + 'User access enabled': 'user.access_enabled', + 'User access revoked': 'user.access_revoked', }; export const emailTemplateEventNames = { - BASIC_AUTH_SIGNUP: 'basic_auth_signup', - MAGIC_LINK_LOGIN: 'magic_link_login', - UPDATE_EMAIL: 'update_email', - FORGOT_PASSWORD: 'forgot_password', - VERIFY_OTP: 'verify_otp', + Signup: 'basic_auth_signup', + 'Magic Link Login': 'magic_link_login', + 'Update Email': 'update_email', + 'Forgot Password': 'forgot_password', + 'Verify Otp': 'verify_otp', + 'Invite member': 'invite_member', }; export enum webhookVerifiedStatus { diff --git a/dashboard/src/graphql/queries/index.ts b/dashboard/src/graphql/queries/index.ts index 06fe1fd..146748b 100644 --- a/dashboard/src/graphql/queries/index.ts +++ b/dashboard/src/graphql/queries/index.ts @@ -126,7 +126,7 @@ export const WebhooksDataQuery = ` export const EmailTemplatesQuery = ` query getEmailTemplates($params: PaginatedInput!) { _email_templates(params: $params) { - EmailTemplates { + email_templates { id event_name subject diff --git a/dashboard/src/pages/EmailTemplates.tsx b/dashboard/src/pages/EmailTemplates.tsx index 9058003..83bea54 100644 --- a/dashboard/src/pages/EmailTemplates.tsx +++ b/dashboard/src/pages/EmailTemplates.tsx @@ -40,7 +40,7 @@ import { UpdateModalViews, EmailTemplateInputDataFields, } from '../constants'; -import { EmailTemplatesQuery, WebhooksDataQuery } from '../graphql/queries'; +import { EmailTemplatesQuery } from '../graphql/queries'; import dayjs from 'dayjs'; import DeleteEmailTemplateModal from '../components/DeleteEmailTemplateModal'; @@ -94,7 +94,7 @@ const EmailTemplates = () => { }) .toPromise(); if (res.data?._email_templates) { - const { pagination, EmailTemplates: emailTemplates } = + const { pagination, email_templates: emailTemplates } = res.data?._email_templates; const maxPages = getMaxPages(pagination); if (emailTemplates?.length) { diff --git a/server/graph/generated/generated.go b/server/graph/generated/generated.go index 9c5130f..d7cc5c6 100644 --- a/server/graph/generated/generated.go +++ b/server/graph/generated/generated.go @@ -441,7 +441,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.EmailTemplate.UpdatedAt(childComplexity), true - case "EmailTemplates.EmailTemplates": + case "EmailTemplates.email_templates": if e.complexity.EmailTemplates.EmailTemplates == nil { break } @@ -2066,7 +2066,7 @@ type EmailTemplate { type EmailTemplates { pagination: Pagination! - EmailTemplates: [EmailTemplate!]! + email_templates: [EmailTemplate!]! } 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) } -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() { if r := recover(); r != nil { 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 { invalids++ } - case "EmailTemplates": - out.Values[i] = ec._EmailTemplates_EmailTemplates(ctx, field, obj) + case "email_templates": + out.Values[i] = ec._EmailTemplates_email_templates(ctx, field, obj) if out.Values[i] == graphql.Null { invalids++ } diff --git a/server/graph/model/models_gen.go b/server/graph/model/models_gen.go index 69f2ab1..86a4a0c 100644 --- a/server/graph/model/models_gen.go +++ b/server/graph/model/models_gen.go @@ -52,7 +52,7 @@ type EmailTemplate struct { type EmailTemplates struct { Pagination *Pagination `json:"pagination"` - EmailTemplates []*EmailTemplate `json:"EmailTemplates"` + EmailTemplates []*EmailTemplate `json:"email_templates"` } type Env struct { diff --git a/server/graph/schema.graphqls b/server/graph/schema.graphqls index 156be33..cbfd9e1 100644 --- a/server/graph/schema.graphqls +++ b/server/graph/schema.graphqls @@ -201,7 +201,7 @@ type EmailTemplate { type EmailTemplates { pagination: Pagination! - EmailTemplates: [EmailTemplate!]! + email_templates: [EmailTemplate!]! } input UpdateEnvInput { diff --git a/server/resolvers/invite_members.go b/server/resolvers/invite_members.go index c642740..8559020 100644 --- a/server/resolvers/invite_members.go +++ b/server/resolvers/invite_members.go @@ -166,7 +166,7 @@ func InviteMembersResolver(ctx context.Context, params model.InviteMemberInput) go emailservice.SendEmail([]string{user.Email}, constants.VerificationTypeInviteMember, map[string]interface{}{ "user": user.ToMap(), "organization": utils.GetOrganization(), - "verification_url": utils.GetInviteVerificationURL(verifyEmailURL, verificationToken, hostname), + "verification_url": utils.GetInviteVerificationURL(verifyEmailURL, verificationToken, redirectURL), }) } diff --git a/server/validators/email_template.go b/server/validators/email_template.go index fb5aa25..7b5469b 100644 --- a/server/validators/email_template.go +++ b/server/validators/email_template.go @@ -4,7 +4,7 @@ import "github.com/authorizerdev/authorizer/server/constants" // IsValidEmailTemplateEventName function to validate email template events 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 }