@fnlb-project/database 1.0.16 → 1.0.17

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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -917,4 +917,4 @@ updatePath: '${D.raw.path}'`);D.trace.add(F);let J=Object.keys(F||{}),X=J.length
917
917
  * No-op if there is already a default connection.
918
918
  */function dC(F){if(F.connection)return;let A=F.createConnection();A[nd]=!0,A.models=F.models}var T2=rd.exports=ad=new n({[id]:!0})});var Fc=K((UT1,ed)=>{/*!
919
919
  * Module dependencies.
920
- */var od=by();xJ().set(od);var cC=td();cC.setDriver(od);cC.Mongoose.prototype.mongo=E9();ed.exports=cC});var BA=K((QT1,B1)=>{var D1=Fc();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 LX=JA(BA(),1);class Ac{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await LX.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),LX.default.connection.on("open",()=>{console.log("Database connection is ready.")}),LX.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var xK1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(xK1||={});var fK1;((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"})(fK1||={});var _K1;((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"})(_K1||={});var lC;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(lC||={});var pC;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(pC||={});var f4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(f4||={});var _4;((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"})(_4||={});var VX;((F)=>{F.Default="en",F.De="de",F.Es="es",F.Fr="fr",F.It="it",F.Pl="pl",F.Pt="pt",F.Tr="tr"})(VX||={});var gK1;((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"})(gK1||={});var Bc;((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.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",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"})(Bc||={});var Dc;((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"})(Dc||={});var S9={...Bc,...Dc},bK1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(bK1||={});var yK1;((F)=>{F.General="general",F.Input="input"})(yK1||={});var iC;((X)=>{X[X.InternalError=1]="InternalError";X[X.BadValue=2]="BadValue";X[X.NoSuchKey=4]="NoSuchKey";X[X.KeyNotFound=211]="KeyNotFound";X[X.DuplicateKey=11000]="DuplicateKey"})(iC||={});class Jc{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,S9.CommonInvalidRequest);case 2:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,S9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,S9.CommonUnableToSaveToDatabase)}}}var u8=JA(BA(),1);class x9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v}}var Xc=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},type:{type:Number,required:!0,index:!0},email:{type:String,lowercase:!0,required:!1,sparse:!0,trim:!0},disabled:{type:Boolean,required:!1},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}});Xc.set("toJSON",{transform:x9.transformSchemaToJSON});var vK1=u8.model("bot",Xc);var DA=JA(BA(),1);var Zc=new DA.Schema({owner:{type:DA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},disabled:{type:Boolean,required:!1},config:{replyLangs:{type:[String],enum:Object.values(VX),default:void 0},searchLangs:{type:[String],enum:Object.values(VX),default:void 0},platform:{type:[String],enum:Object.values(lC),default:void 0},privacy:{type:Number,enum:Object.values(pC),default:void 0},prefixes:{type:[String],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},disableMatchmakingChecks:{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},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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}}});Zc.set("toJSON",{transform:x9.transformSchemaToJSON});var hK1=DA.model("category",Zc);var RX=JA(BA(),1);var nC=new RX.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,lowercase:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,unique:!1,trim:!0},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String}}}},{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}}});nC.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)}});nC.set("toJSON",{transform:x9.transformSchemaToJSON});var mK1=RX.model("user",nC);export{mK1 as UserModel,iC as DatabaseErrors,Jc as DatabaseErrorHandler,Ac as DatabaseClient,hK1 as CategoryModel,vK1 as BotModel};
920
+ */var od=by();xJ().set(od);var cC=td();cC.setDriver(od);cC.Mongoose.prototype.mongo=E9();ed.exports=cC});var BA=K((QT1,B1)=>{var D1=Fc();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 LX=JA(BA(),1);class Ac{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await LX.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),LX.default.connection.on("open",()=>{console.log("Database connection is ready.")}),LX.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var xK1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(xK1||={});var fK1;((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"})(fK1||={});var _K1;((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"})(_K1||={});var lC;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(lC||={});var pC;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(pC||={});var f4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(f4||={});var _4;((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"})(_4||={});var VX;((F)=>{F.Default="en",F.De="de",F.Es="es",F.Fr="fr",F.It="it",F.Pl="pl",F.Pt="pt",F.Tr="tr"})(VX||={});var gK1;((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"})(gK1||={});var Bc;((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.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",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"})(Bc||={});var Dc;((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"})(Dc||={});var S9={...Bc,...Dc},bK1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(bK1||={});var yK1;((F)=>{F.General="general",F.Input="input"})(yK1||={});var iC;((X)=>{X[X.InternalError=1]="InternalError";X[X.BadValue=2]="BadValue";X[X.NoSuchKey=4]="NoSuchKey";X[X.KeyNotFound=211]="KeyNotFound";X[X.DuplicateKey=11000]="DuplicateKey"})(iC||={});class Jc{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,S9.GenericAlreadyExists);case 2:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,S9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,S9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,S9.CommonUnableToSaveToDatabase)}}}var u8=JA(BA(),1);class x9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v}}var Xc=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},type:{type:Number,required:!0,index:!0},email:{type:String,lowercase:!0,required:!1,sparse:!0,trim:!0},disabled:{type:Boolean,required:!1},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}});Xc.set("toJSON",{transform:x9.transformSchemaToJSON});var vK1=u8.model("bot",Xc);var DA=JA(BA(),1);var Zc=new DA.Schema({owner:{type:DA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},disabled:{type:Boolean,required:!1},config:{replyLangs:{type:[String],enum:Object.values(VX),default:void 0},searchLangs:{type:[String],enum:Object.values(VX),default:void 0},platform:{type:[String],enum:Object.values(lC),default:void 0},privacy:{type:Number,enum:Object.values(pC),default:void 0},prefixes:{type:[String],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},disableMatchmakingChecks:{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},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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:Object.values(f4),default:void 0},actions:{type:[Number],enum:Object.values(_4),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}}});Zc.set("toJSON",{transform:x9.transformSchemaToJSON});var hK1=DA.model("category",Zc);var RX=JA(BA(),1);var nC=new RX.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,lowercase:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,unique:!1,trim:!0},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String}}}},{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}}});nC.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)}});nC.set("toJSON",{transform:x9.transformSchemaToJSON});var mK1=RX.model("user",nC);export{mK1 as UserModel,iC as DatabaseErrors,Jc as DatabaseErrorHandler,Ac as DatabaseClient,hK1 as CategoryModel,vK1 as BotModel};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fnlb-project/database",
3
3
  "description": "FNLB Database Client",
4
- "version": "1.0.16",
4
+ "version": "1.0.17",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "author": "FNLB-Project",
20
20
  "files": ["dist"],
21
21
  "dependencies": {
22
- "@fnlb-project/shared": "1.5.18",
22
+ "@fnlb-project/shared": "1.5.19",
23
23
  "mongoose": "^8.9.3"
24
24
  },
25
25
  "devDependencies": {