This commit is contained in:
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user