diff --git a/dbal/development/src/core/entities/operations/system/package-operations.ts b/dbal/development/src/core/entities/operations/system/package-operations.ts index 1f5d45352..886ac9b16 100644 --- a/dbal/development/src/core/entities/operations/system/package-operations.ts +++ b/dbal/development/src/core/entities/operations/system/package-operations.ts @@ -1,2 +1 @@ -export { createPackageOperations } from './package' -export type { PackageOperations } from './package' +export * from './package' diff --git a/dbal/development/src/core/entities/operations/system/package/index.ts b/dbal/development/src/core/entities/operations/system/package/index.ts index 7dce526f8..b70a4a145 100644 --- a/dbal/development/src/core/entities/operations/system/package/index.ts +++ b/dbal/development/src/core/entities/operations/system/package/index.ts @@ -2,9 +2,15 @@ import type { DBALAdapter } from '../../../../adapters/adapter' import type { Package, ListOptions, ListResult } from '../../../../foundation/types' import { createManyPackages, deleteManyPackages, updateManyPackages } from './batch' import { createPackage, deletePackage, updatePackage } from './mutations' +import { publishPackage } from './publish' import { listPackages, readPackage } from './reads' +import { unpublishPackage } from './unpublish' +import { validatePackage } from './validate' export interface PackageOperations { + validate: (data: Partial) => string[] + publish: (data: Omit) => Promise + unpublish: (id: string) => Promise create: (data: Omit) => Promise read: (id: string) => Promise update: (id: string, data: Partial) => Promise @@ -16,6 +22,9 @@ export interface PackageOperations { } export const createPackageOperations = (adapter: DBALAdapter): PackageOperations => ({ + validate: data => validatePackage(data), + publish: data => publishPackage(adapter, data), + unpublish: id => unpublishPackage(adapter, id), create: data => createPackage(adapter, data), read: id => readPackage(adapter, id), update: (id, data) => updatePackage(adapter, id, data), @@ -25,3 +34,7 @@ export const createPackageOperations = (adapter: DBALAdapter): PackageOperations updateMany: (filter, data) => updateManyPackages(adapter, filter, data), deleteMany: filter => deleteManyPackages(adapter, filter), }) + +export { publishPackage } from './publish' +export { unpublishPackage } from './unpublish' +export { validatePackage } from './validate' diff --git a/dbal/development/src/core/entities/operations/system/package/publish.ts b/dbal/development/src/core/entities/operations/system/package/publish.ts new file mode 100644 index 000000000..f59f721ae --- /dev/null +++ b/dbal/development/src/core/entities/operations/system/package/publish.ts @@ -0,0 +1,10 @@ +import type { DBALAdapter } from '../../../../adapters/adapter' +import type { Package } from '../../../../foundation/types' +import { createPackage } from './mutations' + +export const publishPackage = ( + adapter: DBALAdapter, + data: Omit, +): Promise => { + return createPackage(adapter, data) +} diff --git a/dbal/development/src/core/entities/operations/system/package/unpublish.ts b/dbal/development/src/core/entities/operations/system/package/unpublish.ts new file mode 100644 index 000000000..27a5da97f --- /dev/null +++ b/dbal/development/src/core/entities/operations/system/package/unpublish.ts @@ -0,0 +1,6 @@ +import type { DBALAdapter } from '../../../../adapters/adapter' +import { deletePackage } from './mutations' + +export const unpublishPackage = (adapter: DBALAdapter, id: string): Promise => { + return deletePackage(adapter, id) +} diff --git a/dbal/development/src/core/entities/operations/system/package/validate.ts b/dbal/development/src/core/entities/operations/system/package/validate.ts new file mode 100644 index 000000000..868033e9e --- /dev/null +++ b/dbal/development/src/core/entities/operations/system/package/validate.ts @@ -0,0 +1,6 @@ +import type { Package } from '../../../../foundation/types' +import { validatePackageCreate } from '../../../../foundation/validation' + +export const validatePackage = (data: Partial): string[] => { + return validatePackageCreate(data) +}