feat: new nto-cli version changes

# Conflicts:
#	frontend/src/author/AuthorScheme.vue
#	frontend/src/post/PostScheme.vue
#	internal/models/models.go
This commit is contained in:
2025-03-09 13:22:15 +07:00
parent 3288577dc1
commit 6e9b2c61fc
5 changed files with 126 additions and 123 deletions

View File

@@ -1,77 +1,73 @@
<script setup lang="ts">
import Table from '../table/Table.vue'
import { onMounted, reactive } from 'vue'
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'
import Table from "../table/Table.vue";
import { onMounted, reactive } from "vue";
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";
import AuthorService from '../author/author.service.ts'
const authorService = new AuthorService
import AuthorService from "../author/author.service.ts";
const authorService = new AuthorService();
const service = new Service
const service = new Service();
onMounted(async () => {
(scheme as any).Author.type!.nested!.values = await authorService.readAll()
})
(scheme as any).Author.type!.nested!.values = await authorService.readAll();
});
const scheme: Scheme<Post> = reactive({
entityId: 'PostId',
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",
russian: "Дедлайн",
date: true,
type: {
primitive: "number",
},
},
},
CreatedAt: {
hidden: true,
type: {
primitive: "number",
date: true,
type: {
primitive: "number",
},
},
},
AuthorId: {
type: {
primitive: "number",
hidden: true,
type: {
primitive: "number",
},
},
},
Author: {
russian: "Автор",
type: {
nested: {
values: [],
field: ['Name']
},
russian: "Автор",
type: {
nested: {
values: [],
field: ["Name"],
},
},
},
},
})
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,29 +1,36 @@
import { GetAll, Create, Delete, GetById, Update, Count } from "../../bindings/app/internal/services/postservice.ts"
import type { Post } from "../../bindings/app/internal/services"
import type { IService } from "../types/service.type.ts"
import {
GetAll,
Create,
Delete,
GetById,
Update,
Count,
} from "../../bindings/app/internal/services/postservice.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
}
async read(id: number) {
return (await GetById(id)) as Post;
}
async readAll() {
return await GetAll() as Post[]
}
async readAll() {
return (await GetAll()) as Post[];
}
async create(item: Post) {
await Create(item)
}
async create(item: Post) {
await Create(item);
}
async delete(id: number) {
return await Delete(id)
}
async delete(id: number) {
return await Delete(id);
}
async update(item: Post) {
await Update(item)
}
async update(item: Post) {
await Update(item);
}
async count() {
return await Count()
}
}
async count() {
return await Count();
}
}