{"version":3,"file":"deployment.cjs","names":[],"sources":["../../../../src/rest/commands/update/deployment.ts"],"sourcesContent":["import type { DirectusDeployment, DirectusDeploymentProject } from '../../../schema/deployment.js';\nimport type { ApplyQueryFields, NestedPartial, Query } from '../../../types/index.js';\nimport type { RestCommand } from '../../types.js';\nimport { throwIfEmpty } from '../../utils/index.js';\n\nexport type UpdateDeploymentOutput<\n\tSchema,\n\tTQuery extends Query<Schema, Item>,\n\tItem extends object = DirectusDeployment<Schema>,\n> = ApplyQueryFields<Schema, Item, TQuery['fields']>;\n\n/**\n * Update an existing deployment provider.\n *\n * @param provider The provider type (e.g. 'vercel')\n * @param item The deployment fields to update\n * @param query Optional return data query\n *\n * @returns Returns the updated deployment object.\n * @throws Will throw if provider is empty\n */\nexport const updateDeployment =\n\t<Schema, const TQuery extends Query<Schema, DirectusDeployment<Schema>>>(\n\t\tprovider: string,\n\t\titem: NestedPartial<DirectusDeployment<Schema>>,\n\t\tquery?: TQuery,\n\t): RestCommand<UpdateDeploymentOutput<Schema, TQuery>, Schema> =>\n\t() => {\n\t\tthrowIfEmpty(provider, 'Provider cannot be empty');\n\n\t\treturn {\n\t\t\tpath: `/deployments/${provider}`,\n\t\t\tparams: query ?? {},\n\t\t\tbody: JSON.stringify(item),\n\t\t\tmethod: 'PATCH',\n\t\t};\n\t};\n\nexport interface UpdateDeploymentProjectsInput {\n\tcreate?: Array<{ external_id: string; name: string }>;\n\tdelete?: string[];\n}\n\n/**\n * Update selected projects for a deployment provider.\n *\n * @param provider The provider type (e.g. 'vercel')\n * @param item Projects to create or delete\n *\n * @returns Returns the updated list of selected projects.\n * @throws Will throw if provider is empty\n */\nexport const updateDeploymentProjects =\n\t<Schema>(\n\t\tprovider: string,\n\t\titem: UpdateDeploymentProjectsInput,\n\t): RestCommand<DirectusDeploymentProject<Schema>[], Schema> =>\n\t() => {\n\t\tthrowIfEmpty(provider, 'Provider cannot be empty');\n\n\t\treturn {\n\t\t\tpath: `/deployments/${provider}/projects`,\n\t\t\tbody: JSON.stringify(item),\n\t\t\tmethod: 'PATCH',\n\t\t};\n\t};\n"],"mappings":"kDAqBa,GAEX,EACA,EACA,SAGA,EAAA,aAAa,EAAU,2BAA2B,CAE3C,CACN,KAAM,gBAAgB,IACtB,OAAQ,GAAS,EAAE,CACnB,KAAM,KAAK,UAAU,EAAK,CAC1B,OAAQ,QACR,EAiBU,GAEX,EACA,SAGA,EAAA,aAAa,EAAU,2BAA2B,CAE3C,CACN,KAAM,gBAAgB,EAAS,WAC/B,KAAM,KAAK,UAAU,EAAK,CAC1B,OAAQ,QACR"}