mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-22 11:32:29 +00:00
✨ accept invite page
This commit is contained in:
1 parent
6c0a69d95b
commit
dd9ec0c6a0
6 files changed
+41
-27
No files matched your search
@@ -110,13 +110,13 @@ export interface ConfigValue {
|
||||
};
|
||||
register: {
|
||||
email: {
|
||||
necessary: boolean; // we have to use necessary instead of required as the cli tool uses json schema and can't use required
|
||||
required: boolean;
|
||||
allowlist: boolean;
|
||||
blocklist: boolean;
|
||||
domains: string[];
|
||||
};
|
||||
dateOfBirth: {
|
||||
necessary: boolean;
|
||||
required: boolean;
|
||||
minimum: number; // in years
|
||||
};
|
||||
requireCaptcha: boolean;
|
||||
@@ -125,6 +125,7 @@ export interface ConfigValue {
|
||||
allowMultipleAccounts: boolean;
|
||||
blockProxies: boolean;
|
||||
password: {
|
||||
required: boolean;
|
||||
minLength: number;
|
||||
minNumbers: number;
|
||||
minUpperCase: number;
|
||||
@@ -246,14 +247,14 @@ export const DefaultConfigOptions: ConfigValue = {
|
||||
},
|
||||
register: {
|
||||
email: {
|
||||
necessary: true,
|
||||
required: false,
|
||||
allowlist: false,
|
||||
blocklist: true,
|
||||
domains: [], // TODO: efficiently save domain blocklist in database
|
||||
// domains: fs.readFileSync(__dirname + "/blockedEmailDomains.txt", { encoding: "utf8" }).split("\n"),
|
||||
},
|
||||
dateOfBirth: {
|
||||
necessary: true,
|
||||
required: false,
|
||||
minimum: 13,
|
||||
},
|
||||
requireInvite: false,
|
||||
@@ -262,6 +263,7 @@ export const DefaultConfigOptions: ConfigValue = {
|
||||
allowMultipleAccounts: true,
|
||||
blockProxies: true,
|
||||
password: {
|
||||
required: false,
|
||||
minLength: 8,
|
||||
minNumbers: 2,
|
||||
minUpperCase: 2,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn, RelationId } from "typeorm";
|
||||
import { Member } from ".";
|
||||
import { BaseClass } from "./BaseClass";
|
||||
import { Channel } from "./Channel";
|
||||
import { Guild } from "./Guild";
|
||||
@@ -63,4 +64,13 @@ export class Invite extends BaseClass {
|
||||
|
||||
@Column({ nullable: true })
|
||||
target_user_type?: number;
|
||||
|
||||
static async joinGuild(user_id: string, code: string) {
|
||||
const invite = await Invite.findOneOrFail({ code });
|
||||
if (invite.uses++ >= invite.max_uses && invite.max_uses !== 0) await Invite.delete({ code });
|
||||
else await invite.save();
|
||||
|
||||
await Member.addToGuild(user_id, invite.guild_id);
|
||||
return invite;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user