@fnlb-project/database 1.0.9 → 1.0.10

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 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 dz(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((KT1,ed)=>{/*!
919
919
  * Module dependencies.
920
- */var od=by();xJ().set(od);var cz=td();cz.setDriver(od);cz.Mongoose.prototype.mongo=G9();ed.exports=cz});var BA=K((UT1,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 UX=XA(BA(),1);class Ac{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await UX.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),UX.default.connection.on("open",()=>{console.log("Database connection is ready.")}),UX.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var SK1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(SK1||={});var xK1;((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"})(xK1||={});var fK1;((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"})(fK1||={});var lz;((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"})(lz||={});var pz;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(pz||={});var DA;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(DA||={});var f4;((F)=>{F[F.ChatBan=0]="ChatBan",F[F.Kick=1]="Kick",F[F.Block=2]="Block",F[F.RemoveFriend=3]="RemoveFriend",F[F.AddFriend=4]="AddFriend",F[F.Promote=5]="Promote",F[F.Copy=6]="Copy",F[F.Mimic=7]="Mimic",F[F.Hide=8]="Hide",F[F.Show=9]="Show",F[F.Blacklist=10]="Blacklist",F[F.Whitelist=11]="Whitelist"})(f4||={});var _K1;((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"})(_K1||={});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 u9={...Bc,...Dc},gK1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(gK1||={});var bK1;((F)=>{F.General="general",F.Input="input"})(bK1||={});var QX;((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"})(QX||={});var iz;((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"})(iz||={});class Jc{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,u9.CommonInvalidRequest);case 2:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,u9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,u9.CommonUnableToSaveToDatabase)}}}var u8=XA(BA(),1);class S9{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,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:S9.transformSchemaToJSON});var yK1=u8.model("bot",Xc);var JA=XA(BA(),1);var Zc=new JA.Schema({owner:{type:JA.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(QX)},searchLangs:{type:[String],enum:Object.values(QX)},platform:{type:[String],enum:Object.values(lz)},privacy:{type:Number,enum:Object.values(pz)},prefixes:{type:[String]},statusText:{type:[String]},statusInterval:{type:Number},level:{type:[Number]},bpLevel:{type:[Number]},extraOwners:{type:[{id:String,name:String}]},admins:{type:[{id:String,name:String}]},whitelistUsers:{type:[{id:String,name:String}]},blacklistUsers:{type:[{id:String,name:String}]},excludedAutoAddFriends:{type:[{id:String,name:String}]},otherBots:{type:[{id:String,name:String}]},inviteTimeout:{type:Number},maxBotsPerLobby:{type:Number},maxBotsPerLobbyWithOwner:{type:Number},maxBotsPerLobbyWithAdmin:{type:Number},maxBotsPerLobbyWithWhitelistUser:{type:Number},allowMatchmaking:{type:Boolean},disableMatchmakingChecks:{type:[Boolean]},disableJoinMessages:{type:[Boolean]},acceptFriendRequests:{type:Boolean},sendFriendRequestOnJoinParty:{type:Boolean},sendFriendRequestOnMemberJoinParty:{type:Boolean},runCommandsWithoutPrefix:{type:Boolean},setCosmeticsWithoutCommands:{type:Boolean},usernameTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},messageContentTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},cosmeticTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},addFriendTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},memberJoinTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},changeCosmeticTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},startOutfit:{type:[{id:String,variants:[[Number]]}]},startBackpack:{type:[{id:String,variants:[[Number]]}]},startPickaxe:{type:[{id:String,variants:[[Number]]}]},startShoes:{type:[{id:String,variants:[[Number]]}]},startBanner:{type:[{id:String}]},joinOutfit:{type:[{id:String,variants:[[Number]]}]},joinBackpack:{type:[{id:String,variants:[[Number]]}]},joinPickaxe:{type:[{id:String,variants:[[Number]]}]},joinEmote:{type:[[{id:String}]]},joinEmoji:{type:[[{id:String}]]},joinShoes:{type:[{id:String,variants:[[Number]]}]},joinBanner:{type:[[{id:String}]]},memberJoinOutfit:{type:[{id:String,variants:[[Number]]}]},memberJoinBackpack:{type:[{id:String,variants:[[Number]]}]},memberJoinPickaxe:{type:[{id:String,variants:[[Number]]}]},memberJoinEmote:{type:[[{id:String}]]},memberJoinShoes:{type:[{id:String,variants:[[Number]]}]},memberJoinBanner:{type:[[{id:String}]]}}});Zc.set("toJSON",{transform:S9.transformSchemaToJSON});var vK1=JA.model("category",Zc);var LX=XA(BA(),1);var nz=new LX.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}}});nz.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)}});nz.set("toJSON",{transform:S9.transformSchemaToJSON});var hK1=LX.model("user",nz);export{hK1 as UserModel,iz as DatabaseErrors,Jc as DatabaseErrorHandler,Ac as DatabaseClient,vK1 as CategoryModel,yK1 as BotModel};
920
+ */var od=by();xJ().set(od);var cz=td();cz.setDriver(od);cz.Mongoose.prototype.mongo=G9();ed.exports=cz});var BA=K((UT1,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 UX=XA(BA(),1);class Ac{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await UX.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),UX.default.connection.on("open",()=>{console.log("Database connection is ready.")}),UX.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var SK1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(SK1||={});var xK1;((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"})(xK1||={});var fK1;((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"})(fK1||={});var lz;((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"})(lz||={});var pz;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(pz||={});var DA;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(DA||={});var f4;((F)=>{F[F.ChatBan=0]="ChatBan",F[F.Kick=1]="Kick",F[F.Block=2]="Block",F[F.RemoveFriend=3]="RemoveFriend",F[F.AddFriend=4]="AddFriend",F[F.Promote=5]="Promote",F[F.Copy=6]="Copy",F[F.Mimic=7]="Mimic",F[F.Hide=8]="Hide",F[F.Show=9]="Show",F[F.Blacklist=10]="Blacklist",F[F.Whitelist=11]="Whitelist"})(f4||={});var _K1;((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"})(_K1||={});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 u9={...Bc,...Dc},gK1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(gK1||={});var bK1;((F)=>{F.General="general",F.Input="input"})(bK1||={});var QX;((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"})(QX||={});var iz;((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"})(iz||={});class Jc{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,u9.CommonInvalidRequest);case 2:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,u9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,u9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,u9.CommonUnableToSaveToDatabase)}}}var u8=XA(BA(),1);class S9{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,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:S9.transformSchemaToJSON});var yK1=u8.model("bot",Xc);var JA=XA(BA(),1);var Zc=new JA.Schema({owner:{type:JA.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(QX)},searchLangs:{type:[String],enum:Object.values(QX)},platform:{type:[String],enum:Object.values(lz)},privacy:{type:Number,enum:Object.values(pz)},prefixes:{type:[String]},statusText:{type:[String]},statusInterval:{type:Number},level:{type:[Number]},bpLevel:{type:[Number]},extraOwners:{type:[{id:String,name:String}]},admins:{type:[{id:String,name:String}]},whitelistUsers:{type:[{id:String,name:String}]},blacklistUsers:{type:[{id:String,name:String}]},excludedAutoAddFriends:{type:[{id:String,name:String}]},otherBots:{type:[{id:String,name:String}]},inviteTimeout:{type:Number},maxBotsPerLobby:{type:Number},maxBotsPerLobbyWithOwner:{type:Number},maxBotsPerLobbyWithAdmin:{type:Number},maxBotsPerLobbyWithWhitelistUser:{type:Number},allowMatchmaking:{type:Boolean},disableMatchmakingChecks:{type:[Boolean]},disableJoinMessages:{type:[Boolean]},acceptFriendRequests:{type:Boolean},sendFriendRequestOnJoinParty:{type:Boolean},sendFriendRequestOnMemberJoinParty:{type:Boolean},runCommandsWithoutPrefix:{type:Boolean},setCosmeticsWithoutCommands:{type:Boolean},usernameTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},messageContentTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},cosmeticTriggers:{type:[{triggers:{type:[String]},detectionMethods:{type:[Number],enum:Object.values(DA)},actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},addFriendTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},memberJoinTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},changeCosmeticTrigger:{type:[{actions:{type:[Number],enum:Object.values(f4)},messages:{type:[String]}}]},startOutfit:{type:[{id:String,variants:[Number]}]},startBackpack:{type:[{id:String,variants:[Number]}]},startPickaxe:{type:[{id:String,variants:[Number]}]},startShoes:{type:[{id:String,variants:[Number]}]},startBanner:{type:[{id:String}]},joinOutfit:{type:[{id:String,variants:[Number]}]},joinBackpack:{type:[{id:String,variants:[Number]}]},joinPickaxe:{type:[{id:String,variants:[Number]}]},joinEmote:{type:[[{id:String}]]},joinEmoji:{type:[[{id:String}]]},joinShoes:{type:[{id:String,variants:[Number]}]},joinBanner:{type:[[{id:String}]]},memberJoinOutfit:{type:[{id:String,variants:[Number]}]},memberJoinBackpack:{type:[{id:String,variants:[Number]}]},memberJoinPickaxe:{type:[{id:String,variants:[Number]}]},memberJoinEmote:{type:[[{id:String}]]},memberJoinShoes:{type:[{id:String,variants:[Number]}]},memberJoinBanner:{type:[[{id:String}]]}}});Zc.set("toJSON",{transform:S9.transformSchemaToJSON});var vK1=JA.model("category",Zc);var LX=XA(BA(),1);var nz=new LX.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}}});nz.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)}});nz.set("toJSON",{transform:S9.transformSchemaToJSON});var hK1=LX.model("user",nz);export{hK1 as UserModel,iz as DatabaseErrors,Jc as DatabaseErrorHandler,Ac as DatabaseClient,vK1 as CategoryModel,yK1 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.9",
4
+ "version": "1.0.10",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",