2023-06-05 04:16:49 +08:00
|
|
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
|
|
|
|
|
|
import { Types } from "mongoose";
|
2023-06-05 00:17:01 +02:00
|
|
|
import { Oid } from "@/src/types/commonTypes";
|
2023-06-05 04:16:49 +08:00
|
|
|
|
2023-06-05 00:17:01 +02:00
|
|
|
export interface IShip {
|
2023-06-05 04:16:49 +08:00
|
|
|
ShipOwnerId: Types.ObjectId;
|
2023-06-05 00:17:01 +02:00
|
|
|
Ship: IShipClassResponse;
|
2023-06-05 04:16:49 +08:00
|
|
|
Apartment: IApartmentClass;
|
|
|
|
}
|
|
|
|
|
2023-06-05 00:17:01 +02:00
|
|
|
export interface IShipClassResponse extends IShipClassDatabase {
|
2023-06-05 04:16:49 +08:00
|
|
|
ShipId: Oid;
|
2023-06-05 00:17:01 +02:00
|
|
|
}
|
|
|
|
export interface IShipClassDatabase {
|
|
|
|
Rooms: IRoomsClass[];
|
2023-06-05 04:16:49 +08:00
|
|
|
Features: string[];
|
|
|
|
ContentUrlSignature: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IRoomsClass {
|
|
|
|
Name: string;
|
|
|
|
MaxCapacity: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IApartmentClass {
|
|
|
|
Rooms: IRoomsClass[];
|
|
|
|
FavouriteLoadouts: string[];
|
|
|
|
}
|