1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
| import type { EventHandlerRequest, H3Event } from 'h3';
|
| export function useResponseSuccess<T = any>(data: T) {
| return {
| code: 0,
| data,
| error: null,
| message: 'ok',
| };
| }
|
| export function usePageResponseSuccess<T = any>(
| page: number | string,
| pageSize: number | string,
| list: T[],
| { message = 'ok' } = {},
| ) {
| const pageData = pagination(
| Number.parseInt(`${page}`),
| Number.parseInt(`${pageSize}`),
| list,
| );
|
| return {
| ...useResponseSuccess({
| items: pageData,
| total: list.length,
| }),
| message,
| };
| }
|
| export function useResponseError(message: string, error: any = null) {
| return {
| code: -1,
| data: null,
| error,
| message,
| };
| }
|
| export function forbiddenResponse(
| event: H3Event<EventHandlerRequest>,
| message = 'Forbidden Exception',
| ) {
| setResponseStatus(event, 403);
| return useResponseError(message, message);
| }
|
| export function unAuthorizedResponse(event: H3Event<EventHandlerRequest>) {
| setResponseStatus(event, 401);
| return useResponseError('Unauthorized Exception', 'Unauthorized Exception');
| }
|
| export function sleep(ms: number) {
| return new Promise((resolve) => setTimeout(resolve, ms));
| }
|
| export function pagination<T = any>(
| pageNo: number,
| pageSize: number,
| array: T[],
| ): T[] {
| const offset = (pageNo - 1) * Number(pageSize);
| return offset + Number(pageSize) >= array.length
| ? array.slice(offset)
| : array.slice(offset, offset + Number(pageSize));
| }
|
|