XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
UTF-8
import { Types } from "mongoose";
import { IOid, IMongoDate } from "@/src/types/commonTypes";
import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";

export interface IGuild {
    Name: string;
}

export interface IGuildDatabase extends IGuild {
    _id: Types.ObjectId;
    DojoComponents?: IDojoComponentDatabase[];
}

export interface ICreateGuildRequest {
    guildName: string;
}

export interface IDojoClient {
    _id: IOid; // ID of the guild
    Name: string;
    Tier: number;
    FixedContributions: boolean;
    DojoRevision: number;
    RevisionTime: number;
    Energy: number;
    Capacity: number;
    DojoRequestStatus: number;
    DojoComponents: IDojoComponentClient[];
}

export interface IDojoComponentClient {
    id: IOid;
    pf: string;
    ppf: string;
    pi?: IOid; // Parent ID. N/A to root.
    op?: string; // "Open Portal"? N/A to root.
    pp?: string; // "Parent Portal"? N/A to root.
    RegularCredits?: number; // "Collecting Materials" state: Number of credits that were donated.
    MiscItems?: IMiscItem[]; // "Collecting Materials" state: Resources that were donated.
    CompletionTime?: IMongoDate;
    DecoCapacity?: number;
}

export interface IDojoComponentDatabase
    extends Omit<IDojoComponentClient, "id" | "pi" | "CompletionTime" | "DecoCapacity"> {
    _id: Types.ObjectId;
    pi?: Types.ObjectId;
    CompletionTime?: Date;
}