Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Confirm register using email #535

Merged
merged 12 commits into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"drizzle-kit": "drizzle-kit",
"config:init": "vitnode-backend init",
"build": "nest build",
"dev": "pnpm config:init && cross-env NODE_ENV=development nest start -w",
"dev": "pnpm db && pnpm config:init && cross-env NODE_ENV=development nest start -w",
"start": "node dist/main",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"codegen": "graphql-codegen",
"db": "vitnode-backend db"
"db": "drizzle-kit up && drizzle-kit generate && drizzle-kit migrate"
},
"dependencies": {
"@nestjs/apollo": "^12.2.0",
Expand Down
10 changes: 9 additions & 1 deletion apps/backend/schema.gql
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ type LogsAdminEmailObj {
}

type Mutation {
admin__core_authorization_settings__edit(force_login: Boolean!, lock_register: Boolean!): ShowAdminAuthorizationSettingsObj!
admin__core_authorization_settings__edit(force_login: Boolean!, lock_register: Boolean!, require_confirm_email: Boolean!): ShowAdminAuthorizationSettingsObj!
admin__core_email_settings__edit(color_primary: String!, color_primary_foreground: String!, from: String!, logo: UploadWithKeepCoreFilesArgs, provider: EmailProvider!, resend_key: String, smtp: SMTPEditAdminEmailSettingsService): ShowAdminEmailSettingsServiceObj!
admin__core_email_settings__test(message: String!, preview_text: String, subject: String!, to: String!): String!
admin__core_files__delete(id: Int!): String!
Expand All @@ -237,6 +237,7 @@ type Mutation {
admin__core_languages__edit(allow_in_input: Boolean!, default: Boolean!, enabled: Boolean!, id: Int!, locale: String!, name: String!, time_24: Boolean!, timezone: String!): ShowCoreLanguages!
admin__core_main_settings__edit(contact_email: String!, site_copyright: [StringLanguageInput!]!, site_description: [StringLanguageInput!]!, site_name: String!, site_short_name: String!): EditAdminSettingsObj!
admin__core_manifest_metadata__edit(background_color: String!, display: String!, start_url: String!, theme_color: String!): ShowAdminManifestMetadataObj!
admin__core_members__confirm_email(id: Float!): String!
admin__core_members__create(email: String!, name: String!, password: String!): SignUpCoreSessionsObj!
admin__core_members__delete(id: Float!): String!
admin__core_members__edit(email: String!, id: Int!, name: String!, newsletter: Boolean!): EditAdminMembersObj!
Expand Down Expand Up @@ -319,6 +320,7 @@ type Query {
core_plugins__show: [ShowCorePluginsObj!]!
core_sessions__authorization: AuthorizationCoreSessionsObj!
core_sessions__devices__show: [ShowCoreSessionDevicesObj!]!
core_sessions__email_verify(token: String!, user_id: Float!): String!
core_settings__show: ShowSettingsObj!
core_terms__show(code: String, cursor: Int, first: Int, last: Int): ShowCoreTermsObj!
core_theme_editor__show: ShowCoreThemeEditorObj!
Expand All @@ -342,7 +344,9 @@ type SecurityCoreMiddleware {

type ShowAdminAuthorizationSettingsObj {
force_login: Boolean!
is_email_enabled: Boolean!
lock_register: Boolean!
require_confirm_email: Boolean!
}

type ShowAdminCaptchaSecurityObj {
Expand Down Expand Up @@ -426,6 +430,7 @@ type ShowAdminMembers {
avatar: AvatarUser
avatar_color: String!
email: String!
email_verified: Boolean!
group: GroupUser!
id: Int!
joined: DateTime!
Expand Down Expand Up @@ -722,7 +727,10 @@ type ShowSettingsObj {

type SignUpCoreSessionsObj {
email: String!
email_verified: Boolean!
group_id: Int!
id: Float!
language: String!
name: String!
newsletter: Boolean
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import {
generateMetadataSlug,
SlugView,
SlugViewProps,
} from 'vitnode-frontend/views/slug';
// ! DO NOT TOUCH THIS FILE!!! IT IS GENERATED BY VITNODE-CLI

export const generateMetadata = generateMetadataSlug;
import { notFound } from 'next/navigation';

export default function Page(props: SlugViewProps) {
return <SlugView {...props} />;
export default function Page() {
return notFound();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
generateMetadataItemLegal,
ItemLegalView,
} from 'vitnode-frontend/views/theme/views/legal/item/item-legal-view';

export const generateMetadata = generateMetadataItemLegal;

export default function Page(
props: React.ComponentProps<typeof ItemLegalView>,
) {
return <ItemLegalView {...props} />;
}
10 changes: 10 additions & 0 deletions apps/frontend/src/app/[locale]/(main)/(vitnode)/legal/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
generateMetadataLegal,
LegalView,
} from 'vitnode-frontend/views/theme/views/legal/legal-view';

export const generateMetadata = generateMetadataLegal;

export default function Page() {
return <LegalView />;
}
10 changes: 10 additions & 0 deletions apps/frontend/src/app/[locale]/(main)/(vitnode)/login/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
generateMetadataSignIn,
SignInView,
} from 'vitnode-frontend/views/theme/views/auth/sign/in/sign-in-view';

export const generateMetadata = generateMetadataSignIn;

export default function Page() {
return <SignInView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { ProfileView } from 'vitnode-frontend/views/theme/views/profile/profile-view';

export default function Page(props: React.ComponentProps<typeof ProfileView>) {
return <ProfileView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
ConfirmEmailSignUpView,
metadataConfirmEmailSignUp,
} from 'vitnode-frontend/views/theme/views/auth/sign/up/confirm-email/confirm-email-sign-up-view';

export const metadata = metadataConfirmEmailSignUp;

export default function Page(
props: React.ComponentProps<typeof ConfirmEmailSignUpView>,
) {
return <ConfirmEmailSignUpView {...props} />;
}
10 changes: 10 additions & 0 deletions apps/frontend/src/app/[locale]/(main)/(vitnode)/register/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
generateMetadataSignUp,
SignUpView,
} from 'vitnode-frontend/views/theme/views/auth/sign/up/sign-up-view';

export const generateMetadata = generateMetadataSignUp;

export default function Page() {
return <SignUpView />;
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
DevicesSettingsView,
generateMetadataDevicesSettings,
} from 'vitnode-frontend/views/theme/views/settings/views/devices/devices-settings-view';

export const generateMetadata = generateMetadataDevicesSettings;

export default function Page() {
return <DevicesSettingsView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
FilesSettingsView,
generateMetadataFilesSettings,
} from 'vitnode-frontend/views/theme/views/settings/views/files/files-settings-view';

export const generateMetadata = generateMetadataFilesSettings;

export default function Page(
props: React.ComponentProps<typeof FilesSettingsView>,
) {
return <FilesSettingsView {...props} />;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import {

export const generateMetadata = generateMetadataLayoutSettings;

export default function Layout({ children }: { children: React.ReactNode }) {
return <LayoutSettingsView>{children}</LayoutSettingsView>;
export default function Layout(
props: React.ComponentProps<typeof LayoutSettingsView>,
) {
return <LayoutSettingsView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { redirect } from 'vitnode-frontend/navigation';
import { OverviewSettingsView } from 'vitnode-frontend/views/theme/views/settings/views/overview/overview-settings-view';

export default function Page() {
redirect('/settings/overview');
return <OverviewSettingsView />;
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import {
generateMetadataSlugAdmin,
SlugAdminView,
} from 'vitnode-frontend/views/admin/views/slug';
import { SlugViewProps } from 'vitnode-frontend/views/slug';
// ! DO NOT TOUCH THIS FILE!!! IT IS GENERATED BY VITNODE-CLI

export const generateMetadata = generateMetadataSlugAdmin;
import { notFound } from 'next/navigation';

export default function Page(props: SlugViewProps) {
return <SlugAdminView {...props} />;
export default function Page() {
return notFound();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
FilesAdvancedCoreAdminView,
generateMetadataFilesAdvancedCoreAdmin,
} from 'vitnode-frontend/views/admin/views/core/advanced/files/files-advanced-core-admin-view';

export const generateMetadata = generateMetadataFilesAdvancedCoreAdmin;

export default function Page(
props: React.ComponentProps<typeof FilesAdvancedCoreAdminView>,
) {
return <FilesAdvancedCoreAdminView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { DashboardCoreAdminView } from 'vitnode-frontend/views/admin/views/core/dashboard/dashboard-core-admin-view';

export default function Page() {
return <DashboardCoreAdminView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
DiagnosticToolsView,
generateMetadataDiagnosticAdmin,
} from 'vitnode-frontend/views/admin/views/core/diagnostic/diagnostic-tools-view';

export const generateMetadata = generateMetadataDiagnosticAdmin;

export default function Page() {
return <DiagnosticToolsView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
generateMetadataLangsCoreAdmin,
LangsCoreAdminView,
} from 'vitnode-frontend/views/admin/views/core/langs/langs-core-admin-view';

export const generateMetadata = generateMetadataLangsCoreAdmin;

export default function Page(
props: React.ComponentProps<typeof LangsCoreAdminView>,
) {
return <LangsCoreAdminView {...props} />;
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { NavDevPluginAdminView } from 'vitnode-frontend/views/admin/views/core/plugins/views/dev/nav/nav';

export default function Page(
props: React.ComponentProps<typeof NavDevPluginAdminView>,
) {
return <NavDevPluginAdminView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { OverviewDevPluginAdminView } from 'vitnode-frontend/views/admin/views/core/plugins/views/dev/overview';

export default function Page(
props: React.ComponentProps<typeof OverviewDevPluginAdminView>,
) {
return <OverviewDevPluginAdminView {...props} />;
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
generateMetadataPluginsAdmin,
PluginsAdminView,
} from 'vitnode-frontend/views/admin/views/core/plugins/plugins-admin-view';

export const generateMetadata = generateMetadataPluginsAdmin;

export default function Page(
props: React.ComponentProps<typeof PluginsAdminView>,
) {
return <PluginsAdminView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
AuthorizationSettingsCoreAdminView,
generateMetadataAuthorizationSettingsAdmin,
} from 'vitnode-frontend/views/admin/views/core/settings/authorization/authorization-settings-core-admin-view';

export const generateMetadata = generateMetadataAuthorizationSettingsAdmin;

export default function Page() {
return <AuthorizationSettingsCoreAdminView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
generateMetadataLogsEmailSettingsAdmin,
LogsEmailSettingsAdminView,
} from 'vitnode-frontend/views/admin/views/core/settings/email/logs/logs-email-settings-admin-view';

export const generateMetadata = generateMetadataLogsEmailSettingsAdmin;

export default function Page(
props: React.ComponentProps<typeof LogsEmailSettingsAdminView>,
) {
return <LogsEmailSettingsAdminView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
EmailSettingsAdminView,
generateMetadataEmailSettingsAdmin,
} from 'vitnode-frontend/views/admin/views/core/settings/email/email-settings-admin-view';

export const generateMetadata = generateMetadataEmailSettingsAdmin;

export default function Page() {
return <EmailSettingsAdminView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
generateMetadataLegalSettingsAdmin,
LegalSettingsAdminView,
} from 'vitnode-frontend/views/admin/views/core/settings/legal/legal-core-admin-view';

export const generateMetadata = generateMetadataLegalSettingsAdmin;

export default function Page(
props: React.ComponentProps<typeof LegalSettingsAdminView>,
) {
return <LegalSettingsAdminView {...props} />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
generateMetadataMainSettingsCoreAdmin,
MainSettingsCoreAdminView,
} from 'vitnode-frontend/views/admin/views/core/settings/main/main-settings-core-admin-view';

export const generateMetadata = generateMetadataMainSettingsCoreAdmin;

export default function Page() {
return <MainSettingsCoreAdminView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
generateMetadataManifestMetadataCoreAdmin,
ManifestMetadataCoreAdminView,
} from 'vitnode-frontend/views/admin/views/core/settings/metadata/manifest/manifest-metadata-core-view';

export const generateMetadata = generateMetadataManifestMetadataCoreAdmin;

export default function Page() {
return <ManifestMetadataCoreAdminView />;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import {
CaptchaSecurityAdminView,
generateMetadataCaptchaSecurityAdmin,
} from 'vitnode-frontend/views/admin/views/core/settings/security/captcha/captcha-security-admin-view';

export const generateMetadata = generateMetadataCaptchaSecurityAdmin;

export default function Page() {
return <CaptchaSecurityAdminView />;
}
Loading
Loading