createGroup (data-access/groups.ts)

wdc-saas-starter-kit · src/data-access/groups.ts · typescript · MIT
database, Database / ORM

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