UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

35 lines (34 loc) 1.22 kB
import getDatabase from '../database/index.js'; import { transaction } from '../utils/transaction.js'; import { ItemsService } from './items.js'; export class DeploymentProjectsService extends ItemsService { constructor(options) { super('directus_deployment_projects', options); } /** * Update project selection (create/delete) */ async updateSelection(deploymentId, create, deleteIds) { const db = getDatabase(); return transaction(db, async (trx) => { const trxService = new DeploymentProjectsService({ accountability: this.accountability, schema: this.schema, knex: trx, }); if (deleteIds.length > 0) { await trxService.deleteMany(deleteIds); } if (create.length > 0) { await trxService.createMany(create.map((p) => ({ deployment: deploymentId, external_id: p.external_id, name: p.name, }))); } return trxService.readByQuery({ filter: { deployment: { _eq: deploymentId } }, }); }); } }