User Role (#69)

* fix: window.DisableAnimatedMan as boolean

* chore: auto-fix linting and formatting issues

* feat: user role

* feat: use user agent_secret

* feat: hide setting when user role is not admin

* feat: new waf api

* chore: auto-fix linting and formatting issues

* fix: admin settings page

* feat: online-user setting

* fix: pagination

---------

Co-authored-by: hamster1963 <hamster1963@users.noreply.github.com>
This commit is contained in:
仓鼠
2024-12-22 23:17:20 +08:00
committed by GitHub
parent cc30a53380
commit 4d12682cdf
15 changed files with 703 additions and 36 deletions

View File

@@ -404,6 +404,8 @@ export interface ModelProfile {
password: string
updated_at: string
username: string
role: number
agent_secret: string
}
export interface ModelProfileForm {
@@ -673,6 +675,7 @@ export interface ModelUser {
password: string
updated_at: string
username: string
role: number
}
export interface ModelUserForm {
@@ -680,9 +683,32 @@ export interface ModelUserForm {
username: string
}
export interface ModelWAFApiMock {
export interface Pagination {
limit: number
offset: number
total: number
}
export interface ModelWAF {
count: number
ip: string
last_block_reason: number
last_block_timestamp: number
block_identifier: number
block_reason: number
block_timestamp: number
}
export interface ModelWAFApiMock {
pagination: Pagination
value: ModelWAF[]
}
export interface ModelOnlineUser {
connected_at: string
ip: string
user_id: number
}
export interface ModelOnlineUserApi {
pagination: Pagination
value: ModelOnlineUser[]
}

View File

@@ -16,3 +16,10 @@ export const wafBlockReasons: Record<number, string> = {
2: i18n.t("BruteForceAttackingToken"),
3: i18n.t("BruteForceAttackingAgentSecret"),
}
export const wafBlockIdentifiers: Record<number, string> = {
"-127": i18n.t("GrpcAuthFailed"),
"-126": i18n.t("APITokenInvalid"),
"-125": i18n.t("UserInvalid"),
"-124": i18n.t("BlockByUser"),
}