Files
nto-cli/generation/templates/scheme.tmpl
2025-03-09 08:06:19 -07:00

53 lines
1.3 KiB
Cheetah

<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 './{{.LowerName}}.service.ts'
import type { Scheme } from '../types/scheme.type'
import { {{.StructName}} } from '{{.GolangServicesPath}}'
import { ref } from 'vue'
import type { Validate } from '../types/validate.type'
{{range .Dependencies}}
import {{.ImportName}} from '../{{.LowerName}}/{{.LowerName}}.service.ts'
const {{.ServiceName}} = new {{.ImportName}}
{{end}}
const service = new Service
const items = ref<{{ .StructName }}[]>([])
const load = async () => {
{{range .Dependencies}}
(scheme as any).{{.FieldName}}.type!.nested!.values = await {{.ServiceName}}.readAll();
{{end}}
items.value = await service.readAll();
return items.value;
};
onMounted(async () => {
load()
})
const scheme: Scheme<{{.StructName}}> = reactive({
entityId: "{{.StructName}}Id",
{{range .Fields}}
{{.Name}}: {{.GenerateFieldCode}},
{{end}}
})
const getDefaults = () => getDefaultValues(scheme)
const validate: Validate<{{.StructName}}> = (entity) => {
return {
status: 'success'
}
};
</script>
<template>
<main class="w-screen h-screen">
<Table :scheme :service :get-defaults :load :items :validate></Table>
</main>
</template>