@fnlb-project/database 1.0.14 → 1.0.16

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.d.ts CHANGED
@@ -191,6 +191,7 @@ export declare const CategoryModel: import("mongoose").Model<{
191
191
  allowMatchmaking?: boolean | null | undefined;
192
192
  disableMatchmakingChecks?: boolean | null | undefined;
193
193
  disableJoinMessages?: boolean | null | undefined;
194
+ disableAutomaticMessages?: boolean | null | undefined;
194
195
  acceptFriendRequests?: boolean | null | undefined;
195
196
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
196
197
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
@@ -653,6 +654,7 @@ export declare const CategoryModel: import("mongoose").Model<{
653
654
  allowMatchmaking?: boolean | null | undefined;
654
655
  disableMatchmakingChecks?: boolean | null | undefined;
655
656
  disableJoinMessages?: boolean | null | undefined;
657
+ disableAutomaticMessages?: boolean | null | undefined;
656
658
  acceptFriendRequests?: boolean | null | undefined;
657
659
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
658
660
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
@@ -1115,6 +1117,7 @@ export declare const CategoryModel: import("mongoose").Model<{
1115
1117
  allowMatchmaking?: boolean | null | undefined;
1116
1118
  disableMatchmakingChecks?: boolean | null | undefined;
1117
1119
  disableJoinMessages?: boolean | null | undefined;
1120
+ disableAutomaticMessages?: boolean | null | undefined;
1118
1121
  acceptFriendRequests?: boolean | null | undefined;
1119
1122
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
1120
1123
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
@@ -1581,6 +1584,7 @@ export declare const CategoryModel: import("mongoose").Model<{
1581
1584
  allowMatchmaking?: boolean | null | undefined;
1582
1585
  disableMatchmakingChecks?: boolean | null | undefined;
1583
1586
  disableJoinMessages?: boolean | null | undefined;
1587
+ disableAutomaticMessages?: boolean | null | undefined;
1584
1588
  acceptFriendRequests?: boolean | null | undefined;
1585
1589
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
1586
1590
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
@@ -2043,6 +2047,7 @@ export declare const CategoryModel: import("mongoose").Model<{
2043
2047
  allowMatchmaking?: boolean | null | undefined;
2044
2048
  disableMatchmakingChecks?: boolean | null | undefined;
2045
2049
  disableJoinMessages?: boolean | null | undefined;
2050
+ disableAutomaticMessages?: boolean | null | undefined;
2046
2051
  acceptFriendRequests?: boolean | null | undefined;
2047
2052
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
2048
2053
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
@@ -2505,6 +2510,7 @@ export declare const CategoryModel: import("mongoose").Model<{
2505
2510
  allowMatchmaking?: boolean | null | undefined;
2506
2511
  disableMatchmakingChecks?: boolean | null | undefined;
2507
2512
  disableJoinMessages?: boolean | null | undefined;
2513
+ disableAutomaticMessages?: boolean | null | undefined;
2508
2514
  acceptFriendRequests?: boolean | null | undefined;
2509
2515
  sendFriendRequestOnJoinParty?: boolean | null | undefined;
2510
2516
  sendFriendRequestOnMemberJoinParty?: boolean | null | undefined;
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,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},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.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};
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.14",
4
+ "version": "1.0.16",
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.17",
22
+ "@fnlb-project/shared": "1.5.18",
23
23
  "mongoose": "^8.9.3"
24
24
  },
25
25
  "devDependencies": {