feat(container): add CRUD operations for container management

- Implemented routes for listing, retrieving, updating, and deleting containers.
- Added ContainerModel with necessary fields and methods for data handling.
- Created utility functions for fetching container data by ID.

feat(page): enhance page management with CRUD and publish functionality

- Developed routes for managing pages, including listing, updating, and deleting.
- Integrated caching and zip file generation for page exports.
- Added publish functionality to manage app versions and file uploads.

feat(prompts): implement prompt management with CRUD operations

- Created routes for listing, updating, and deleting prompts.
- Added pagination and search capabilities for prompt listing.

test: add common query utilities and prompt tests

- Implemented common query utilities for API interactions.
- Added tests for prompt listing functionality.
This commit is contained in:
2025-12-30 13:28:50 +08:00
parent 27e5fb5e82
commit 8731801b52
28 changed files with 411 additions and 103 deletions

27
src/test/common-query.ts Normal file
View File

@@ -0,0 +1,27 @@
import { useConfig, useContextKey } from '@kevisual/context';
import { Query } from '@kevisual/query';
import util from 'node:util';
const config = useConfig();
export const showMore = (res: any) => {
return util.inspect(res, { depth: 6, colors: true });
}
const token = 'st_r3u38c0jbhoc412ovzeeuaucygt6w5qg';
export const query = new Query({
url: 'http://localhost:4005/api/router',
});
// const loginRes = await query.post({
// path: 'user',
// key: 'login',
// username: 'root',
// password: config.KEVISUAL_PASSWORD ||'',
// });
// console.log('login:', showMore(loginRes));
query.beforeRequest = async (options) => {
options.headers = {
...options.headers,
'Authorization': 'Bearer ' + token,
};
return options;
}

View File

@@ -3,6 +3,7 @@ import '@/route.ts';
import { useConfig, useContextKey } from '@kevisual/context';
import { Query } from '@kevisual/query';
import util from 'node:util';
export {
app,
useContextKey
@@ -23,6 +24,9 @@ export const showRes = (res, ...args) => {
console.error(res.code, res.message, ...args);
}
}
export const showMore = (res: any) => {
return util.inspect(res, { depth: 6, colors: true });
}
export const exit = (code = 0) => {
process.exit(code);
@@ -30,4 +34,4 @@ export const exit = (code = 0) => {
export const query = new Query({
url: 'https://kevisual.cn/api/router'
})
})

View File

@@ -1,4 +1,4 @@
import { ContainerModel } from '../routes/container/models/index.ts';
import { ContainerModel } from '../old-apps/container/models/index.ts';
const main = async () => {
// await ContainerModel.update(

8
src/test/prompt.ts Normal file
View File

@@ -0,0 +1,8 @@
import { query, showMore } from './common-query.ts';
const res = await query.post({
path: 'prompts',
key: 'list'
})
console.log('res:', showMore(res));