Seed empty client workspaces
Build and deploy Docker image / build (push) Successful in 1m57s

This commit is contained in:
Ruslan Bakiev
2026-08-24 11:35:50 +07:00
parent 615f6615e0
commit d0271bc25b
2 changed files with 247 additions and 0 deletions
+15
View File
@@ -8,6 +8,7 @@ import {
} from '@prisma/client'
import { requireScopes, type AuthContext } from '../auth.js'
import { prisma } from '../db.js'
import { ensureDemoWorkspaceData } from '../demo-workspace.js'
const quotationInclude = {
selectedTariff: true,
@@ -440,6 +441,18 @@ function teamAccessWhere(access: { teamUuid?: string }): { teamUuid?: string } {
return access.teamUuid ? { teamUuid: access.teamUuid } : {}
}
async function ensureClientWorkspaceData(access: {
teamUuid?: string
userId: string
isManager: boolean
}): Promise<void> {
if (access.isManager || !access.teamUuid) return
await ensureDemoWorkspaceData({
teamUuid: access.teamUuid,
userId: access.userId,
})
}
function mapTariffReference(item: PrismaTariffReference) {
return {
uuid: item.uuid,
@@ -951,6 +964,7 @@ export const teamResolvers = {
Query: {
getTeamOrders: async (_: unknown, __: unknown, ctx: AuthContext) => {
const access = assertTeamAccess(ctx)
await ensureClientWorkspaceData(access)
const localOrders = await prisma.order.findMany({
where: {
@@ -981,6 +995,7 @@ export const teamResolvers = {
quotations: async (_: unknown, args: { status?: string | null }, ctx: AuthContext) => {
const access = assertTeamAccess(ctx)
await ensureClientWorkspaceData(access)
const items = await prisma.quotation.findMany({
where: {