This commit is contained in:
Chuck1sn
2025-05-15 21:48:09 +08:00
parent f33bcf3697
commit 082312db7c
56 changed files with 954 additions and 802 deletions

View File

@@ -2,7 +2,7 @@ import createClient, { type Middleware } from "openapi-fetch";
import useAuthStore from "../composables/store/useAuthStore";
import {
ForbiddenError,
SystemError,
RequestError,
UnAuthError,
InternalServerError,
} from "../types/error";
@@ -22,10 +22,10 @@ const myMiddleware: Middleware = {
} else if (response.status === 403) {
handleForbiddenError(response);
} else {
handleSystemError(response);
handleRequestError(response);
}
} else if (response.status >= 500) {
await handleBusinessError(response);
await handleServerError(response);
} else {
return response;
}
@@ -57,11 +57,11 @@ const handleForbiddenError = (response: Response) => {
throw new ForbiddenError(response.status);
};
const handleSystemError = (response: Response) => {
throw new SystemError(response.status);
const handleRequestError = (response: Response) => {
throw new RequestError(response.status);
};
const handleBusinessError = async (response: Response) => {
const handleServerError = async (response: Response) => {
const data = await response.json();
throw new InternalServerError(response.status, data.detail);
};

View File

@@ -1,6 +1,6 @@
import { faker } from "@faker-js/faker";
import { http, HttpResponse } from "msw";
import { ROLE } from "../../router/constants";
import { ERole } from "../../router/constants";
export default [
http.get("/iam/user", () => {
@@ -13,7 +13,7 @@ export default [
const generateRole = () => ({
id: faker.number.int({ min: 1, max: 100 }),
code: faker.helpers.arrayElement([
ROLE.ADMIN,
ERole.ADMIN,
"editor",
"viewer",
"manager",
@@ -60,7 +60,7 @@ export default [
const generateRole = () => ({
id: faker.number.int({ min: 1, max: 100 }),
code: [ROLE.ADMIN, "editor", "viewer", "manager"],
code: [ERole.ADMIN, "editor", "viewer", "manager"],
name: faker.person.jobTitle(),
permissions: faker.helpers.multiple(generatePermission, {
count: { min: 1, max: 5 },
@@ -135,7 +135,7 @@ export default [
const generateRole = () => ({
id: faker.number.int({ min: 1, max: 100 }),
code: [ROLE.ADMIN, "editor", "viewer", "manager"],
code: [ERole.ADMIN, "editor", "viewer", "manager"],
name: faker.person.jobTitle(),
permissions: faker.helpers.multiple(generatePermission, {
count: { min: 1, max: 5 },

View File

@@ -904,12 +904,23 @@
}
}
},
"/department/query": {
"/department/query-available": {
"get": {
"tags": [
"department-controller"
],
"operationId": "queryDepartments",
"operationId": "queryAvailableParentDepartmentsBy",
"parameters": [
{
"name": "id",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "OK",

View File

@@ -436,14 +436,14 @@ export interface paths {
patch?: never;
trace?: never;
};
"/department/query": {
"/department/query-available": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["queryDepartments"];
get: operations["queryAvailableParentDepartmentsBy"];
put?: never;
post?: never;
delete?: never;
@@ -1466,9 +1466,11 @@ export interface operations {
};
};
};
queryDepartments: {
queryAvailableParentDepartmentsBy: {
parameters: {
query?: never;
query?: {
id?: number;
};
header?: never;
path?: never;
cookie?: never;