Initial commit: Add project files
ci / backend (push) Failing after 12s
ci / frontend (push) Failing after 19s
ci / static (push) Failing after 45s

This commit is contained in:
2026-08-02 05:15:36 +09:00
commit dcd1322d41
636 changed files with 122352 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
import type { ZodType } from 'zod'
import type { UiGridColumn, UiGridFilter, UiGridSort } from '../ui/adapter/contracts'
export type CrudPermission = 'read' | 'create' | 'update' | 'delete' | 'export' | 'review' | 'publish'
export interface CrudListQuery {
page: number
pageSize: number
search?: string
sorts: UiGridSort[]
filters: UiGridFilter[]
}
export interface CrudPageResult<T> {
items: T[]
total: number
asOf: string
projectionVersion: string
watermark?: string
stale: boolean
}
export interface CrudMutationContext {
idempotencyKey: string
ifMatch?: string
reason?: string
correlationId?: string
}
export interface CrudResourceContract<TItem, TForm> {
resourceCode: string
routeBase: string
queryKey: readonly string[]
columns: UiGridColumn[]
formSchema: ZodType<TForm>
permissions: Partial<Record<CrudPermission, string>>
defaultQuery: CrudListQuery
parseListResponse(payload: unknown): CrudPageResult<TItem>
parseDetailResponse(payload: unknown): TItem
}