2026-02-14 13:25:11 +09:00
|
|
|
export interface User {
|
|
|
|
|
id: number;
|
|
|
|
|
email: string;
|
|
|
|
|
name: string;
|
|
|
|
|
avatarUrl: string | null;
|
|
|
|
|
status: UserStatus;
|
|
|
|
|
isAdmin: boolean;
|
|
|
|
|
roles: Role[];
|
|
|
|
|
createdAt: string;
|
|
|
|
|
lastLoginAt: string | null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type UserStatus = 'PENDING' | 'ACTIVE' | 'REJECTED' | 'DISABLED';
|
|
|
|
|
|
|
|
|
|
export interface Role {
|
|
|
|
|
id: number;
|
|
|
|
|
name: string;
|
|
|
|
|
description: string;
|
|
|
|
|
urlPatterns: string[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface AuthResponse {
|
|
|
|
|
token: string;
|
|
|
|
|
user: User;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface NavItem {
|
|
|
|
|
path: string;
|
|
|
|
|
label: string;
|
|
|
|
|
icon?: string;
|
|
|
|
|
children?: NavItem[];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface Issue {
|
|
|
|
|
id: number;
|
|
|
|
|
title: string;
|
|
|
|
|
body: string;
|
|
|
|
|
status: 'OPEN' | 'IN_PROGRESS' | 'CLOSED';
|
|
|
|
|
priority: 'LOW' | 'NORMAL' | 'HIGH' | 'URGENT';
|
|
|
|
|
author: User;
|
|
|
|
|
assignee: User | null;
|
|
|
|
|
comments: IssueComment[];
|
|
|
|
|
createdAt: string;
|
|
|
|
|
updatedAt: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface IssueComment {
|
|
|
|
|
id: number;
|
|
|
|
|
body: string;
|
|
|
|
|
author: User;
|
|
|
|
|
createdAt: string;
|
|
|
|
|
}
|
2026-02-14 17:38:28 +09:00
|
|
|
|
|
|
|
|
export interface Permission {
|
|
|
|
|
id: number;
|
|
|
|
|
roleId: number;
|
|
|
|
|
urlPattern: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface StatsResponse {
|
|
|
|
|
totalUsers: number;
|
|
|
|
|
activeUsers: number;
|
|
|
|
|
pendingUsers: number;
|
2026-02-14 23:00:32 +09:00
|
|
|
rejectedUsers: number;
|
|
|
|
|
disabledUsers: number;
|
|
|
|
|
todayLogins: number;
|
|
|
|
|
totalRoles: number;
|
2026-02-14 17:38:28 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface LoginHistory {
|
|
|
|
|
id: number;
|
|
|
|
|
loginAt: string;
|
|
|
|
|
ipAddress: string;
|
2026-02-14 23:00:32 +09:00
|
|
|
userAgent: string;
|
2026-02-14 17:38:28 +09:00
|
|
|
}
|