mirror of
https://github.com/linsa-io/linsa.git
synced 2026-01-12 12:20:23 +01:00
* wip * wip page * chore: style * wip pages * wip pages * chore: toggle * chore: link * feat: topic search * chore: page section * refactor: apply tailwind class ordering * fix: handle loggedIn user for guest route * feat: folder & image schema * chore: move utils to shared * refactor: tailwind class ordering * feat: img ext for editor * refactor: remove qa * fix: tanstack start * fix: wrong import * chore: use toast * chore: schema
27 lines
755 B
TypeScript
27 lines
755 B
TypeScript
import { co, CoList, ImageDefinition } from "jazz-tools"
|
|
import { BaseModel } from "./base"
|
|
|
|
export class Image extends BaseModel {
|
|
fileName = co.optional.string
|
|
fileSize = co.optional.number
|
|
width = co.optional.number
|
|
height = co.optional.number
|
|
aspectRatio = co.optional.number
|
|
mimeType = co.optional.string
|
|
lastModified = co.optional.string
|
|
url = co.optional.string
|
|
content = co.optional.ref(ImageDefinition)
|
|
}
|
|
|
|
export class ImageLists extends CoList.Of(co.ref(Image)) {}
|
|
|
|
export class Folder extends BaseModel {
|
|
name = co.string
|
|
description = co.optional.string
|
|
icon = co.optional.string
|
|
images = co.optional.ref(ImageLists)
|
|
parent = co.optional.ref(Folder)
|
|
}
|
|
|
|
export class FolderLists extends CoList.Of(co.ref(Folder)) {}
|