mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
refactor(users): reorganize into actions/components/schemas
This commit is contained in:
@@ -2,8 +2,8 @@ import {PageParams} from "@/types/next";
|
|||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {desc, isNull} from "drizzle-orm";
|
import {desc, isNull} from "drizzle-orm";
|
||||||
import {AdminUserList} from "@/features/users/admin-user-list";
|
import {AdminUserList} from "@/features/users/components/admin-user-list";
|
||||||
import {AdminUserAddModal} from "@/features/users/admin-user-add-modal";
|
import {AdminUserAddModal} from "@/features/users/components/admin-user-add-modal";
|
||||||
import {SUPPORTED_PROVIDERS} from "@/lib/auth/config";
|
import {SUPPORTED_PROVIDERS} from "@/lib/auth/config";
|
||||||
import {getSettings} from "@/db/services/setting";
|
import {getSettings} from "@/db/services/setting";
|
||||||
import {resolveAvatarUrl} from "@/utils/resolve-avatar-url";
|
import {resolveAvatarUrl} from "@/utils/resolve-avatar-url";
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import { ServerActionResult } from "@/types/action-type";
|
import { ServerActionResult } from "@/types/action-type";
|
||||||
import { render } from "@react-email/render";
|
import { render } from "@react-email/render";
|
||||||
import { UserSchema } from "@/features/users/user.schema";
|
import { UserSchema } from "@/features/users/schemas/user.schema";
|
||||||
import { extractNameFromEmail } from "@/utils/name-from-email";
|
import { extractNameFromEmail } from "@/utils/name-from-email";
|
||||||
import { generateValidPassword } from "@/utils/password";
|
import { generateValidPassword } from "@/utils/password";
|
||||||
import { auth } from "@/lib/auth/auth";
|
import { auth } from "@/lib/auth/auth";
|
||||||
+1
-1
@@ -6,7 +6,7 @@ import { Plus } from "lucide-react";
|
|||||||
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
|
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Organization } from "@/db/schema/03_organization";
|
import { Organization } from "@/db/schema/03_organization";
|
||||||
import {AdminUserForm} from "@/features/users/admin-user-form";
|
import {AdminUserForm} from "@/features/users/components/admin-user-form";
|
||||||
|
|
||||||
type AdminUserAddModalProps = {
|
type AdminUserAddModalProps = {
|
||||||
organizations: Organization[];
|
organizations: Organization[];
|
||||||
+1
-1
@@ -15,7 +15,7 @@ import {
|
|||||||
} from "@/components/ui/alert-dialog";
|
} from "@/components/ui/alert-dialog";
|
||||||
import { authClient } from "@/lib/auth/auth-client";
|
import { authClient } from "@/lib/auth/auth-client";
|
||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
import { setSuperAdminOwnerOfOrganizationsOwnedByUser } from "@/features/users/user.action";
|
import { setSuperAdminOwnerOfOrganizationsOwnedByUser } from "@/features/users/actions/user.action";
|
||||||
|
|
||||||
type AdminDeleteUserModalProps = {
|
type AdminDeleteUserModalProps = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
+2
-2
@@ -7,8 +7,8 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodF
|
|||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { ButtonWithLoading } from "@/components/common/button-with-loading";
|
import { ButtonWithLoading } from "@/components/common/button-with-loading";
|
||||||
import {Button} from "@/components/ui/button";
|
import {Button} from "@/components/ui/button";
|
||||||
import {UserEditSchema, UserEditType, UserSchema} from "@/features/users/user.schema";
|
import {UserEditSchema, UserEditType, UserSchema} from "@/features/users/schemas/user.schema";
|
||||||
import {updateUserAction} from "@/features/users/user.action";
|
import {updateUserAction} from "@/features/users/actions/user.action";
|
||||||
type AdminUserEditFormProps = {
|
type AdminUserEditFormProps = {
|
||||||
onSuccess?: () => void;
|
onSuccess?: () => void;
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
+1
-1
@@ -8,7 +8,7 @@ import {
|
|||||||
DialogHeader,
|
DialogHeader,
|
||||||
DialogTitle
|
DialogTitle
|
||||||
} from "@/components/ui/dialog";
|
} from "@/components/ui/dialog";
|
||||||
import {AdminUserEditForm} from "@/features/users/admin-user-edit-form";
|
import {AdminUserEditForm} from "@/features/users/components/admin-user-edit-form";
|
||||||
|
|
||||||
type AdminUserEditPasswordProps = {
|
type AdminUserEditPasswordProps = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
+2
-2
@@ -7,9 +7,9 @@ import {Organization} from "@/db/schema/03_organization";
|
|||||||
import {Input} from "@/components/ui/input";
|
import {Input} from "@/components/ui/input";
|
||||||
import {ButtonWithLoading} from "@/components/common/button-with-loading";
|
import {ButtonWithLoading} from "@/components/common/button-with-loading";
|
||||||
import {Button} from "@/components/ui/button";
|
import {Button} from "@/components/ui/button";
|
||||||
import {UserSchema, UserType} from "@/features/users/user.schema";
|
import {UserSchema, UserType} from "@/features/users/schemas/user.schema";
|
||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
import {createUserAction} from "@/features/users/user.action";
|
import {createUserAction} from "@/features/users/actions/user.action";
|
||||||
|
|
||||||
type AdminUserFormProps = {
|
type AdminUserFormProps = {
|
||||||
onSuccess?: () => void;
|
onSuccess?: () => void;
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import { DataTable } from "@/components/common/data-table";
|
import { DataTable } from "@/components/common/data-table";
|
||||||
import {usersListColumns} from "@/features/users/user-columns";
|
import {usersListColumns} from "@/features/users/components/user-columns";
|
||||||
import {User} from "@/db/schema/02_user";
|
import {User} from "@/db/schema/02_user";
|
||||||
|
|
||||||
type AdminUserListProps = {
|
type AdminUserListProps = {
|
||||||
+4
-4
@@ -13,10 +13,10 @@ import {MoreHorizontal, Settings, Trash2, RotateCcwKey, UserCog} from "lucide-re
|
|||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
import {cn} from "@/lib/utils";
|
import {cn} from "@/lib/utils";
|
||||||
import {User} from "@/db/schema/02_user";
|
import {User} from "@/db/schema/02_user";
|
||||||
import {AdminUserChangePassword} from "@/features/users/admin-user-change-password-modal";
|
import {AdminUserChangePassword} from "@/features/users/components/admin-user-change-password-modal";
|
||||||
import {AdminUserEdit} from "@/features/users/admin-user-edit-modal";
|
import {AdminUserEdit} from "@/features/users/components/admin-user-edit-modal";
|
||||||
import {AdminUserChangeRoleModal} from "@/features/users/admin-user-change-role-modal";
|
import {AdminUserChangeRoleModal} from "@/features/users/components/admin-user-change-role-modal";
|
||||||
import {AdminDeleteUserModal} from "@/features/users/admin-user-delete-modal";
|
import {AdminDeleteUserModal} from "@/features/users/components/admin-user-delete-modal";
|
||||||
|
|
||||||
interface UserActionsCellProps {
|
interface UserActionsCellProps {
|
||||||
user: User;
|
user: User;
|
||||||
+1
-1
@@ -7,7 +7,7 @@ import {Tooltip, TooltipProvider, TooltipTrigger} from "@/components/ui/tooltip"
|
|||||||
import {TooltipContent} from "@radix-ui/react-tooltip";
|
import {TooltipContent} from "@radix-ui/react-tooltip";
|
||||||
import {Info} from "lucide-react";
|
import {Info} from "lucide-react";
|
||||||
import {Table, TableBody, TableCell, TableRow} from "@/components/ui/table";
|
import {Table, TableBody, TableCell, TableRow} from "@/components/ui/table";
|
||||||
import {UserActionsCell} from "@/features/users/user-actions-cell";
|
import {UserActionsCell} from "@/features/users/components/user-actions-cell";
|
||||||
|
|
||||||
type UsersListColumnsProps = {
|
type UsersListColumnsProps = {
|
||||||
isPasswordAuthEnabled: boolean;
|
isPasswordAuthEnabled: boolean;
|
||||||
Reference in New Issue
Block a user