mirror of
https://github.com/spacebarchat/server.git
synced 2026-06-06 17:41:42 +00:00
✨ util
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
import { User } from "..";
|
||||
import { ClientStatus, Status } from "./Status";
|
||||
import { Schema, model, Types, Document } from "mongoose";
|
||||
import toBigInt from "../util/toBigInt";
|
||||
|
||||
export interface Presence {
|
||||
user: User;
|
||||
guild_id?: string;
|
||||
status: Status;
|
||||
activities: Activity[];
|
||||
client_status: ClientStatus;
|
||||
}
|
||||
|
||||
export interface Activity {
|
||||
name: string;
|
||||
type: ActivityType;
|
||||
url?: string;
|
||||
created_at?: Date;
|
||||
timestamps?: {
|
||||
start?: number;
|
||||
end?: number;
|
||||
}[];
|
||||
application_id?: string;
|
||||
details?: string;
|
||||
state?: string;
|
||||
emoji?: {
|
||||
name: string;
|
||||
id?: string;
|
||||
amimated?: boolean;
|
||||
};
|
||||
party?: {
|
||||
id?: string;
|
||||
size?: [number, number];
|
||||
};
|
||||
assets?: {
|
||||
large_image?: string;
|
||||
large_text?: string;
|
||||
small_image?: string;
|
||||
small_text?: string;
|
||||
};
|
||||
secrets?: {
|
||||
join?: string;
|
||||
spectate?: string;
|
||||
match?: string;
|
||||
};
|
||||
instance?: boolean;
|
||||
flags?: bigint;
|
||||
}
|
||||
|
||||
export const ActivitySchema = {
|
||||
name: { type: String, required: true },
|
||||
type: { type: Number, required: true },
|
||||
url: String,
|
||||
created_at: Date,
|
||||
timestamps: [
|
||||
{
|
||||
start: Number,
|
||||
end: Number,
|
||||
},
|
||||
],
|
||||
application_id: String,
|
||||
details: String,
|
||||
state: String,
|
||||
emoji: {
|
||||
name: String,
|
||||
id: String,
|
||||
amimated: Boolean,
|
||||
},
|
||||
party: {
|
||||
id: String,
|
||||
size: [Number, Number],
|
||||
},
|
||||
assets: {
|
||||
large_image: String,
|
||||
large_text: String,
|
||||
small_image: String,
|
||||
small_text: String,
|
||||
},
|
||||
secrets: {
|
||||
join: String,
|
||||
spectate: String,
|
||||
match: String,
|
||||
},
|
||||
instance: Boolean,
|
||||
flags: { type: String, get: toBigInt },
|
||||
};
|
||||
|
||||
export const ActivityBodySchema = {
|
||||
name: String,
|
||||
type: Number,
|
||||
$url: String,
|
||||
$created_at: Date,
|
||||
$timestamps: [
|
||||
{
|
||||
$start: Number,
|
||||
$end: Number,
|
||||
},
|
||||
],
|
||||
$application_id: String,
|
||||
$details: String,
|
||||
$state: String,
|
||||
$emoji: {
|
||||
$name: String,
|
||||
$id: String,
|
||||
$amimated: Boolean,
|
||||
},
|
||||
$party: {
|
||||
$id: String,
|
||||
$size: [Number, Number],
|
||||
},
|
||||
$assets: {
|
||||
$large_image: String,
|
||||
$large_text: String,
|
||||
$small_image: String,
|
||||
$small_text: String,
|
||||
},
|
||||
$secrets: {
|
||||
$join: String,
|
||||
$spectate: String,
|
||||
$match: String,
|
||||
},
|
||||
$instance: Boolean,
|
||||
$flags: BigInt,
|
||||
};
|
||||
|
||||
export enum ActivityType {
|
||||
GAME = 0,
|
||||
STREAMING = 1,
|
||||
LISTENING = 2,
|
||||
CUSTOM = 4,
|
||||
COMPETING = 5,
|
||||
}
|
||||
Reference in New Issue
Block a user