fix: restore complete admin feature dependencies
This commit is contained in:
1 parent
5b4228261a
commit
0cd753c735
115 files changed
+18565
-4930
No files matched your search
@@ -0,0 +1,44 @@
|
||||
export interface PermissionSet {
|
||||
has(permission: string): boolean
|
||||
hasAny(...permissions: string[]): boolean
|
||||
hasAll(...permissions: string[]): boolean
|
||||
isSuperAdmin: boolean
|
||||
}
|
||||
|
||||
export type WebhookAction =
|
||||
| 'ban'
|
||||
| 'unban'
|
||||
| 'kick'
|
||||
| 'disconnect'
|
||||
| 'room_delete'
|
||||
| 'user_edit'
|
||||
| 'user_create'
|
||||
| 'news_publish'
|
||||
| 'news_delete'
|
||||
| 'hotel_alert'
|
||||
| 'staff_alert'
|
||||
| 'ticket_create'
|
||||
| 'event_create'
|
||||
| 'event_update'
|
||||
| 'event_cancel'
|
||||
| 'poll_create'
|
||||
| 'poll_close'
|
||||
|
||||
type AvatarSize = 's' | 'm' | 'l'
|
||||
type Direction = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
|
||||
|
||||
export interface AvatarOptions {
|
||||
/** Avatar size: s (small), m (medium), l (large) */
|
||||
size?: AvatarSize
|
||||
/** Body direction (0-7) */
|
||||
direction?: Direction
|
||||
/** Head direction (0-7) */
|
||||
headDirection?: Direction
|
||||
/** Show only the head */
|
||||
headOnly?: boolean
|
||||
/** Gesture: sml (smile), srp (surprised), sad, etc. */
|
||||
gesture?: string
|
||||
/** Action: wav, sit, lay, etc. */
|
||||
action?: string
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
export interface TreeNode {
|
||||
id: number
|
||||
caption: string
|
||||
parentId: number
|
||||
depth: number
|
||||
orderNum: number
|
||||
enabled: string
|
||||
visible: string
|
||||
iconImage: number
|
||||
iconColor: number
|
||||
pageLayout: string
|
||||
childCount: number
|
||||
itemCount: number
|
||||
}
|
||||
|
||||
export interface NestedTreeNode extends TreeNode {
|
||||
children: NestedTreeNode[]
|
||||
}
|
||||
|
||||
export interface TreeNodeData {
|
||||
id: number
|
||||
caption: string
|
||||
parentId: number
|
||||
enabled: string
|
||||
visible: string
|
||||
iconImage: number
|
||||
iconColor: number
|
||||
pageLayout: string
|
||||
childCount: number
|
||||
itemCount: number
|
||||
}
|
||||
|
||||
export interface TreeNodeUpdate {
|
||||
id: number
|
||||
caption?: string
|
||||
enabled?: string
|
||||
visible?: string
|
||||
pageLayout?: string
|
||||
iconImage?: number
|
||||
}
|
||||
|
||||
export interface RootTab {
|
||||
id: number
|
||||
caption: string
|
||||
iconImage: number
|
||||
enabled: string
|
||||
orderNum: number
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
export interface PaginatedResult<T> {
|
||||
rows: T[]
|
||||
total: number
|
||||
page: number
|
||||
perPage: number
|
||||
lastPage: number
|
||||
}
|
||||
|
||||
export interface ListParams {
|
||||
search: string
|
||||
perPage: number
|
||||
page: number
|
||||
sort?: string
|
||||
order?: 'asc' | 'desc'
|
||||
}
|
||||
|
||||
export interface DataTableFilterOption {
|
||||
label: string
|
||||
value: string
|
||||
}
|
||||
|
||||
export interface DataTableColumn<T> {
|
||||
key: (keyof T & string) | (string & {})
|
||||
label: string
|
||||
sortable?: boolean
|
||||
render?: (value: T[keyof T], row: T) => React.ReactNode
|
||||
filterOptions?: DataTableFilterOption[]
|
||||
filterKey?: string
|
||||
}
|
||||
|
||||
export interface StatsCard {
|
||||
label: string
|
||||
value: number | string
|
||||
description?: string
|
||||
icon?: React.ReactNode
|
||||
}
|
||||
|
||||
export interface BreadcrumbItem {
|
||||
label: string
|
||||
href?: string
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
export interface HabboFurniItem {
|
||||
id: number
|
||||
classname: string
|
||||
type: string
|
||||
name: string
|
||||
description: string
|
||||
revision: number
|
||||
category: string
|
||||
}
|
||||
|
||||
export interface FurniListResult {
|
||||
items: HabboFurniItem[]
|
||||
meta: { currentPage: number; lastPage: number; total: number; perPage: number }
|
||||
}
|
||||
|
||||
export interface FurniMetadata {
|
||||
visualizationType: string
|
||||
logicType: string
|
||||
canstandon: boolean
|
||||
cansiton: boolean
|
||||
canlayon: boolean
|
||||
specialtype: number
|
||||
defaultdir: number
|
||||
partcolors: { color: string[] }
|
||||
}
|
||||
|
||||
export interface ConversionResult {
|
||||
bundle: Buffer
|
||||
classname: string
|
||||
dimensions: { x: number; y: number; z: number }
|
||||
directions: number[]
|
||||
spriteCount: number
|
||||
warnings: string[]
|
||||
metadata: FurniMetadata
|
||||
}
|
||||
|
||||
export interface BatchConversionItem {
|
||||
swfBuffer: Buffer
|
||||
classname: string
|
||||
}
|
||||
|
||||
export interface BatchConversionResult {
|
||||
classname: string
|
||||
success: boolean
|
||||
bundle?: Buffer
|
||||
dimensions?: { x: number; y: number; z: number }
|
||||
directions?: number[]
|
||||
spriteCount?: number
|
||||
warnings: string[]
|
||||
error?: string
|
||||
}
|
||||
|
||||
export interface HabboItFurniEntry {
|
||||
id: number
|
||||
classname: string
|
||||
revision: number
|
||||
category: string
|
||||
defaultdir: number
|
||||
xdim: number
|
||||
ydim: number
|
||||
partcolors: { color: string[] }
|
||||
name: string
|
||||
description: string
|
||||
specialtype: number
|
||||
canstandon: boolean
|
||||
cansiton: boolean
|
||||
canlayon: boolean
|
||||
furniline: string
|
||||
environment: string
|
||||
rare: boolean
|
||||
tradeable?: boolean
|
||||
bc?: boolean
|
||||
customparams?: string | null
|
||||
itemType: 's' | 'i'
|
||||
}
|
||||
|
||||
export interface HabboAssetBadge {
|
||||
id: number
|
||||
code: string
|
||||
name: string
|
||||
description: string
|
||||
hotel: string
|
||||
url_habbo: string
|
||||
url_habboassets: string
|
||||
}
|
||||
|
||||
export interface ImportSingleResult {
|
||||
ok: boolean
|
||||
itemId?: number
|
||||
catalogItemId?: number | null
|
||||
dimensions?: { x: number; y: number; z: number }
|
||||
spriteCount?: number
|
||||
warnings: string[]
|
||||
error?: string
|
||||
furniDataEntry?: { entry: Record<string, unknown>; itemType: string }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
export * from './admin'
|
||||
export * from './catalog'
|
||||
export * from './common'
|
||||
export * from './furni'
|
||||
export * from './prisma'
|
||||
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
declare module "lzma" {
|
||||
const lzma: {
|
||||
decompress(input: Buffer | Uint8Array | number[]): number[];
|
||||
compress(input: string | Uint8Array | number[], mode?: number): number[];
|
||||
};
|
||||
export default lzma;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import type { Ban, User, UsersCurrency } from "@/generated/prisma/client";
|
||||
|
||||
export type UserWithCurrencies = User & { currencies: UsersCurrency[] };
|
||||
export type UserWithPermission = User & { permission: { rankName: string } };
|
||||
export type UserPublicPreview = Pick<User, "id" | "username" | "look" | "motto">;
|
||||
export interface NotificationRow {
|
||||
id: number;
|
||||
userId: number;
|
||||
type: string;
|
||||
title: string;
|
||||
message: string;
|
||||
link: string | null;
|
||||
readAt: string | null;
|
||||
createdAt: string;
|
||||
}
|
||||
export type BanWithStaff = Ban & { staff: Pick<User, "id" | "username"> };
|
||||
Reference in new issue
Block a user