File tree 4 files changed +38
-31
lines changed
app/(authenticated)/(dashboard)/[publicId]/stakeholders
trpc/routers/stakeholder-router
4 files changed +38
-31
lines changed Original file line number Diff line number Diff line change @@ -2,13 +2,12 @@ import BorderWrapper from "@/components/shared/BorderWrapper";
2
2
import MemberModal from "@/components/stakeholder/member-modal" ;
3
3
import MemberTable from "@/components/stakeholder/member-table" ;
4
4
import { Button } from "@/components/ui/button" ;
5
- import { withServerSession } from "@/server/auth" ;
6
- import { getMembers } from "@/server/stakeholder " ;
5
+
6
+ import { api } from "@/trpc/server " ;
7
7
import { RiAddLine } from "@remixicon/react" ;
8
8
9
9
const StakeholdersPage = async ( ) => {
10
- const session = await withServerSession ( ) ;
11
- const members = await getMembers ( session . user . companyId ) ;
10
+ const members = await api . stakeholder . getMembers . query ( ) ;
12
11
13
12
return (
14
13
< div className = "flex flex-col gap-y-3" >
@@ -40,7 +39,7 @@ const StakeholdersPage = async () => {
40
39
</ div >
41
40
42
41
< BorderWrapper className = "mt-3" >
43
- < MemberTable members = { members } />
42
+ < MemberTable members = { members . data } />
44
43
</ BorderWrapper >
45
44
</ div >
46
45
) ;
Original file line number Diff line number Diff line change @@ -41,14 +41,17 @@ import {
41
41
} from "@/components/ui/table" ;
42
42
43
43
import { api } from "@/trpc/react" ;
44
- import { type TypeGetMembers } from "@/server/stakeholder" ;
44
+
45
45
import { Avatar , AvatarImage } from "@/components/ui/avatar" ;
46
46
import MemberModal from "@/components/stakeholder/member-modal" ;
47
47
import { useSession } from "next-auth/react" ;
48
48
import { useRouter } from "next/navigation" ;
49
+ import { type RouterOutputs } from "@/trpc/shared" ;
50
+
51
+ type Member = RouterOutputs [ "stakeholder" ] [ "getMembers" ] [ "data" ] ;
49
52
50
53
type MembersType = {
51
- members : TypeGetMembers ;
54
+ members : Member ;
52
55
} ;
53
56
54
57
const humanizeStatus = ( status : string , active : boolean ) => {
@@ -76,7 +79,7 @@ const humanizeStatus = (status: string, active: boolean) => {
76
79
return "Unknown" ;
77
80
} ;
78
81
79
- export const columns : ColumnDef < TypeGetMembers [ 0 ] > [ ] = [
82
+ export const columns : ColumnDef < Member [ number ] > [ ] = [
80
83
{
81
84
id : "select" ,
82
85
header : ( { table } ) => (
Original file line number Diff line number Diff line change @@ -8,29 +8,6 @@ import { env } from "@/env";
8
8
import { createHash } from "@/lib/crypto" ;
9
9
import { type PrismaClient , type Prisma } from "@prisma/client" ;
10
10
11
- export const getMembers = ( companyId : string ) => {
12
- return db . membership . findMany ( {
13
- where : {
14
- companyId,
15
- } ,
16
- include : {
17
- user : {
18
- select : {
19
- name : true ,
20
- email : true ,
21
- image : true ,
22
- } ,
23
- } ,
24
- } ,
25
-
26
- orderBy : {
27
- createdAt : "asc" ,
28
- } ,
29
- } ) ;
30
- } ;
31
-
32
- export type TypeGetMembers = Awaited < ReturnType < typeof getMembers > > ;
33
-
34
11
export const checkVerificationToken = async (
35
12
token : string ,
36
13
userEmail : string | null | undefined ,
Original file line number Diff line number Diff line change @@ -315,4 +315,32 @@ export const stakeholderRouter = createTRPCRouter({
315
315
316
316
return { success : true } ;
317
317
} ) ,
318
+
319
+ getMembers : protectedProcedure . query ( async ( { ctx } ) => {
320
+ const {
321
+ db,
322
+ session : { user } ,
323
+ } = ctx ;
324
+
325
+ const data = await db . membership . findMany ( {
326
+ where : {
327
+ companyId : user . companyId ,
328
+ } ,
329
+ include : {
330
+ user : {
331
+ select : {
332
+ name : true ,
333
+ email : true ,
334
+ image : true ,
335
+ } ,
336
+ } ,
337
+ } ,
338
+
339
+ orderBy : {
340
+ createdAt : "asc" ,
341
+ } ,
342
+ } ) ;
343
+
344
+ return { data } ;
345
+ } ) ,
318
346
} ) ;
You can’t perform that action at this time.
0 commit comments