All checks were successful
Docker Deploy / build-and-push (push) Successful in 3m57s
25 lines
735 B
TypeScript
25 lines
735 B
TypeScript
import { db } from '../db';
|
|
import { members } from '../db/schema';
|
|
import { eq } from 'drizzle-orm';
|
|
|
|
type User = { id: string; [key: string]: any };
|
|
|
|
/**
|
|
* Get the current team membership for a user based on the currentTeamId cookie.
|
|
* Returns the membership row, or null if the user has no memberships.
|
|
*/
|
|
export async function getCurrentTeam(user: User, currentTeamId?: string | null) {
|
|
const userMemberships = await db.select()
|
|
.from(members)
|
|
.where(eq(members.userId, user.id))
|
|
.all();
|
|
|
|
if (userMemberships.length === 0) return null;
|
|
|
|
const membership = currentTeamId
|
|
? userMemberships.find(m => m.organizationId === currentTeamId) || userMemberships[0]
|
|
: userMemberships[0];
|
|
|
|
return membership;
|
|
}
|