This commit is contained in:
1 parent
8efd032cc6
commit
df38dccbf1
735 files changed
+128321
-120870
No files matched your search
+33
-33
@@ -1,43 +1,43 @@
|
||||
export interface PermissionSet {
|
||||
has(permission: string): boolean;
|
||||
hasAny(...permissions: string[]): boolean;
|
||||
hasAll(...permissions: string[]): boolean;
|
||||
isSuperAdmin: boolean;
|
||||
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";
|
||||
| "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;
|
||||
/** 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;
|
||||
}
|
||||
+34
-34
@@ -1,48 +1,48 @@
|
||||
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;
|
||||
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[];
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
id: number;
|
||||
caption: string;
|
||||
iconImage: number;
|
||||
enabled: string;
|
||||
orderNum: number;
|
||||
}
|
||||
+24
-24
@@ -1,41 +1,41 @@
|
||||
export interface PaginatedResult<T> {
|
||||
rows: T[];
|
||||
total: number;
|
||||
page: number;
|
||||
perPage: number;
|
||||
lastPage: number;
|
||||
rows: T[];
|
||||
total: number;
|
||||
page: number;
|
||||
perPage: number;
|
||||
lastPage: number;
|
||||
}
|
||||
|
||||
export interface ListParams {
|
||||
search: string;
|
||||
perPage: number;
|
||||
page: number;
|
||||
sort?: string;
|
||||
order?: "asc" | "desc";
|
||||
search: string;
|
||||
perPage: number;
|
||||
page: number;
|
||||
sort?: string;
|
||||
order?: "asc" | "desc";
|
||||
}
|
||||
|
||||
export interface DataTableFilterOption {
|
||||
label: string;
|
||||
value: string;
|
||||
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;
|
||||
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;
|
||||
label: string;
|
||||
value: number | string;
|
||||
description?: string;
|
||||
icon?: React.ReactNode;
|
||||
}
|
||||
|
||||
export interface BreadcrumbItem {
|
||||
label: string;
|
||||
href?: string;
|
||||
label: string;
|
||||
href?: string;
|
||||
}
|
||||
+10
-10
@@ -1,18 +1,18 @@
|
||||
export interface EffectMapEntry {
|
||||
id: string;
|
||||
lib: string;
|
||||
type: string; // 'fx' | 'dance'
|
||||
revision: number;
|
||||
id: string;
|
||||
lib: string;
|
||||
type: string; // 'fx' | 'dance'
|
||||
revision: number;
|
||||
}
|
||||
|
||||
export interface EffectListItem extends EffectMapEntry {
|
||||
present: boolean;
|
||||
nitroExists: boolean;
|
||||
present: boolean;
|
||||
nitroExists: boolean;
|
||||
}
|
||||
|
||||
export interface ImportEffectResult {
|
||||
ok: boolean;
|
||||
lib: string;
|
||||
warnings: string[];
|
||||
error?: string;
|
||||
ok: boolean;
|
||||
lib: string;
|
||||
warnings: string[];
|
||||
error?: string;
|
||||
}
|
||||
+75
-70
@@ -1,96 +1,101 @@
|
||||
export interface HabboFurniItem {
|
||||
id: number;
|
||||
classname: string;
|
||||
type: string;
|
||||
name: string;
|
||||
description: string;
|
||||
revision: number;
|
||||
category: string;
|
||||
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 };
|
||||
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[] };
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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";
|
||||
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;
|
||||
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 };
|
||||
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 };
|
||||
}
|
||||
Vendored
+5
-5
@@ -1,7 +1,7 @@
|
||||
declare module "lzma" {
|
||||
const lzma: {
|
||||
decompress(input: Buffer | Uint8Array | number[]): number[];
|
||||
compress(input: string | Uint8Array | number[], mode?: number): number[];
|
||||
};
|
||||
export default lzma;
|
||||
const lzma: {
|
||||
decompress(input: Buffer | Uint8Array | number[]): number[];
|
||||
compress(input: string | Uint8Array | number[], mode?: number): number[];
|
||||
};
|
||||
export default lzma;
|
||||
}
|
||||
Vendored
+6
-6
@@ -1,13 +1,13 @@
|
||||
import type { DefaultSession } from "next-auth";
|
||||
|
||||
declare module "next-auth" {
|
||||
interface Session {
|
||||
user: { id: string; rank: number } & DefaultSession["user"];
|
||||
}
|
||||
interface Session {
|
||||
user: { id: string; rank: number } & DefaultSession["user"];
|
||||
}
|
||||
}
|
||||
|
||||
declare module "next-auth/jwt" {
|
||||
interface JWT {
|
||||
rank?: number;
|
||||
}
|
||||
interface JWT {
|
||||
rank?: number;
|
||||
}
|
||||
}
|
||||
+12
-9
@@ -2,15 +2,18 @@ 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 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;
|
||||
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