mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-23 13:03:08 +00:00
added toBigInt and BigInt getters to bitfields
This commit is contained in:
1 parent
f01fe1ba3a
commit
e8c097ef27
9 files changed
+32
-9
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import { Schema, model, Types, Document } from "mongoose";
|
||||
import db from "../util/Database";
|
||||
import toBigInt from "../util/toBigInt";
|
||||
|
||||
export interface AnyChannel extends Channel, DMChannel, TextChannel, VoiceChannel {}
|
||||
|
||||
@@ -24,8 +25,8 @@ export const ChannelSchema = new Schema({
|
||||
topic: String,
|
||||
permission_overwrites: [
|
||||
{
|
||||
allow: Types.Long,
|
||||
deny: Types.Long,
|
||||
allow: { type: String, get: toBigInt },
|
||||
deny: { type: String, get: toBigInt },
|
||||
id: String,
|
||||
type: Number,
|
||||
},
|
||||
|
||||
+5
-1
@@ -32,6 +32,8 @@ export interface Guild {
|
||||
// channels: GuildChannel[]; // * Channels are stored in a seperate collection
|
||||
// emojis: Emoji[]; // * Emojis are stored in a seperate collection
|
||||
// voice_states: []; // * voice_states are stored in a seperate collection
|
||||
//TODO:
|
||||
presences?: object[];
|
||||
mfa_level?: number;
|
||||
name: string;
|
||||
owner_id: string;
|
||||
@@ -69,6 +71,7 @@ export const GuildSchema = new Schema({
|
||||
max_presences: Number,
|
||||
max_video_channel_users: { type: Number, default: 25 },
|
||||
member_count: Number,
|
||||
presences: { type: [Object], default: [] },
|
||||
presence_count: Number,
|
||||
mfa_level: Number,
|
||||
name: { type: String, required: true },
|
||||
@@ -98,6 +101,7 @@ GuildSchema.virtual("channels", {
|
||||
justOne: false,
|
||||
autopopulate: true,
|
||||
});
|
||||
|
||||
GuildSchema.virtual("roles", {
|
||||
ref: RoleModel,
|
||||
localField: "id",
|
||||
@@ -128,7 +132,7 @@ GuildSchema.virtual("joined_at", {
|
||||
foreignField: "guild_id",
|
||||
justOne: true,
|
||||
}).get((member: any, virtual: any, doc: any) => {
|
||||
return member.joined_at;
|
||||
return member?.joined_at;
|
||||
});
|
||||
|
||||
// @ts-ignore
|
||||
|
||||
+3
-1
@@ -1,5 +1,6 @@
|
||||
import { Schema, model, Types, Document } from "mongoose";
|
||||
import db from "../util/Database";
|
||||
import toBigInt from "../util/toBigInt";
|
||||
|
||||
export interface Role {
|
||||
id: string;
|
||||
@@ -28,12 +29,13 @@ export const RoleSchema = new Schema({
|
||||
managed: Boolean,
|
||||
mentionable: Boolean,
|
||||
name: String,
|
||||
permissions: Types.Long,
|
||||
permissions: { type: String, get: toBigInt },
|
||||
position: Number,
|
||||
tags: {
|
||||
bot_id: String,
|
||||
},
|
||||
});
|
||||
|
||||
RoleSchema.set("removeResponse", ["guild_id"]);
|
||||
|
||||
// @ts-ignore
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@ import { Activity } from "./Activity";
|
||||
import { ClientStatus, Status } from "./Status";
|
||||
import { Schema, Types, Document } from "mongoose";
|
||||
import db from "../util/Database";
|
||||
import toBigInt from "../util/toBigInt";
|
||||
|
||||
export const PublicUserProjection = {
|
||||
username: true,
|
||||
@@ -141,8 +142,8 @@ export const UserSchema = new Schema({
|
||||
created_at: Date,
|
||||
verified: Boolean,
|
||||
email: String,
|
||||
flags: Types.Long, // TODO: automatically convert Types.Long to BitField of UserFlags
|
||||
public_flags: Types.Long,
|
||||
flags: { type: String, get: toBigInt }, // TODO: automatically convert Types.Long to BitField of UserFlags
|
||||
public_flags: { type: String, get: toBigInt },
|
||||
guilds: [String], // array of guild ids the user is part of
|
||||
user_data: {
|
||||
fingerprints: [String],
|
||||
|
||||
Reference in new issue
Block a user