feat: sample data

This commit is contained in:
2025-03-08 20:06:06 +07:00
parent b4ea46140d
commit 9ea91f3b40
13 changed files with 396 additions and 73 deletions

View File

@@ -1,10 +1,12 @@
<script setup lang="ts">
import PostScheme from './post/PostScheme.vue';
import AuthorScheme from "./author/AuthorScheme.vue";
</script>
<template>
<main class="w-screen h-screen">
<PostScheme />
<AuthorScheme />
</main>
</template>

View File

@@ -1,40 +1,57 @@
<script setup lang="ts">
import Table from '../table/Table.vue'
import { onMounted, reactive } from 'vue'
import { getDefaultValues } from '../utils/structs/defaults.util.ts'
import S from './author.service.ts'
import type { Scheme } from '../types/scheme.type'
import { Author } from '../../bindings/app/internal/services/models.ts'
import {onMounted, reactive} from 'vue'
import {getDefaultValues} from '../utils/structs/defaults.util'
import Service from './author.service.ts'
import type {Scheme} from '../types/scheme.type'
import {Author} from '../../bindings/app/internal/services'
const service = new S
import PostService from '../post/post.service.ts'
const postService = new PostService
const service = new Service
onMounted(async () => {
(scheme as any).Posts.type!.nested!.values = await postService.readAll()
console.log(scheme)
})
const scheme: Scheme<Author> = reactive({
Id:{
hidden: true,
type: {
primitive: "number",
Id: {
hidden: true,
type: {
primitive: "number",
},
},
},
Name:{
russian: "Имя",
type: {
primitive: "string",
Name: {
russian: "Имя",
type: {
primitive: "string",
},
},
Posts: {
russian: "Посты",
many: true,
type: {
nested: {
values: [],
field: ['Text']
},
},
},
},
})
const getDefaults = () => getDefaultValues(scheme)
const getDefaults = () => getDefaultValues(scheme)
</script>
<template>
<main class="w-screen h-screen">
<Table :scheme :service :getDefaults></Table>
</main>
</template>
<main class="w-screen h-screen">
<Table :scheme :service :getDefaults></Table>
</main>
</template>

View File

@@ -1,7 +1,7 @@
import { GetAll, Create, Delete, GetById, Update, Count } from "../../bindings/app/internal/services/authorservice.ts"
import type { Author } from "../../bindings/app/internal/services/models.ts"
import type { Author } from "../../bindings/app/internal/services"
import type { IService } from "../types/service.type.ts"
export default class AuthorService implements IService<Author> {
async read(id: number) {
return await GetById(id) as Author
@@ -26,4 +26,4 @@ export default class AuthorService implements IService<Author> {
async count() {
return await Count()
}
}
}

View File

@@ -1,37 +1,69 @@
<script setup lang="ts">
import Table from '../table/Table.vue'
import { onMounted, reactive } from 'vue'
import { getDefaultValues } from '../utils/structs/defaults.util.ts'
import S from './post.service.ts'
import { getDefaultValues } from '../utils/structs/defaults.util'
import Service from './post.service.ts'
import type { Scheme } from '../types/scheme.type'
import { Post } from '../../bindings/app/internal/services/models.ts'
import { Post } from '../../bindings/app/internal/services'
const service = new S
import AuthorService from '../author/author.service.ts'
const authorService = new AuthorService
const service = new Service
onMounted(async () => {
(scheme as any).Author.type!.nested!.values = await authorService.readAll()
})
const scheme: Scheme<Post> = reactive({
Id: {
hidden: true,
type: {
primitive: "number",
},
hidden: true,
type: {
primitive: "number",
},
},
Text: {
russian: "Текст",
type: {
primitive: "string",
},
russian: "Текст",
type: {
primitive: "string",
},
},
Deadline: {
russian: "Дедлайн",
type: {
primitive: "number",
},
},
CreatedAt: {
hidden: true,
type: {
primitive: "number",
},
hidden: true,
type: {
primitive: "number",
},
},
AuthorId: {
type: {
primitive: "number",
},
},
Author: {
russian: "Автор",
type: {
nested: {
values: [],
field: ['Name']
},
},
},
})
const getDefaults = () => getDefaultValues(scheme)
@@ -39,7 +71,7 @@ const getDefaults = () => getDefaultValues(scheme)
</script>
<template>
<main class="w-screen h-screen">
<Table :scheme :service :getDefaults></Table>
</main>
</template>
<main class="w-screen h-screen">
<Table :scheme :service :getDefaults></Table>
</main>
</template>

View File

@@ -1,7 +1,7 @@
import { GetAll, Create, Delete, GetById, Update, Count } from "../../bindings/app/internal/services/postservice.ts"
import type { Post } from "../../bindings/app/internal/services/models.ts"
import type { Post } from "../../bindings/app/internal/services"
import type { IService } from "../types/service.type.ts"
export default class PostService implements IService<Post> {
async read(id: number) {
return await GetById(id) as Post
@@ -26,4 +26,4 @@ export default class PostService implements IService<Post> {
async count() {
return await Count()
}
}
}