2024-05-16 01:34:38 +02:00
|
|
|
import { Types } from "mongoose";
|
|
|
|
import { IOid, IMongoDate } from "@/src/types/commonTypes";
|
2024-06-06 16:55:37 +02:00
|
|
|
import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
2024-05-16 01:34:38 +02:00
|
|
|
|
2024-05-04 15:42:25 +02:00
|
|
|
export interface IGuild {
|
|
|
|
Name: string;
|
|
|
|
}
|
|
|
|
|
2024-05-16 01:34:38 +02:00
|
|
|
export interface IGuildDatabase extends IGuild {
|
|
|
|
_id: Types.ObjectId;
|
|
|
|
DojoComponents?: IDojoComponentDatabase[];
|
|
|
|
}
|
|
|
|
|
2024-05-04 15:42:25 +02:00
|
|
|
export interface ICreateGuildRequest {
|
|
|
|
guildName: string;
|
|
|
|
}
|
2024-05-16 01:34:38 +02:00
|
|
|
|
|
|
|
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;
|
2024-06-06 16:55:37 +02:00
|
|
|
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;
|
2024-05-16 01:34:38 +02:00
|
|
|
}
|
|
|
|
|
2024-06-06 16:55:37 +02:00
|
|
|
export interface IDojoComponentDatabase
|
|
|
|
extends Omit<IDojoComponentClient, "id" | "pi" | "CompletionTime" | "DecoCapacity"> {
|
2024-05-16 01:34:38 +02:00
|
|
|
_id: Types.ObjectId;
|
2024-06-06 16:55:37 +02:00
|
|
|
pi?: Types.ObjectId;
|
|
|
|
CompletionTime?: Date;
|
2024-05-16 01:34:38 +02:00
|
|
|
}
|