import { Knex } from "knex"; import { OrderBy, SupportesTransactions } from "./enum"; /////////// BusinessApp types //////////// export type GetBusinessAppArgs = { params: string[], id: string, zoneId: string, instanceId: string, fetchAssignedVisualizations?: boolean } export type CreateBusinessAppArgs = { params: string[], id: string, zoneId: string, instanceId: string, descriptorSchemaVersion: string, // TODO Hardcoded for now, discuss with Gerald descriptorSchemaId: string, // TODO (Empty JSON for now) descriptor: any } export type DeleteBusinessAppArgs = { id: string, zoneId: string, instanceId: string } /////////// Visualization types //////////// export type GetVisualizationsArgs = { params: string[], filter?: any, skip?:number, top?:number, orderById?:OrderBy, zoneId:string, instanceId:string, trx:Knex.Transaction } export type GetVisualizationsByIdsArgs = { params: string[], filter?: any, skip?:number, top?:number, ids: string[], orderById?:OrderBy, zoneId:string, instanceId:string } export type CreateVisualizationArgs = { params: string[], id: string, zoneId: string, instanceId: string, descriptorSchemaVersion: string, // TODO Hardcoded for now, discuss with Gerald descriptorSchemaId: string, descriptor: any, type: string, baseURL: string, path: string, // (Mandatory) businessAppId: string } export type UpdateVisualizationArgs = { params: string[], id: string, zoneId: string, instanceId: string, descriptor: any, type: string, baseURL: string, path: string } export type DeleteVisualizationArgs = { id: string, zoneId: string, instanceId: string } export type AssignVisualizationsToCatalogArgs = { catalogId: string, visualizationIds: string[], zoneId: string, instanceId: string } export type UnassignVisualizationsFromCatalogArgs = { catalogId: string, visualizationIds: string[], zoneId: string, instanceId: string } /////////// Catalog types //////////// export type GetCatalogArgs = { params: string[], id: string, zoneId: string, instanceId: string, fetchAssignedVisualizations?: boolean } export type CreateCatalogArgs = { params: string[], id: string, zoneId: string, instanceId: string, title: string } export type UpdateCatalogArgs = { params: string[], id: string, zoneId: string, instanceId: string, title: string } export type DeleteCatalogArgs = { id: string, zoneId: string, instanceId: string } /////////// Space types //////////// export type GetSpaceArgs = { params: string[], id: string, zoneId: string, instanceId: string, fetchAssignedWorkPages?: boolean } export type CreateSpaceArgs = { params: string[], id: string, zoneId: string, instanceId: string, descriptor:any, descriptorSchemaVersion: string, // TODO Hardcoded for now, discuss with Gerald descriptorSchemaId: string, editable: boolean, isDefault: boolean } export type UpdateSpaceArgs = { params: string[], descriptor:any, id: string, zoneId: string, instanceId: string } // DELETE CASCADE is defined on the database side export type DeleteSpaceArgs = { id: string, zoneId: string, instanceId: string } /////////// WorkPageVersion types //////////// export type GetWorkPageVersionArgs = { params: string[], workPageId: string, zoneId:string, instanceId:string, baselineVersionId: string, orderById?:OrderBy } export type GetWorkPageVersionDataLoaderArgs = { params: string[], workpageConditionsColumns: string[], workpageConditions: any[], orderById?: OrderBy, trx:Knex.Transaction } /////////// WorkPage types //////////// export type GetWorkPageSubAccountArgs = { params: string[], id: string, zoneId: string, instanceId:string orderById?:OrderBy, trx:Knex.Transaction }; export type CreateWorkPageArgs = { params: string[], id: string, zoneId: string, instanceId: string, descriptorSchemaVersion: string, // TODO Hardcoded for now, discuss with Gerald descriptorSchemaId: string, descriptor: any, editable: boolean, isDefault: boolean, contents: any } export type UpdateWorkPageArgs = { id: string, zoneId: string, instanceId: string, contents: any, descriptor: any, descriptorSchemaVersion: string, // TODO Hardcoded for now, discuss with Gerald descriptorSchemaId: string, editable?: boolean, isDefault?: boolean } export type AssignWorkPagesToSpaceArgs = { spaceId: string, workPageIds: string[], zoneId: string, instanceId: string } export type UnassignWorkPagesFromSpaceArgs = { spaceId: string, workPageIds: string[], zoneId: string, instanceId: string } // DELETE CASCADE is defined on the database side export type DeleteWorkPageArgs = { id: string, zoneId: string, instanceId: string }; /////////// Role types //////////// // export type GetRoleArgs = { // params: string[], // id: string, // zoneId: string, // instanceId: string, // fetchAssignedCatalogs?: boolean, // fetchAssignedSpaces?: boolean, // fetchAssignedWorkPages?: boolean // } // export type GetRoleArgs = { // id: string, // zoneId: string, // instanceId: string, // fetchAssignedCatalogs?: boolean, // fetchAssignedSpaces?: boolean // } // export type CreateRoleArgs = { // params: string[], // id: string, // zoneId: string, // instanceId: string, // editable: boolean // title: string // } /////////// Site types //////////// export type GetSiteArgs = { params: string[], id: string, zoneId: string, instanceId: string } export type CreateSiteArgs = { params: string[], id: string, zoneId: string, instanceId: string, title: string } export type UpdateSiteArgs = { params: string[], id: string, zoneId: string, instanceId: string, title: string } export type DeleteSiteArgs = { id: string, zoneId: string, instanceId: string } export type AssignRolesToSiteArgs = { siteId: string, roleIds: string[], zoneId: string, instanceId: string } /////////// Other types //////////// export type TransactionOperations = { method: SupportesTransactions, data: any }