feat: add props system and refactor asset library architecture
This commit is contained in:
@@ -10,6 +10,7 @@ export type RouteBehaviorMatrixEntry = {
|
||||
const CONTRACT_TEST_BY_GROUP: Record<RouteCatalogEntry['contractGroup'], string> = {
|
||||
'llm-observe-routes': 'tests/integration/api/contract/llm-observe-routes.test.ts',
|
||||
'direct-submit-routes': 'tests/integration/api/contract/direct-submit-routes.test.ts',
|
||||
'crud-assets-routes': 'tests/integration/api/contract/crud-routes.test.ts',
|
||||
'crud-asset-hub-routes': 'tests/integration/api/contract/crud-routes.test.ts',
|
||||
'crud-novel-promotion-routes': 'tests/integration/api/contract/crud-routes.test.ts',
|
||||
'task-infra-routes': 'tests/integration/api/contract/task-infra-routes.test.ts',
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
export type RouteCategory =
|
||||
| 'assets'
|
||||
| 'asset-hub'
|
||||
| 'novel-promotion'
|
||||
| 'projects'
|
||||
@@ -11,6 +12,7 @@ export type RouteCategory =
|
||||
export type RouteContractGroup =
|
||||
| 'llm-observe-routes'
|
||||
| 'direct-submit-routes'
|
||||
| 'crud-assets-routes'
|
||||
| 'crud-asset-hub-routes'
|
||||
| 'crud-novel-promotion-routes'
|
||||
| 'task-infra-routes'
|
||||
@@ -52,6 +54,15 @@ const ROUTE_FILES = [
|
||||
'src/app/api/asset-hub/voices/[id]/route.ts',
|
||||
'src/app/api/asset-hub/voices/route.ts',
|
||||
'src/app/api/asset-hub/voices/upload/route.ts',
|
||||
'src/app/api/assets/[assetId]/copy/route.ts',
|
||||
'src/app/api/assets/[assetId]/generate/route.ts',
|
||||
'src/app/api/assets/[assetId]/modify-render/route.ts',
|
||||
'src/app/api/assets/[assetId]/revert-render/route.ts',
|
||||
'src/app/api/assets/[assetId]/route.ts',
|
||||
'src/app/api/assets/[assetId]/select-render/route.ts',
|
||||
'src/app/api/assets/[assetId]/update-label/route.ts',
|
||||
'src/app/api/assets/[assetId]/variants/[variantId]/route.ts',
|
||||
'src/app/api/assets/route.ts',
|
||||
'src/app/api/auth/[...nextauth]/route.ts',
|
||||
'src/app/api/auth/register/route.ts',
|
||||
'src/app/api/cos/image/route.ts',
|
||||
@@ -157,6 +168,7 @@ const ROUTE_FILES = [
|
||||
] as const
|
||||
|
||||
function resolveCategory(routeFile: string): RouteCategory {
|
||||
if (routeFile.startsWith('src/app/api/assets/')) return 'assets'
|
||||
if (routeFile.startsWith('src/app/api/asset-hub/')) return 'asset-hub'
|
||||
if (routeFile.startsWith('src/app/api/novel-promotion/')) return 'novel-promotion'
|
||||
if (routeFile.startsWith('src/app/api/projects/')) return 'projects'
|
||||
@@ -191,7 +203,9 @@ function resolveContractGroup(routeFile: string): RouteContractGroup {
|
||||
if (
|
||||
routeFile.endsWith('/generate-image/route.ts')
|
||||
|| routeFile.endsWith('/generate-video/route.ts')
|
||||
|| routeFile.endsWith('/generate/route.ts')
|
||||
|| routeFile.endsWith('/modify-image/route.ts')
|
||||
|| routeFile.endsWith('/modify-render/route.ts')
|
||||
|| routeFile.endsWith('/voice-design/route.ts')
|
||||
|| routeFile.endsWith('/insert-panel/route.ts')
|
||||
|| routeFile.endsWith('/lip-sync/route.ts')
|
||||
@@ -206,6 +220,7 @@ function resolveContractGroup(routeFile: string): RouteContractGroup {
|
||||
) {
|
||||
return 'direct-submit-routes'
|
||||
}
|
||||
if (routeFile.startsWith('src/app/api/assets/')) return 'crud-assets-routes'
|
||||
if (routeFile.startsWith('src/app/api/asset-hub/')) return 'crud-asset-hub-routes'
|
||||
if (routeFile.startsWith('src/app/api/novel-promotion/')) return 'crud-novel-promotion-routes'
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user