mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
refactor(organizations): reorganize into actions/components/schemas/hooks/utils
This commit is contained in:
@@ -4,7 +4,7 @@ import {db} from "@/db";
|
|||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page} from "@/features/layout/components/page";
|
import {Page} from "@/features/layout/components/page";
|
||||||
import {OrganizationManagement} from "@/features/organizations/admin-organization-management";
|
import {OrganizationManagement} from "@/features/organizations/components/admin-organization-management";
|
||||||
import {buildOrganizationWithMembers} from "@/utils/common";
|
import {buildOrganizationWithMembers} from "@/utils/common";
|
||||||
import {isUUID} from "@/utils/text";
|
import {isUUID} from "@/utils/text";
|
||||||
import {user} from "@/db/schema/02_user";
|
import {user} from "@/db/schema/02_user";
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/
|
|||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {
|
import {
|
||||||
AdminOrganizationAddModal
|
AdminOrganizationAddModal
|
||||||
} from "@/features/organizations/admin-organization-add-modal";
|
} from "@/features/organizations/components/admin-organization-add-modal";
|
||||||
import {AdminOrganizationList} from "@/features/organizations/admin-organization-list";
|
import {AdminOrganizationList} from "@/features/organizations/components/admin-organization-list";
|
||||||
import {isNull} from "drizzle-orm";
|
import {isNull} from "drizzle-orm";
|
||||||
|
|
||||||
export default async function RoutePage(props: PageParams<{}>) {
|
export default async function RoutePage(props: PageParams<{}>) {
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ import {currentUser} from "@/lib/auth/current-user";
|
|||||||
import {getActiveMember, getOrganization} from "@/lib/auth/auth";
|
import {getActiveMember, getOrganization} from "@/lib/auth/auth";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
import {Metadata} from "next";
|
import {Metadata} from "next";
|
||||||
import {OrganizationTabs} from "@/features/organizations/organization-tabs";
|
import {OrganizationTabs} from "@/features/organizations/components/organization-tabs";
|
||||||
import {getOrganizationChannels} from "@/db/services/notification-channel";
|
import {getOrganizationChannels} from "@/db/services/notification-channel";
|
||||||
import {computeOrganizationPermissions} from "@/lib/acl/organization-acl";
|
import {computeOrganizationPermissions} from "@/lib/acl/organization-acl";
|
||||||
import {getOrganizationStorageChannels} from "@/db/services/storage-channel";
|
import {getOrganizationStorageChannels} from "@/db/services/storage-channel";
|
||||||
import {DeleteOrganizationButton} from "@/features/organizations/organization-delete-button";
|
import {DeleteOrganizationButton} from "@/features/organizations/components/organization-delete-button";
|
||||||
import {EditOrganizationDialog} from "@/features/organizations/organization-edit-dialog";
|
import {EditOrganizationDialog} from "@/features/organizations/components/organization-edit-dialog";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {isNull} from "drizzle-orm";
|
import {isNull} from "drizzle-orm";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
import { getCurrentOrganizationSlug } from "@/features/organizations/organization-cookie";
|
import { getCurrentOrganizationSlug } from "@/features/organizations/utils/organization-cookie";
|
||||||
import { currentUser } from "@/lib/auth/current-user";
|
import { currentUser } from "@/lib/auth/current-user";
|
||||||
import { isOnboardingDone } from "@/db/services/setting";
|
import { isOnboardingDone } from "@/db/services/setting";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import {ChannelForm} from "@/features/channel/components/channel-form";
|
|||||||
import {ChannelKind, getChannelTextBasedOnKind} from "@/features/channel/components/channels-helpers";
|
import {ChannelKind, getChannelTextBasedOnKind} from "@/features/channel/components/channels-helpers";
|
||||||
import {
|
import {
|
||||||
ChannelOrganisationForm
|
ChannelOrganisationForm
|
||||||
} from "@/features/organizations/channels-organization-form";
|
} from "@/features/organizations/components/channels-organization-form";
|
||||||
|
|
||||||
|
|
||||||
type ChannelAddModalProps = {
|
type ChannelAddModalProps = {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
import {SidebarLogo} from "@/features/layout/components/logo-sidebar";
|
import {SidebarLogo} from "@/features/layout/components/logo-sidebar";
|
||||||
import {SidebarMenuCustomMain} from "@/features/layout/components/menu-sidebar-main";
|
import {SidebarMenuCustomMain} from "@/features/layout/components/menu-sidebar-main";
|
||||||
import {SideBarFooterCredit} from "@/features/layout/components/side-bar-footer-credit";
|
import {SideBarFooterCredit} from "@/features/layout/components/side-bar-footer-credit";
|
||||||
import {OrganizationCombobox} from "@/features/organizations/organization-combobox";
|
import {OrganizationCombobox} from "@/features/organizations/components/organization-combobox";
|
||||||
import {env} from "@/env.mjs";
|
import {env} from "@/env.mjs";
|
||||||
import {LoggedInButton} from "@/features/layout/components/logged-in-button.server";
|
import {LoggedInButton} from "@/features/layout/components/logged-in-button.server";
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { toast } from "sonner";
|
|||||||
import {
|
import {
|
||||||
createOrganizationAction,
|
createOrganizationAction,
|
||||||
updateOrganizationAction,
|
updateOrganizationAction,
|
||||||
} from "@/features/organizations/organization.action";
|
} from "@/features/organizations/actions/organization.action";
|
||||||
import { slugify } from "@/utils/slugify";
|
import { slugify } from "@/utils/slugify";
|
||||||
|
|
||||||
export const useCreateOrg = () => {
|
export const useCreateOrg = () => {
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import {userAction} from "@/lib/safe-actions/actions";
|
import {userAction} from "@/lib/safe-actions/actions";
|
||||||
import {CreateOrganizationSchema, UpdateOrganizationSchema} from "@/features/organizations/organization.schema";
|
import {CreateOrganizationSchema, UpdateOrganizationSchema} from "@/features/organizations/schemas/organization.schema";
|
||||||
import {ServerActionResult} from "@/types/action-type";
|
import {ServerActionResult} from "@/types/action-type";
|
||||||
import {z} from "zod";
|
import {z} from "zod";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
+1
-1
@@ -7,7 +7,7 @@ import {db as dbClient} from "@/db";
|
|||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import {and, eq} from "drizzle-orm";
|
import {and, eq} from "drizzle-orm";
|
||||||
import {withUpdatedAt} from "@/db/utils";
|
import {withUpdatedAt} from "@/db/utils";
|
||||||
import {RoleSchemaMember} from "@/features/organizations/member.schema";
|
import {RoleSchemaMember} from "@/features/organizations/schemas/member.schema";
|
||||||
|
|
||||||
|
|
||||||
export const updateMemberRoleAdminAction = userAction.schema(
|
export const updateMemberRoleAdminAction = userAction.schema(
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {auth} from "@/lib/auth/auth";
|
|||||||
import {ServerActionResult} from "@/types/action-type";
|
import {ServerActionResult} from "@/types/action-type";
|
||||||
import {Member} from "better-auth/plugins";
|
import {Member} from "better-auth/plugins";
|
||||||
import {headers} from "next/headers";
|
import {headers} from "next/headers";
|
||||||
import {RoleSchemaMember} from "@/features/organizations/member.schema";
|
import {RoleSchemaMember} from "@/features/organizations/schemas/member.schema";
|
||||||
|
|
||||||
|
|
||||||
export const updateMemberRoleAction = userAction.schema(
|
export const updateMemberRoleAction = userAction.schema(
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import {ColumnDef} from "@tanstack/react-table";
|
import {ColumnDef} from "@tanstack/react-table";
|
||||||
import {ButtonDeleteOrganization} from "@/features/organizations/admin-organization-delete-button";
|
import {ButtonDeleteOrganization} from "@/features/organizations/components/admin-organization-delete-button";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import {Settings} from "lucide-react";
|
import {Settings} from "lucide-react";
|
||||||
import {buttonVariants} from "@/components/ui/button";
|
import {buttonVariants} from "@/components/ui/button";
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
"use client"
|
"use client"
|
||||||
|
|
||||||
import {CreateOrganizationModal} from "@/features/organizations/organization-create-modal";
|
import {CreateOrganizationModal} from "@/features/organizations/components/organization-create-modal";
|
||||||
import {useRouter} from "next/navigation";
|
import {useRouter} from "next/navigation";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
+1
-1
@@ -6,7 +6,7 @@ import {Trash2} from "lucide-react";
|
|||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
import {ButtonWithConfirm} from "@/components/common/button-with-confirm";
|
import {ButtonWithConfirm} from "@/components/common/button-with-confirm";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
import {deleteOrganizationAction} from "@/features/organizations/organization.action";
|
import {deleteOrganizationAction} from "@/features/organizations/actions/organization.action";
|
||||||
|
|
||||||
export type ButtonDeleteFleetProps = {
|
export type ButtonDeleteFleetProps = {
|
||||||
text?: string;
|
text?: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import { useMutation } from "@tanstack/react-query";
|
|||||||
import { toast } from "sonner";
|
import { toast } from "sonner";
|
||||||
|
|
||||||
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodForm } from "@/components/ui/form";
|
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodForm } from "@/components/ui/form";
|
||||||
import { OrganizationSchema } from "@/features/organizations/admin-organization.schema";
|
import { OrganizationSchema } from "@/features/organizations/schemas/admin-organization.schema";
|
||||||
import { ButtonWithLoading } from "@/components/common/button-with-loading";
|
import { ButtonWithLoading } from "@/components/common/button-with-loading";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { authClient } from "@/lib/auth/auth-client";
|
import { authClient } from "@/lib/auth/auth-client";
|
||||||
+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 { organizationsListColumns } from "@/features/organizations/admin-org-columns";
|
import { organizationsListColumns } from "@/features/organizations/components/admin-org-columns";
|
||||||
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
|
|
||||||
type AdminOrganizationListProps = {
|
type AdminOrganizationListProps = {
|
||||||
+3
-3
@@ -6,17 +6,17 @@ import {Tabs, TabsContent, TabsList, TabsTrigger} from "@/components/ui/tabs";
|
|||||||
import {MemberWithUser, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
import {MemberWithUser, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
||||||
import {
|
import {
|
||||||
UpdateOrganizationForm
|
UpdateOrganizationForm
|
||||||
} from "@/features/organizations/update-organization-form";
|
} from "@/features/organizations/components/update-organization-form";
|
||||||
import {
|
import {
|
||||||
OrganizationMemberCard
|
OrganizationMemberCard
|
||||||
} from "@/features/organizations/organization-member-card";
|
} from "@/features/organizations/components/organization-member-card";
|
||||||
import {useRouter, useSearchParams} from "next/navigation";
|
import {useRouter, useSearchParams} from "next/navigation";
|
||||||
import {useEffect, useState} from "react";
|
import {useEffect, useState} from "react";
|
||||||
import {capitalizeFirstLetter} from "@/utils/text";
|
import {capitalizeFirstLetter} from "@/utils/text";
|
||||||
import {User} from "@/db/schema/02_user";
|
import {User} from "@/db/schema/02_user";
|
||||||
import {
|
import {
|
||||||
OrganizationAddMemberModal
|
OrganizationAddMemberModal
|
||||||
} from "@/features/organizations/organization-add-member-modal";
|
} from "@/features/organizations/components/organization-add-member-modal";
|
||||||
import {cn} from "@/lib/utils";
|
import {cn} from "@/lib/utils";
|
||||||
|
|
||||||
type OrganizationManagementProps = {
|
type OrganizationManagementProps = {
|
||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { Card, CardAction, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
import { Card, CardAction, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||||
import { AdminOrganizationList } from "@/features/organizations/admin-organization-list";
|
import { AdminOrganizationList } from "@/features/organizations/components/admin-organization-list";
|
||||||
import { AdminOrganizationAddModal } from "@/features/organizations/admin-organization-add-modal";
|
import { AdminOrganizationAddModal } from "@/features/organizations/components/admin-organization-add-modal";
|
||||||
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
|
|
||||||
type AdminOrganizationSectionProps = {
|
type AdminOrganizationSectionProps = {
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
"use client"
|
"use client"
|
||||||
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/components/ui/card";
|
import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/components/ui/card";
|
||||||
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
import {AdminOrganizationList} from "@/features/organizations/admin-organization-list";
|
import {AdminOrganizationList} from "@/features/organizations/components/admin-organization-list";
|
||||||
|
|
||||||
export type AdminOrganizationsTableProps = {
|
export type AdminOrganizationsTableProps = {
|
||||||
organizations: OrganizationWithMembers[];
|
organizations: OrganizationWithMembers[];
|
||||||
+2
-2
@@ -12,10 +12,10 @@ import {toast} from "sonner";
|
|||||||
import {StorageChannelWith} from "@/db/schema/12_storage-channel";
|
import {StorageChannelWith} from "@/db/schema/12_storage-channel";
|
||||||
import {
|
import {
|
||||||
ChannelsOrganizationSchema, ChannelsOrganizationType
|
ChannelsOrganizationSchema, ChannelsOrganizationType
|
||||||
} from "@/features/organizations/channels-organization.schema";
|
} from "@/features/organizations/schemas/channels-organization.schema";
|
||||||
import {
|
import {
|
||||||
updateNotificationChannelsOrganizationAction, updateStorageChannelsOrganizationAction
|
updateNotificationChannelsOrganizationAction, updateStorageChannelsOrganizationAction
|
||||||
} from "@/features/organizations/channels-organization.action";
|
} from "@/features/organizations/actions/channels-organization.action";
|
||||||
import {ChannelKind} from "@/features/channel/components/channels-helpers";
|
import {ChannelKind} from "@/features/channel/components/channels-helpers";
|
||||||
|
|
||||||
|
|
||||||
+2
-2
@@ -13,8 +13,8 @@ import {
|
|||||||
TooltipProvider,
|
TooltipProvider,
|
||||||
TooltipTrigger,
|
TooltipTrigger,
|
||||||
} from "@/components/ui/tooltip";
|
} from "@/components/ui/tooltip";
|
||||||
import {updateMemberRoleAction} from "@/features/organizations/update-member.action";
|
import {updateMemberRoleAction} from "@/features/organizations/actions/update-member.action";
|
||||||
import {RoleSchemaMember} from "@/features/organizations/member.schema";
|
import {RoleSchemaMember} from "@/features/organizations/schemas/member.schema";
|
||||||
|
|
||||||
export const organizationMemberColumns: ColumnDef<MemberWithUser>[] = [
|
export const organizationMemberColumns: ColumnDef<MemberWithUser>[] = [
|
||||||
{
|
{
|
||||||
+2
-2
@@ -7,11 +7,11 @@ import {Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodFo
|
|||||||
import {
|
import {
|
||||||
AddMemberSchema,
|
AddMemberSchema,
|
||||||
AddMemberSchemaType
|
AddMemberSchemaType
|
||||||
} from "@/features/organizations/admin-organization.schema";
|
} from "@/features/organizations/schemas/admin-organization.schema";
|
||||||
import {SearchInput} from "@/components/ui/search-input";
|
import {SearchInput} from "@/components/ui/search-input";
|
||||||
import {
|
import {
|
||||||
addMemberOrganizationAction
|
addMemberOrganizationAction
|
||||||
} from "@/features/organizations/add-member.action";
|
} from "@/features/organizations/actions/add-member.action";
|
||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
import {OrganizationWithMembers, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
import {OrganizationWithMembers, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
||||||
import {User} from "@/db/schema/02_user";
|
import {User} from "@/db/schema/02_user";
|
||||||
+1
-1
@@ -10,7 +10,7 @@ import {
|
|||||||
} from "@/components/ui/dialog";
|
} from "@/components/ui/dialog";
|
||||||
import {
|
import {
|
||||||
OrganizationAddMemberForm
|
OrganizationAddMemberForm
|
||||||
} from "@/features/organizations/organization-add-member-form";
|
} from "@/features/organizations/components/organization-add-member-form";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
import {UserPlus} from "lucide-react";
|
import {UserPlus} from "lucide-react";
|
||||||
import {Button} from "@/components/ui/button";
|
import {Button} from "@/components/ui/button";
|
||||||
+1
-1
@@ -12,7 +12,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
SidebarMenuButton, useSidebar,
|
SidebarMenuButton, useSidebar,
|
||||||
} from "@/components/ui/sidebar"
|
} from "@/components/ui/sidebar"
|
||||||
import {CreateOrganizationModal} from "@/features/organizations/organization-create-modal"
|
import {CreateOrganizationModal} from "@/features/organizations/components/organization-create-modal"
|
||||||
import {Skeleton} from "@/components/ui/skeleton"
|
import {Skeleton} from "@/components/ui/skeleton"
|
||||||
|
|
||||||
|
|
||||||
+2
-2
@@ -6,8 +6,8 @@ import {Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle} from "@/
|
|||||||
import {Button} from "@/components/ui/button";
|
import {Button} from "@/components/ui/button";
|
||||||
import {Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodForm} from "@/components/ui/form";
|
import {Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodForm} from "@/components/ui/form";
|
||||||
import {Input} from "@/components/ui/input";
|
import {Input} from "@/components/ui/input";
|
||||||
import {CreateOrganizationSchema, CreateOrganizationType} from "@/features/organizations/organization.schema";
|
import {CreateOrganizationSchema, CreateOrganizationType} from "@/features/organizations/schemas/organization.schema";
|
||||||
import {createOrganizationAction} from "@/features/organizations/organization.action";
|
import {createOrganizationAction} from "@/features/organizations/actions/organization.action";
|
||||||
import {useRouter} from "next/navigation";
|
import {useRouter} from "next/navigation";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import {ButtonWithConfirm} from "@/components/common/button-with-confirm";
|
import {ButtonWithConfirm} from "@/components/common/button-with-confirm";
|
||||||
import {deleteOrganizationAction} from "@/features/organizations/organization.action";
|
import {deleteOrganizationAction} from "@/features/organizations/actions/organization.action";
|
||||||
import {useMutation} from "@tanstack/react-query";
|
import {useMutation} from "@tanstack/react-query";
|
||||||
import {useRouter} from "next/navigation";
|
import {useRouter} from "next/navigation";
|
||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
+1
-1
@@ -7,7 +7,7 @@ import {
|
|||||||
DialogTitle,
|
DialogTitle,
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from "@/components/ui/dialog";
|
} from "@/components/ui/dialog";
|
||||||
import {OrganizationForm} from "@/features/organizations/organization-form";
|
import {OrganizationForm} from "@/features/organizations/components/organization-form";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
import {buttonVariants} from "@/components/ui/button";
|
import {buttonVariants} from "@/components/ui/button";
|
||||||
import {GearIcon} from "@radix-ui/react-icons";
|
import {GearIcon} from "@radix-ui/react-icons";
|
||||||
+2
-2
@@ -18,11 +18,11 @@ import {MultiSelect} from "@/components/common/multi-select";
|
|||||||
import {
|
import {
|
||||||
UpdateOrganizationSchema,
|
UpdateOrganizationSchema,
|
||||||
UpdateOrganizationType
|
UpdateOrganizationType
|
||||||
} from "@/features/organizations/organization.schema";
|
} from "@/features/organizations/schemas/organization.schema";
|
||||||
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
import {
|
import {
|
||||||
updateOrganizationAction
|
updateOrganizationAction
|
||||||
} from "@/features/organizations/organization.action";
|
} from "@/features/organizations/actions/organization.action";
|
||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
import {User} from "@/db/schema/02_user";
|
import {User} from "@/db/schema/02_user";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
+2
-2
@@ -12,12 +12,12 @@ import {Button} from "@/components/ui/button";
|
|||||||
import {MoreHorizontal, Settings, Trash2} from "lucide-react";
|
import {MoreHorizontal, Settings, Trash2} from "lucide-react";
|
||||||
import {
|
import {
|
||||||
OrganizationDeleteMemberModal
|
OrganizationDeleteMemberModal
|
||||||
} from "@/features/organizations/organization-delete-member-modal";
|
} from "@/features/organizations/components/organization-delete-member-modal";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
import {
|
import {
|
||||||
OrganizationMemberChangeRoleModal
|
OrganizationMemberChangeRoleModal
|
||||||
} from "@/features/organizations/organization-member-change-role";
|
} from "@/features/organizations/components/organization-member-change-role";
|
||||||
import {MemberWithUser, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
import {MemberWithUser, OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
||||||
|
|
||||||
type OrganizationMemberCardProps = {
|
type OrganizationMemberCardProps = {
|
||||||
+2
-2
@@ -19,8 +19,8 @@ import {MemberRoleType} from "@/types/common";
|
|||||||
import {MemberWithUser} from "@/db/schema/03_organization";
|
import {MemberWithUser} from "@/db/schema/03_organization";
|
||||||
import {
|
import {
|
||||||
updateMemberRoleAdminAction
|
updateMemberRoleAdminAction
|
||||||
} from "@/features/organizations/role-member.action";
|
} from "@/features/organizations/actions/role-member.action";
|
||||||
import {RoleSchemaMember} from "@/features/organizations/member.schema";
|
import {RoleSchemaMember} from "@/features/organizations/schemas/member.schema";
|
||||||
|
|
||||||
type OrganizationMemberChangeRoleModalProps = {
|
type OrganizationMemberChangeRoleModalProps = {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
+1
-1
@@ -2,7 +2,7 @@ import {DataTable} from "@/components/common/data-table";
|
|||||||
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
import {
|
import {
|
||||||
organizationMemberColumns
|
organizationMemberColumns
|
||||||
} from "@/features/organizations/member-columns";
|
} from "@/features/organizations/components/member-columns";
|
||||||
|
|
||||||
interface SettingsOrganizationMembersTableProps {
|
interface SettingsOrganizationMembersTableProps {
|
||||||
organization: OrganizationWithMembers
|
organization: OrganizationWithMembers
|
||||||
+5
-5
@@ -5,20 +5,20 @@ import {useEffect, useState} from "react";
|
|||||||
import {useRouter, useSearchParams} from "next/navigation";
|
import {useRouter, useSearchParams} from "next/navigation";
|
||||||
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
import {MemberWithUser, OrganizationWithMembers} from "@/db/schema/03_organization";
|
||||||
import {NotificationChannel} from "@/db/schema/09_notification-channel";
|
import {NotificationChannel} from "@/db/schema/09_notification-channel";
|
||||||
import {useOrganizationPermissions} from "@/features/organizations/use-organization-permissions";
|
import {useOrganizationPermissions} from "@/features/organizations/hooks/use-organization-permissions";
|
||||||
import {StorageChannel} from "@/db/schema/12_storage-channel";
|
import {StorageChannel} from "@/db/schema/12_storage-channel";
|
||||||
import {
|
import {
|
||||||
SettingsOrganizationMembersTable
|
SettingsOrganizationMembersTable
|
||||||
} from "@/features/organizations/organization-members-table";
|
} from "@/features/organizations/components/organization-members-table";
|
||||||
import {
|
import {
|
||||||
OrganizationNotifiersTab
|
OrganizationNotifiersTab
|
||||||
} from "@/features/organizations/organization-notifiers-tab";
|
} from "@/features/organizations/components/organization-notifiers-tab";
|
||||||
import {
|
import {
|
||||||
OrganizationStoragesTab
|
OrganizationStoragesTab
|
||||||
} from "@/features/organizations/organization-storages-tab";
|
} from "@/features/organizations/components/organization-storages-tab";
|
||||||
import {
|
import {
|
||||||
OrganizationAgentsTab
|
OrganizationAgentsTab
|
||||||
} from "@/features/organizations/organization-agents-tab";
|
} from "@/features/organizations/components/organization-agents-tab";
|
||||||
import {Agent} from "@/db/schema/08_agent";
|
import {Agent} from "@/db/schema/08_agent";
|
||||||
|
|
||||||
export type OrganizationTabsProps = {
|
export type OrganizationTabsProps = {
|
||||||
+2
-2
@@ -7,13 +7,13 @@ import {Form, FormControl, FormField, FormItem, FormLabel, FormMessage, useZodFo
|
|||||||
import {
|
import {
|
||||||
UpdateOrganizationSchema,
|
UpdateOrganizationSchema,
|
||||||
UpdateOrganizationSchemaType
|
UpdateOrganizationSchemaType
|
||||||
} from "@/features/organizations/admin-organization.schema";
|
} from "@/features/organizations/schemas/admin-organization.schema";
|
||||||
import {ButtonWithLoading} from "@/components/common/button-with-loading";
|
import {ButtonWithLoading} from "@/components/common/button-with-loading";
|
||||||
import {Input} from "@/components/ui/input";
|
import {Input} from "@/components/ui/input";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
import {toast} from "sonner";
|
import {toast} from "sonner";
|
||||||
import {OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
import {OrganizationWithMembersAndUsers} from "@/db/schema/03_organization";
|
||||||
import {updateOrganizationAction} from "@/features/organizations/organization.action";
|
import {updateOrganizationAction} from "@/features/organizations/actions/organization.action";
|
||||||
|
|
||||||
type UpdateOrganizationFormProps = {
|
type UpdateOrganizationFormProps = {
|
||||||
onSuccessAction?: () => void;
|
onSuccessAction?: () => void;
|
||||||
@@ -15,7 +15,7 @@ import { and, eq } from "drizzle-orm";
|
|||||||
import { zEmail, zString } from "@/lib/zod";
|
import { zEmail, zString } from "@/lib/zod";
|
||||||
import { withUpdatedAt } from "@/db/utils";
|
import { withUpdatedAt } from "@/db/utils";
|
||||||
import { userAction } from "@/lib/safe-actions/actions";
|
import { userAction } from "@/lib/safe-actions/actions";
|
||||||
import { addMemberOrganizationAction } from "@/features/organizations/add-member.action";
|
import { addMemberOrganizationAction } from "@/features/organizations/actions/add-member.action";
|
||||||
import { sendEmail } from "@/lib/email";
|
import { sendEmail } from "@/lib/email";
|
||||||
import EmailCreateUser from "@/components/emails/email-create-user";
|
import EmailCreateUser from "@/components/emails/email-create-user";
|
||||||
import { SignUpUser } from "@/types/auth";
|
import { SignUpUser } from "@/types/auth";
|
||||||
|
|||||||
Reference in New Issue
Block a user