refactor(users): reorganize into actions/components/schemas

This commit is contained in:
Théo LAGACHE
2026-06-23 16:06:29 +02:00
parent ea5e89a299
commit df989440ac
13 changed files with 16 additions and 16 deletions
@@ -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";
@@ -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[];
@@ -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;
@@ -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: {
@@ -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;
@@ -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,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 = {
@@ -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;
@@ -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;