@fnlb-project/database 1.0.45 → 1.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -923,4 +923,4 @@ updatePath: '${D.raw.path}'`);D.trace.add(F);let Z=Object.keys(F||{}),J=Z.length
|
|
|
923
923
|
* No-op if there is already a default connection.
|
|
924
924
|
*/function jq(F){if(F.connection)return;let A=F.createConnection();A[Nd]=!0,A.models=F.models}var Q2=jd.exports=Td=new s({[Pd]:!0})});var Sd=K((Fj1,Od)=>{/*!
|
|
925
925
|
* Module dependencies.
|
|
926
|
-
*/var kd=Uy();NZ().set(kd);var uq=ud();uq.setDriver(kd);uq.Mongoose.prototype.mongo=$9();Od.exports=uq});var j8=K((Aj1,B1)=>{var D1=Sd();B1.exports=D1;B1.exports.default=D1;B1.exports.mongoose=D1;B1.exports.cast=D1.cast;B1.exports.STATES=D1.STATES;B1.exports.setDriver=D1.setDriver;B1.exports.set=D1.set;B1.exports.get=D1.get;B1.exports.createConnection=D1.createConnection;B1.exports.connect=D1.connect;B1.exports.disconnect=D1.disconnect;B1.exports.startSession=D1.startSession;B1.exports.pluralize=D1.pluralize;B1.exports.model=D1.model;B1.exports.deleteModel=D1.deleteModel;B1.exports.modelNames=D1.modelNames;B1.exports.plugin=D1.plugin;B1.exports.connections=D1.connections;B1.exports.version=D1.version;B1.exports.Aggregate=D1.Aggregate;B1.exports.Mongoose=D1.Mongoose;B1.exports.Schema=D1.Schema;B1.exports.SchemaType=D1.SchemaType;B1.exports.SchemaTypes=D1.SchemaTypes;B1.exports.VirtualType=D1.VirtualType;B1.exports.Types=D1.Types;B1.exports.Query=D1.Query;B1.exports.Model=D1.Model;B1.exports.Document=D1.Document;B1.exports.ObjectId=D1.ObjectId;B1.exports.isValidObjectId=D1.isValidObjectId;B1.exports.isObjectIdOrHexString=D1.isObjectIdOrHexString;B1.exports.syncIndexes=D1.syncIndexes;B1.exports.Decimal128=D1.Decimal128;B1.exports.Mixed=D1.Mixed;B1.exports.Date=D1.Date;B1.exports.Number=D1.Number;B1.exports.Error=D1.Error;B1.exports.MongooseError=D1.MongooseError;B1.exports.now=D1.now;B1.exports.CastError=D1.CastError;B1.exports.SchemaTypeOptions=D1.SchemaTypeOptions;B1.exports.mongo=D1.mongo;B1.exports.mquery=D1.mquery;B1.exports.sanitizeFilter=D1.sanitizeFilter;B1.exports.trusted=D1.trusted;B1.exports.skipMiddlewareFunction=D1.skipMiddlewareFunction;B1.exports.overwriteMiddlewareResult=D1.overwriteMiddlewareResult});var LU1=k8(j8(),1);var a3=k8(j8(),1);class xd{dbURI;constructor(F){if(!F)throw Error("DB URI is not valid.");this.dbURI=F}async connect(F){console.log("Connecting to database..."),await this.connectWithRetry(F),a3.default.connection.on("connecting",()=>{console.log("Connecting to Database...")}),a3.default.connection.on("connected",()=>{console.log("Database is connected.")}),a3.default.connection.on("open",()=>{console.log("Database connection is ready.")}),a3.default.connection.on("disconnecting: ",()=>{console.log("Database is disconnecting...")}),a3.default.connection.on("error",(A)=>{console.error("Database connection error:",A)}),a3.default.connection.on("disconnected",(A)=>{console.warn("Database disconnected.",A)}),a3.default.connection.on("reconnected",(A)=>{console.warn("Database reconnected.",A)})}async connectWithRetry(F){try{await a3.default.connect(this.dbURI,{maxPoolSize:1000,autoIndex:!0,socketTimeoutMS:300000,...F})}catch(A){console.error("Unable to connect to the database. Retrying in 5s...",A),setTimeout(()=>this.connectWithRetry(),5000)}}}var YU1;((F)=>{F[F.Offline=0]="Offline",F[F.Booting=1]="Booting",F[F.Available=2]="Available",F[F.Busy=3]="Busy",F[F.Disconnected=4]="Disconnected"})(YU1||={});var CU1;((F)=>{F[F.Neutral=0]="Neutral",F[F.Success=1]="Success",F[F.Info=2]="Info",F[F.Warn=3]="Warn",F[F.Error=4]="Error"})(CU1||={});var kq;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Swt2="SWT2",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(kq||={});var Oq;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(Oq||={});var Sq;((F)=>{F[F.Auto=0]="Auto",F[F.Online=1]="Online",F[F.Away=2]="Away"})(Sq||={});var h4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(h4||={});var v4;((F)=>{F[F.Blacklist=0]="Blacklist",F[F.Whitelist=1]="Whitelist",F[F.Kick=2]="Kick",F[F.Block=3]="Block",F[F.RemoveFriend=4]="RemoveFriend",F[F.AddFriend=5]="AddFriend",F[F.Promote=6]="Promote",F[F.Copy=7]="Copy",F[F.Mimic=8]="Mimic",F[F.Hide=9]="Hide",F[F.Show=10]="Show"})(v4||={});var EJ;((F)=>{F.Default="en",F.EnUS="en-US",F.Es="es",F.Es419="es-419",F.Ar="ar",F.De="de",F.Fr="fr",F.He="he",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.Pt="pt",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.Zh="zh",F.ZhHant="zh-Hant"})(EJ||={});var $U1;((F)=>{F.Default="en",F.Ar="ar",F.De="de",F.Es="es",F.Es419="es-419",F.Fr="fr",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.ZhHans="zh-Hans",F.ZhHant="zh-Hant"})($U1||={});var GU1;((F)=>{F[F.RequiredParam=0]="RequiredParam",F[F.OptionalParam=1]="OptionalParam",F[F.RequiredSelect=2]="RequiredSelect",F[F.OptionalSelect=3]="OptionalSelect",F[F.RequiredNumericParam=4]="RequiredNumericParam",F[F.OptionalNumericParam=5]="OptionalNumericParam"})(GU1||={});var fd;((F)=>{F.GenericUnknown="net.fnlb.errors.generic.unknown",F.GenericInternalError="net.fnlb.errors.generic.internal_error",F.GenericValidationFailed="net.fnlb.errors.generic.validation_failed",F.GenericParseFailed="net.fnlb.errors.generic.parse_failed",F.GenericNotFound="net.fnlb.errors.generic.not_found",F.GenericAlreadyExists="net.fnlb.errors.generic.already_exists",F.CommonInvalidRequest="net.fnlb.errors.common.invalid_request",F.CommonUnableToProcessRequest="net.fnlb.errors.common.unable_to_process_request",F.CommonInvalidFieldsLength="net.fnlb.errors.common.invalid_body_fields_length",F.CommonRateLimitExceeded="net.fnlb.errors.common.rate_limit_exceeded",F.CommonLimitExceeded="net.fnlb.errors.common.limit_exceeded",F.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",F.CommonUpdateRequired="net.fnlb.errors.common.update_required",F.CommonMaintenanceMode="net.fnlb.errors.common.maintenance_mode",F.AuthInvalidToken="net.fnlb.errors.auth.invalid_token",F.AuthInvalidAPIToken="net.fnlb.errors.auth.invalid_api_token",F.AuthInvalidCaptchaToken="net.fnlb.errors.auth.invalid_captcha_token",F.AuthUnauthorized="net.fnlb.errors.auth.unauthorized",F.AuthForbidden="net.fnlb.errors.auth.forbidden",F.AuthUserBanned="net.fnlb.errors.auth.user_banned",F.Oauth2InvalidCode="net.fnlb.errors.oauth2.invalid_code",F.Oauth2InvalidScope="net.fnlb.errors.oauth2.invalid_scope",F.Oauth2TokenInvalid="net.fnlb.errors.oauth2.token_invalid",F.Oauth2UnableToFetchUser="net.fnlb.errors.oauth2.unable_to_fetch_user",F.Oauth2UnableToFetchConnections="net.fnlb.errors.oauth2.unable_to_fetch_connections",F.Oauth2UserWithoutConnection="net.fnlb.errors.oauth2.user_without_connection",F.Oauth2ConnectionNotVerified="net.fnlb.errors.oauth2.connection_not_verified",F.ReleaseNotFound="net.fnlb.errors.release.no_release_found",F.ReleaseVersionAlreadyExists="net.fnlb.errors.release.version_already_exists"})(fd||={});var _d;((F)=>{F.LoginInvalidCredentials="net.fnlb.errors.login.invalid_credentials",F.LoginInvalidEmail="net.fnlb.errors.login.invalid_email",F.LoginInvalidOrUsedEmail="net.fnlb.errors.login.invalid_or_used_email",F.AuthPasswordConfirmationInvalid="net.fnlb.errors.auth.invalid_password_confirmation"})(_d||={});var m9={...fd,..._d},WU1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(WU1||={});var HU1;((F)=>{F.General="general",F.Input="input"})(HU1||={});var qU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Public=2]="Public",F[F.InvalidAuth=4]="InvalidAuth"})(qU1||={});var zU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Managed=2]="Managed"})(zU1||={});var KU1;((F)=>{F[F.Staff=1]="Staff",F[F.Admin=2]="Admin",F[F.Vip=4]="Vip",F[F.Verified=8]="Verified",F[F.Banned=16]="Banned",F[F.Tester=32]="Tester",F[F.Developer=64]="Developer",F[F.Partner=128]="Partner"})(KU1||={});var xq;((J)=>{J[J.InternalError=1]="InternalError";J[J.BadValue=2]="BadValue";J[J.NoSuchKey=4]="NoSuchKey";J[J.KeyNotFound=211]="KeyNotFound";J[J.DuplicateKey=11000]="DuplicateKey"})(xq||={});class gd{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,m9.GenericAlreadyExists);case 2:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,m9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,m9.CommonUnableToSaveToDatabase)}}}var u8=k8(j8(),1);class d9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v,delete A.password}}var bd=new u8.Schema({owner:{type:u8.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:u8.Schema.Types.ObjectId,ref:"category",required:!1,index:!0,sparse:!0},nickname:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},email:{type:String,lowercase:!0,required:!1,trim:!0},deviceAuth:{required:!0,type:{accountId:{type:String,required:!0,unique:!0,lowercase:!0,trim:!0},deviceId:{type:String,required:!0,lowercase:!0,trim:!0},secret:{type:String,required:!0,trim:!0}},_id:!1},mmsBannedUntil:{type:Number,required:!1}});bd.set("toJSON",{transform:d9.transformSchemaToJSON});var UU1=u8.model("bot",bd);var CA=k8(j8(),1);function a2(F){return Object.values(F).filter((A)=>typeof A==="number")}var yd=new CA.Schema({owner:{type:CA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(EJ),default:void 0},searchLangs:{type:[String],enum:Object.values(EJ),default:void 0},platform:{type:[String],enum:Object.values(kq),default:void 0},privacy:{type:Number,enum:a2(Oq),default:void 0},prefixes:{type:[String],default:void 0},statusType:{type:Number,enum:a2(Sq),default:void 0},statusText:{type:[String],default:void 0},statusInterval:{type:Number,default:void 0},level:{type:[Number],default:void 0},bpLevel:{type:[Number],default:void 0},extraOwners:{type:[{id:String,name:String,_id:!1}],default:void 0},admins:{type:[{id:String,name:String,_id:!1}],default:void 0},whitelistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},blacklistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},excludedAutoAddFriends:{type:[{id:String,name:String,_id:!1}],default:void 0},otherBots:{type:[{id:String,name:String,_id:!1}],default:void 0},inviteTimeout:{type:Number,default:void 0},maxBotsPerLobby:{type:Number,default:void 0},maxBotsPerLobbyWithOwner:{type:Number,default:void 0},maxBotsPerLobbyWithAdmin:{type:Number,default:void 0},maxBotsPerLobbyWithWhitelistUser:{type:Number,default:void 0},allowMatchmaking:{type:Boolean,default:void 0},leaveAfterMatchmaking:{type:Boolean,default:void 0},disableMatchmakingChecks:{type:Boolean,default:void 0},disablePlaylistChecks:{type:Boolean,default:void 0},disableJoinMessages:{type:Boolean,default:void 0},disableAutomaticMessages:{type:Boolean,default:void 0},acceptFriendRequests:{type:Boolean,default:void 0},sendFriendRequestOnJoinParty:{type:Boolean,default:void 0},sendFriendRequestOnMemberJoinParty:{type:Boolean,default:void 0},runCommandsWithoutPrefix:{type:Boolean,default:void 0},setCosmeticsWithoutCommands:{type:Boolean,default:void 0},setCosmeticsWithPrefix:{type:Boolean,default:void 0},acceptInvites:{type:Boolean,default:void 0},startBannedBots:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},messageContentTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},cosmeticTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},addFriendTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},memberJoinTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},changeCosmeticTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},onlyOwnerCommands:{type:[String],default:void 0},onlyAdminCommands:{type:[String],default:void 0},onlyWhitelistUsersCommands:{type:[String],default:void 0},onlyFriendsCommands:{type:[String],default:void 0},onlyPartyMembersCommands:{type:[String],default:void 0},onlyWhisperCommands:{type:[String],default:void 0},startOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBanner:{type:[{id:String,_id:!1}],default:void 0},startBannerColor:{type:[{id:String,_id:!1}],default:void 0},joinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinEmote:{type:[{id:String,_id:!1}],default:void 0},joinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBanner:{type:[{id:String,_id:!1}],default:void 0},joinBannerColor:{type:[{id:String,_id:!1}],default:void 0},memberJoinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinEmote:{type:[{id:String,_id:!1}],default:void 0},memberJoinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBanner:{type:[{id:String,_id:!1}],default:void 0},memberJoinBannerColor:{type:[{id:String,_id:!1}],default:void 0}}});yd.set("toJSON",{transform:d9.transformSchemaToJSON});var QU1=CA.model("category",yd);var YJ=k8(j8(),1);var fq=new YJ.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,index:!1,unique:!1,trim:!0},flags:{type:Number,required:!1},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}}}},{statics:{async verifyPassword(F,A){return Bun.password.verify(F,A)},async findByToken(F,A){let B=await this.findById(F);if(!B?.token||B.token!==A)return null;return B},async findByAPIToken(F,A){let B=await this.findById(F);if(!B?.apiToken||B.apiToken!==A)return null;return B}}});fq.pre("save",async function(F){if(!this.isModified("password"))return F();try{return this.password=await Bun.password.hash(this.password,{algorithm:process.env.SAVE_ACCOUNT_ALGORITHM||"argon2id",timeCost:parseInt(process.env.SAVE_ACCOUNT_TIME_COST||"3"),cost:parseInt(process.env.SAVE_ACCOUNT_ALGORITHM_COST||"12")}),F()}catch(A){return F(A)}});fq.set("toJSON",{transform:d9.transformSchemaToJSON});var VU1=YJ.model("user",fq);var export_mongoose=LU1.default;export{export_mongoose as mongoose,VU1 as UserModel,xq as DatabaseErrors,gd as DatabaseErrorHandler,xd as DatabaseClient,QU1 as CategoryModel,UU1 as BotModel};
|
|
926
|
+
*/var kd=Uy();NZ().set(kd);var uq=ud();uq.setDriver(kd);uq.Mongoose.prototype.mongo=$9();Od.exports=uq});var j8=K((Aj1,B1)=>{var D1=Sd();B1.exports=D1;B1.exports.default=D1;B1.exports.mongoose=D1;B1.exports.cast=D1.cast;B1.exports.STATES=D1.STATES;B1.exports.setDriver=D1.setDriver;B1.exports.set=D1.set;B1.exports.get=D1.get;B1.exports.createConnection=D1.createConnection;B1.exports.connect=D1.connect;B1.exports.disconnect=D1.disconnect;B1.exports.startSession=D1.startSession;B1.exports.pluralize=D1.pluralize;B1.exports.model=D1.model;B1.exports.deleteModel=D1.deleteModel;B1.exports.modelNames=D1.modelNames;B1.exports.plugin=D1.plugin;B1.exports.connections=D1.connections;B1.exports.version=D1.version;B1.exports.Aggregate=D1.Aggregate;B1.exports.Mongoose=D1.Mongoose;B1.exports.Schema=D1.Schema;B1.exports.SchemaType=D1.SchemaType;B1.exports.SchemaTypes=D1.SchemaTypes;B1.exports.VirtualType=D1.VirtualType;B1.exports.Types=D1.Types;B1.exports.Query=D1.Query;B1.exports.Model=D1.Model;B1.exports.Document=D1.Document;B1.exports.ObjectId=D1.ObjectId;B1.exports.isValidObjectId=D1.isValidObjectId;B1.exports.isObjectIdOrHexString=D1.isObjectIdOrHexString;B1.exports.syncIndexes=D1.syncIndexes;B1.exports.Decimal128=D1.Decimal128;B1.exports.Mixed=D1.Mixed;B1.exports.Date=D1.Date;B1.exports.Number=D1.Number;B1.exports.Error=D1.Error;B1.exports.MongooseError=D1.MongooseError;B1.exports.now=D1.now;B1.exports.CastError=D1.CastError;B1.exports.SchemaTypeOptions=D1.SchemaTypeOptions;B1.exports.mongo=D1.mongo;B1.exports.mquery=D1.mquery;B1.exports.sanitizeFilter=D1.sanitizeFilter;B1.exports.trusted=D1.trusted;B1.exports.skipMiddlewareFunction=D1.skipMiddlewareFunction;B1.exports.overwriteMiddlewareResult=D1.overwriteMiddlewareResult});var a3=k8(j8(),1);class xd{dbURI;constructor(F){if(!F)throw Error("DB URI is not valid.");this.dbURI=F}async connect(F){console.log("Connecting to database..."),await this.connectWithRetry(F),a3.default.connection.on("connecting",()=>{console.log("Connecting to Database...")}),a3.default.connection.on("connected",()=>{console.log("Database is connected.")}),a3.default.connection.on("open",()=>{console.log("Database connection is ready.")}),a3.default.connection.on("disconnecting: ",()=>{console.log("Database is disconnecting...")}),a3.default.connection.on("error",(A)=>{console.error("Database connection error:",A)}),a3.default.connection.on("disconnected",(A)=>{console.warn("Database disconnected.",A)}),a3.default.connection.on("reconnected",(A)=>{console.warn("Database reconnected.",A)})}async connectWithRetry(F){try{await a3.default.connect(this.dbURI,{maxPoolSize:1000,autoIndex:!0,socketTimeoutMS:300000,...F})}catch(A){console.error("Unable to connect to the database. Retrying in 5s...",A),setTimeout(()=>this.connectWithRetry(),5000)}}}var YU1;((F)=>{F[F.Offline=0]="Offline",F[F.Booting=1]="Booting",F[F.Available=2]="Available",F[F.Busy=3]="Busy",F[F.Disconnected=4]="Disconnected"})(YU1||={});var CU1;((F)=>{F[F.Neutral=0]="Neutral",F[F.Success=1]="Success",F[F.Info=2]="Info",F[F.Warn=3]="Warn",F[F.Error=4]="Error"})(CU1||={});var kq;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Swt2="SWT2",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(kq||={});var Oq;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(Oq||={});var Sq;((F)=>{F[F.Auto=0]="Auto",F[F.Online=1]="Online",F[F.Away=2]="Away"})(Sq||={});var h4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(h4||={});var v4;((F)=>{F[F.Blacklist=0]="Blacklist",F[F.Whitelist=1]="Whitelist",F[F.Kick=2]="Kick",F[F.Block=3]="Block",F[F.RemoveFriend=4]="RemoveFriend",F[F.AddFriend=5]="AddFriend",F[F.Promote=6]="Promote",F[F.Copy=7]="Copy",F[F.Mimic=8]="Mimic",F[F.Hide=9]="Hide",F[F.Show=10]="Show"})(v4||={});var EJ;((F)=>{F.Default="en",F.EnUS="en-US",F.Es="es",F.Es419="es-419",F.Ar="ar",F.De="de",F.Fr="fr",F.He="he",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.Pt="pt",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.Zh="zh",F.ZhHant="zh-Hant"})(EJ||={});var $U1;((F)=>{F.Default="en",F.Ar="ar",F.De="de",F.Es="es",F.Es419="es-419",F.Fr="fr",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.ZhHans="zh-Hans",F.ZhHant="zh-Hant"})($U1||={});var GU1;((F)=>{F[F.RequiredParam=0]="RequiredParam",F[F.OptionalParam=1]="OptionalParam",F[F.RequiredSelect=2]="RequiredSelect",F[F.OptionalSelect=3]="OptionalSelect",F[F.RequiredNumericParam=4]="RequiredNumericParam",F[F.OptionalNumericParam=5]="OptionalNumericParam"})(GU1||={});var fd;((F)=>{F.GenericUnknown="net.fnlb.errors.generic.unknown",F.GenericInternalError="net.fnlb.errors.generic.internal_error",F.GenericValidationFailed="net.fnlb.errors.generic.validation_failed",F.GenericParseFailed="net.fnlb.errors.generic.parse_failed",F.GenericNotFound="net.fnlb.errors.generic.not_found",F.GenericAlreadyExists="net.fnlb.errors.generic.already_exists",F.CommonInvalidRequest="net.fnlb.errors.common.invalid_request",F.CommonUnableToProcessRequest="net.fnlb.errors.common.unable_to_process_request",F.CommonInvalidFieldsLength="net.fnlb.errors.common.invalid_body_fields_length",F.CommonRateLimitExceeded="net.fnlb.errors.common.rate_limit_exceeded",F.CommonLimitExceeded="net.fnlb.errors.common.limit_exceeded",F.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",F.CommonUpdateRequired="net.fnlb.errors.common.update_required",F.CommonMaintenanceMode="net.fnlb.errors.common.maintenance_mode",F.AuthInvalidToken="net.fnlb.errors.auth.invalid_token",F.AuthInvalidAPIToken="net.fnlb.errors.auth.invalid_api_token",F.AuthInvalidCaptchaToken="net.fnlb.errors.auth.invalid_captcha_token",F.AuthUnauthorized="net.fnlb.errors.auth.unauthorized",F.AuthForbidden="net.fnlb.errors.auth.forbidden",F.AuthUserBanned="net.fnlb.errors.auth.user_banned",F.Oauth2InvalidCode="net.fnlb.errors.oauth2.invalid_code",F.Oauth2InvalidScope="net.fnlb.errors.oauth2.invalid_scope",F.Oauth2TokenInvalid="net.fnlb.errors.oauth2.token_invalid",F.Oauth2UnableToFetchUser="net.fnlb.errors.oauth2.unable_to_fetch_user",F.Oauth2UnableToFetchConnections="net.fnlb.errors.oauth2.unable_to_fetch_connections",F.Oauth2UserWithoutConnection="net.fnlb.errors.oauth2.user_without_connection",F.Oauth2ConnectionNotVerified="net.fnlb.errors.oauth2.connection_not_verified",F.ReleaseNotFound="net.fnlb.errors.release.no_release_found",F.ReleaseVersionAlreadyExists="net.fnlb.errors.release.version_already_exists"})(fd||={});var _d;((F)=>{F.LoginInvalidCredentials="net.fnlb.errors.login.invalid_credentials",F.LoginInvalidEmail="net.fnlb.errors.login.invalid_email",F.LoginInvalidOrUsedEmail="net.fnlb.errors.login.invalid_or_used_email",F.AuthPasswordConfirmationInvalid="net.fnlb.errors.auth.invalid_password_confirmation"})(_d||={});var m9={...fd,..._d},WU1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(WU1||={});var HU1;((F)=>{F.General="general",F.Input="input"})(HU1||={});var qU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Public=2]="Public",F[F.InvalidAuth=4]="InvalidAuth"})(qU1||={});var zU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Managed=2]="Managed"})(zU1||={});var KU1;((F)=>{F[F.Staff=1]="Staff",F[F.Admin=2]="Admin",F[F.Vip=4]="Vip",F[F.Verified=8]="Verified",F[F.Banned=16]="Banned",F[F.Tester=32]="Tester",F[F.Developer=64]="Developer",F[F.Partner=128]="Partner"})(KU1||={});var xq;((J)=>{J[J.InternalError=1]="InternalError";J[J.BadValue=2]="BadValue";J[J.NoSuchKey=4]="NoSuchKey";J[J.KeyNotFound=211]="KeyNotFound";J[J.DuplicateKey=11000]="DuplicateKey"})(xq||={});class gd{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,m9.GenericAlreadyExists);case 2:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,m9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,m9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,m9.CommonUnableToSaveToDatabase)}}}var u8=k8(j8(),1);class d9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v,delete A.password}}var bd=new u8.Schema({owner:{type:u8.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:u8.Schema.Types.ObjectId,ref:"category",required:!1,index:!0,sparse:!0},nickname:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},email:{type:String,lowercase:!0,required:!1,trim:!0},deviceAuth:{required:!0,type:{accountId:{type:String,required:!0,unique:!0,lowercase:!0,trim:!0},deviceId:{type:String,required:!0,lowercase:!0,trim:!0},secret:{type:String,required:!0,trim:!0}},_id:!1},mmsBannedUntil:{type:Number,required:!1}});bd.set("toJSON",{transform:d9.transformSchemaToJSON});var UU1=u8.model("bot",bd);var CA=k8(j8(),1);function a2(F){return Object.values(F).filter((A)=>typeof A==="number")}var yd=new CA.Schema({owner:{type:CA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(EJ),default:void 0},searchLangs:{type:[String],enum:Object.values(EJ),default:void 0},platform:{type:[String],enum:Object.values(kq),default:void 0},privacy:{type:Number,enum:a2(Oq),default:void 0},prefixes:{type:[String],default:void 0},statusType:{type:Number,enum:a2(Sq),default:void 0},statusText:{type:[String],default:void 0},statusInterval:{type:Number,default:void 0},level:{type:[Number],default:void 0},bpLevel:{type:[Number],default:void 0},extraOwners:{type:[{id:String,name:String,_id:!1}],default:void 0},admins:{type:[{id:String,name:String,_id:!1}],default:void 0},whitelistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},blacklistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},excludedAutoAddFriends:{type:[{id:String,name:String,_id:!1}],default:void 0},otherBots:{type:[{id:String,name:String,_id:!1}],default:void 0},inviteTimeout:{type:Number,default:void 0},maxBotsPerLobby:{type:Number,default:void 0},maxBotsPerLobbyWithOwner:{type:Number,default:void 0},maxBotsPerLobbyWithAdmin:{type:Number,default:void 0},maxBotsPerLobbyWithWhitelistUser:{type:Number,default:void 0},allowMatchmaking:{type:Boolean,default:void 0},leaveAfterMatchmaking:{type:Boolean,default:void 0},disableMatchmakingChecks:{type:Boolean,default:void 0},disablePlaylistChecks:{type:Boolean,default:void 0},disableJoinMessages:{type:Boolean,default:void 0},disableAutomaticMessages:{type:Boolean,default:void 0},acceptFriendRequests:{type:Boolean,default:void 0},sendFriendRequestOnJoinParty:{type:Boolean,default:void 0},sendFriendRequestOnMemberJoinParty:{type:Boolean,default:void 0},runCommandsWithoutPrefix:{type:Boolean,default:void 0},setCosmeticsWithoutCommands:{type:Boolean,default:void 0},setCosmeticsWithPrefix:{type:Boolean,default:void 0},acceptInvites:{type:Boolean,default:void 0},startBannedBots:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},messageContentTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},cosmeticTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},addFriendTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},memberJoinTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},changeCosmeticTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:a2(h4),default:void 0},actions:{type:[Number],enum:a2(v4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},onlyOwnerCommands:{type:[String],default:void 0},onlyAdminCommands:{type:[String],default:void 0},onlyWhitelistUsersCommands:{type:[String],default:void 0},onlyFriendsCommands:{type:[String],default:void 0},onlyPartyMembersCommands:{type:[String],default:void 0},onlyWhisperCommands:{type:[String],default:void 0},startOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBanner:{type:[{id:String,_id:!1}],default:void 0},startBannerColor:{type:[{id:String,_id:!1}],default:void 0},joinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinEmote:{type:[{id:String,_id:!1}],default:void 0},joinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBanner:{type:[{id:String,_id:!1}],default:void 0},joinBannerColor:{type:[{id:String,_id:!1}],default:void 0},memberJoinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinEmote:{type:[{id:String,_id:!1}],default:void 0},memberJoinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBanner:{type:[{id:String,_id:!1}],default:void 0},memberJoinBannerColor:{type:[{id:String,_id:!1}],default:void 0}}});yd.set("toJSON",{transform:d9.transformSchemaToJSON});var QU1=CA.model("category",yd);var YJ=k8(j8(),1);var fq=new YJ.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,index:!1,unique:!1,trim:!0},flags:{type:Number,required:!1},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}}}},{statics:{async verifyPassword(F,A){return Bun.password.verify(F,A)},async findByToken(F,A){let B=await this.findById(F);if(!B?.token||B.token!==A)return null;return B},async findByAPIToken(F,A){let B=await this.findById(F);if(!B?.apiToken||B.apiToken!==A)return null;return B}}});fq.pre("save",async function(F){if(!this.isModified("password"))return F();try{return this.password=await Bun.password.hash(this.password,{algorithm:process.env.SAVE_ACCOUNT_ALGORITHM||"argon2id",timeCost:parseInt(process.env.SAVE_ACCOUNT_TIME_COST||"3"),cost:parseInt(process.env.SAVE_ACCOUNT_ALGORITHM_COST||"12")}),F()}catch(A){return F(A)}});fq.set("toJSON",{transform:d9.transformSchemaToJSON});var VU1=YJ.model("user",fq);var LU1=k8(j8(),1);var export_mongoose=LU1.default;export{export_mongoose as mongoose,VU1 as UserModel,xq as DatabaseErrors,gd as DatabaseErrorHandler,xd as DatabaseClient,QU1 as CategoryModel,UU1 as BotModel};
|