TeamRepository
app/features/team/TeamRepository.server.ts- Tables
- AllTeamAllTeamMemberCalendarEventCalendarEventDateTeamTeamMemberTeamMemberWithSecondaryTenStarWeaponTournamentTournamentDivisionTierTournamentResultTournamentTeamUnvalidatedUserSubmittedImageUserUserSubmittedImageUserWeaponPool
- Calls
- LFGRepositoryMatchProfileRepository
- Imports
- no other modules
- Used by
- 11 loaders10 actions2 routes1 script6 other
Types
export type findByCustomUrl = NonNullable< Awaited<ReturnType<typeof findByCustomUrl>> >;
export type FindResultPlacementsById = NonNullable< Awaited<ReturnType<typeof findResultPlacementsById>> >;
Loaders/t/:customUrl
Functions & values
export function searchByName({ query, limit, }: { query: string; limit: number; })
Routes/search
export function findById(teamId: number)
TablesAllTeam
export function findAllMemberOfByUserId(userId: number)
export async function findByCustomUrl( customUrl: string, { includeInviteCode = false, includeUnvalidatedImages = false, includeMapModePreferences = false, } = {}, )
TablesTeamTeamMemberWithSecondaryTenStarWeaponUnvalidatedUserSubmittedImageUserUserSubmittedImageUserWeaponPool
PermissionsEDITMANAGE_ROSTERDELETE
export function findResultPlacementsById(teamId: number)
Loaders/t/:customUrl
Tournament results of the team.
export async function findResultsById(teamId: number)
Loaders/t/:customUrl/results
export async function findAllByMemberUserId( userId: number, trx?: Transaction<DB>, )
Unit tests (1)
export async function insert( args: Pick<Insertable<Tables["Team"]>, "name"> & { ownerUserId: number; isMainTeam: boolean; }, )
TablesAllTeamAllTeamMember
Actions/t/new
export async function update({ id, name, bio, bsky, tag, avatarImgId, bannerImgId, }: Pick< Insertable<Tables["Team"]>, "id" | "name" | "bio" | "bsky" | "tag" | "avatarImgId" | "bannerImgId" >)
Actions/t/:customUrl/edit
export async function updateCustomTheme({ id, customTheme, }: { id: number; customTheme: CustomTheme | null; })
TablesAllTeam
Actions/t/:customUrl/edit
Sets (or clears with null) SendouQ map/mode preferences; map pools of modes missing from the new value are kept.
export async function updateMapModePreferences({ id, mapModePreferences, }: { id: number; mapModePreferences: UserMapModePreferences | null; })
Actions/t/:customUrl/edit
export function switchOwnMainTeam(teamId: number)
Actions/t/:customUrl
export function insertOwnMembership({ teamId, maxTeamsAllowed, }: { teamId: number; maxTeamsAllowed: number; })
Actions/t/:customUrl/join
export function handleMemberLeaving({ userId, teamId, newOwnerUserId, }: { userId: number; teamId: number; newOwnerUserId?: number; })
Actions/t/:customUrl
In one transaction: updates kept members' role & editor status and kicks kickedUserIds.
export function updateRoster({ teamId, members, kickedUserIds, }: { teamId: number; members: Array<{ userId: number; role: Tables["TeamMember"]["role"]; customRole: Tables["TeamMember"]["customRole"]; roleType: Tables["TeamMember"]["roleType"]; isManager: boolean; order: number; }>; kickedUserIds: number[]; })
Actions/t/:customUrl/roster