CRUD and query helpers for group entities using Drizzle ORM.
// Source: https://github.com/webdevcody/wdc-saas-starter-kit | License: MIT | Copyright 2024 Web Dev Cody
// Provided via justclaw.it.com; keep this notice with the code.
import { database } from "@/db";
import { Group, GroupId, NewGroup, groups, memberships } from "@/db/schema";
import { UserId } from "@/use-cases/types";
import { omit } from "@/util/util";
import { and, count, eq, ilike, sql } from "drizzle-orm";
function appendGroupMemberCount<T extends { memberships: any[] }>(group: T) {
return omit(
{
...group,
memberCount: group.memberships.length + 1,
},
"memberships"
);
}
export async function createGroup(group: NewGroup) {
await database.insert(groups).values(group);
}
export async function searchPublicGroupsByName(search: string, page: number) {
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key