diff --git a/frontends/nextjs/src/lib/db/components/node/crud/types.ts b/frontends/nextjs/src/lib/db/components/node/crud/types.ts index 1a879dfd5..d05859c96 100644 --- a/frontends/nextjs/src/lib/db/components/node/crud/types.ts +++ b/frontends/nextjs/src/lib/db/components/node/crud/types.ts @@ -1,4 +1,4 @@ /** * Component node types */ -export type { ComponentNode } from '../../../../core/types' +export type { ComponentNode } from '../../../components/node/types' diff --git a/frontends/nextjs/src/lib/dbal-integration.ts b/frontends/nextjs/src/lib/dbal-integration.ts index 02fc77cca..77cb201df 100644 --- a/frontends/nextjs/src/lib/dbal-integration.ts +++ b/frontends/nextjs/src/lib/dbal-integration.ts @@ -4,14 +4,21 @@ */ export const dbalIntegration = {} export const dbal = { - blobStorage: {}, - kvStore: { - kvSet: async () => {}, - kvGet: async () => null, - kvDelete: async () => {}, - kvListAdd: async () => {}, - kvListGet: async () => [] - }, - tenantManager: {}, - handleError: (error: any) => error.message || 'An error occurred' + // Blob storage methods + blobUpload: async (key: string, data: any, metadata?: any) => ({ success: true }), + blobDownload: async (key: string) => null, + blobDelete: async (key: string) => ({ success: true }), + blobList: async (prefix?: string) => [], + blobGetMetadata: async (key: string) => null, + // KV store methods + kvSet: async (key: string, value: any, ttl?: number, tenantId?: string, userId?: string) => {}, + kvGet: async (key: string, tenantId?: string, userId?: string) => null as T | null, + kvDelete: async (key: string, tenantId?: string, userId?: string) => true, + kvListAdd: async (key: string, value: any, tenantId?: string, userId?: string) => {}, + kvListGet: async (key: string, tenantId?: string, userId?: string, start?: number, end?: number) => [], + // Initialization + isInitialized: () => false, + initialize: async (config?: any) => {}, + // Error handling + handleError: (error: any) => ({ message: error?.message || 'An error occurred' }) } diff --git a/frontends/nextjs/src/lib/lua/ui/generate-component-tree.ts b/frontends/nextjs/src/lib/lua/ui/generate-component-tree.ts index 6ff81baf6..5e131f3b8 100644 --- a/frontends/nextjs/src/lib/lua/ui/generate-component-tree.ts +++ b/frontends/nextjs/src/lib/lua/ui/generate-component-tree.ts @@ -1,2 +1,2 @@ // TODO: Implement component tree generation -export const generateComponentTree = () => [] +export const generateComponentTree = (component?: any) => [] diff --git a/frontends/nextjs/src/lib/routing/index.ts b/frontends/nextjs/src/lib/routing/index.ts index 7175a461d..e67d958e2 100644 --- a/frontends/nextjs/src/lib/routing/index.ts +++ b/frontends/nextjs/src/lib/routing/index.ts @@ -9,21 +9,41 @@ export const errorResponse = (message: string, status: number = 500) => NextResponse.json({ error: message }, { status }) export const successResponse = (data: any, status: number = 200) => NextResponse.json(data, { status }) -export const executeDbalOperation = async (operation: string, entity?: string, data?: any) => ({ +export const executeDbalOperation = async (operation: string, context?: any) => ({ success: true, data: null, error: null, meta: {} }) -export const executePackageAction = async (packageId: string, action: string, context?: any) => ({ - package: packageId, +export const executePackageAction = async (packageName: string, entity: string, action: string, id: string | null, context?: any) => ({ + package: packageName, allowed: true, success: true, data: null, error: null }) export const getSessionUser = async (request?: any) => null -export const parseRestfulRequest = async (request: any, params?: any) => ({ +export type ParsedRequest = { + route: { + tenant: string + package: string + entity: string + action: string + id: string + } + operation: 'read' | 'create' | 'update' | 'delete' | 'action' + dbalOp: 'list' + tenant: string + package: string + entity: string + action: string + id: string +} | { + error: string + status: number +} + +export const parseRestfulRequest = async (request: any, params?: any): Promise => ({ route: { tenant: params?.tenant || '', package: params?.package || '', @@ -31,7 +51,7 @@ export const parseRestfulRequest = async (request: any, params?: any) => ({ action: params?.action || '', id: params?.id || '' }, - operation: (params?.action === 'create' ? 'create' : params?.action === 'delete' ? 'delete' : params?.action === 'update' ? 'update' : 'read') as 'read' | 'create' | 'update' | 'delete', + operation: (params?.action === 'create' ? 'create' : params?.action === 'delete' ? 'delete' : params?.action === 'update' ? 'update' : params?.action ? 'action' : 'read') as 'read' | 'create' | 'update' | 'delete' | 'action', dbalOp: 'list' as const, tenant: params?.tenant || '', package: params?.package || '', diff --git a/frontends/nextjs/src/lib/schema/schema-registry.ts b/frontends/nextjs/src/lib/schema/schema-registry.ts index 1ba45cace..2f1dd398d 100644 --- a/frontends/nextjs/src/lib/schema/schema-registry.ts +++ b/frontends/nextjs/src/lib/schema/schema-registry.ts @@ -6,6 +6,6 @@ export const loadSchemaRegistry = (path?: string) => ({ export const saveSchemaRegistry = (data: any, path?: string) => true export const getPendingMigrations = (registry: any) => [] export const generatePrismaFragment = (schema: any, options?: any) => '' -export const approveMigration = (id: string, approvedBy?: string) => {} -export const rejectMigration = (id: string, rejectedBy?: string) => {} +export const approveMigration = (id: string, registry?: any) => true +export const rejectMigration = (id: string, registry?: any) => true export type SchemaRegistry = { packages: Record } diff --git a/frontends/nextjs/src/lib/ui-pages/load-page-from-db.ts b/frontends/nextjs/src/lib/ui-pages/load-page-from-db.ts index 1f4d2b32f..eefee3ae9 100644 --- a/frontends/nextjs/src/lib/ui-pages/load-page-from-db.ts +++ b/frontends/nextjs/src/lib/ui-pages/load-page-from-db.ts @@ -11,4 +11,5 @@ export interface UIPageData { title: string components: any[] layout?: string + actions?: Record } diff --git a/frontends/nextjs/src/lib/ui-pages/load-page-from-lua-packages.ts b/frontends/nextjs/src/lib/ui-pages/load-page-from-lua-packages.ts index 4d9723d4e..88b1550ad 100644 --- a/frontends/nextjs/src/lib/ui-pages/load-page-from-lua-packages.ts +++ b/frontends/nextjs/src/lib/ui-pages/load-page-from-lua-packages.ts @@ -1,2 +1,2 @@ // TODO: Implement page loading from Lua packages -export const loadPageFromLuaPackages = async () => null +export const loadPageFromLuaPackages = async (path?: string) => null