@fnlb-project/database 1.0.22 → 1.0.23

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
@@ -22,7 +22,7 @@ export declare const BotModel: import("mongoose").Model<{
22
22
  parent?: import("mongoose").Types.ObjectId | null | undefined;
23
23
  email?: string | null | undefined;
24
24
  disabled?: boolean | null | undefined;
25
- mmsDisabledUntil?: NativeDate | null | undefined;
25
+ mmsBannedUntil?: NativeDate | null | undefined;
26
26
  }, {}, {}, {}, import("mongoose").Document<unknown, {}, {
27
27
  owner: import("mongoose").Types.ObjectId;
28
28
  type: number;
@@ -35,7 +35,7 @@ export declare const BotModel: import("mongoose").Model<{
35
35
  parent?: import("mongoose").Types.ObjectId | null | undefined;
36
36
  email?: string | null | undefined;
37
37
  disabled?: boolean | null | undefined;
38
- mmsDisabledUntil?: NativeDate | null | undefined;
38
+ mmsBannedUntil?: NativeDate | null | undefined;
39
39
  }> & {
40
40
  owner: import("mongoose").Types.ObjectId;
41
41
  type: number;
@@ -48,7 +48,7 @@ export declare const BotModel: import("mongoose").Model<{
48
48
  parent?: import("mongoose").Types.ObjectId | null | undefined;
49
49
  email?: string | null | undefined;
50
50
  disabled?: boolean | null | undefined;
51
- mmsDisabledUntil?: NativeDate | null | undefined;
51
+ mmsBannedUntil?: NativeDate | null | undefined;
52
52
  } & {
53
53
  _id: import("mongoose").Types.ObjectId;
54
54
  } & {
@@ -65,7 +65,7 @@ export declare const BotModel: import("mongoose").Model<{
65
65
  parent?: import("mongoose").Types.ObjectId | null | undefined;
66
66
  email?: string | null | undefined;
67
67
  disabled?: boolean | null | undefined;
68
- mmsDisabledUntil?: NativeDate | null | undefined;
68
+ mmsBannedUntil?: NativeDate | null | undefined;
69
69
  }, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
70
70
  owner: import("mongoose").Types.ObjectId;
71
71
  type: number;
@@ -78,7 +78,7 @@ export declare const BotModel: import("mongoose").Model<{
78
78
  parent?: import("mongoose").Types.ObjectId | null | undefined;
79
79
  email?: string | null | undefined;
80
80
  disabled?: boolean | null | undefined;
81
- mmsDisabledUntil?: NativeDate | null | undefined;
81
+ mmsBannedUntil?: NativeDate | null | undefined;
82
82
  }>> & import("mongoose").FlatRecord<{
83
83
  owner: import("mongoose").Types.ObjectId;
84
84
  type: number;
@@ -91,7 +91,7 @@ export declare const BotModel: import("mongoose").Model<{
91
91
  parent?: import("mongoose").Types.ObjectId | null | undefined;
92
92
  email?: string | null | undefined;
93
93
  disabled?: boolean | null | undefined;
94
- mmsDisabledUntil?: NativeDate | null | undefined;
94
+ mmsBannedUntil?: NativeDate | null | undefined;
95
95
  }> & {
96
96
  _id: import("mongoose").Types.ObjectId;
97
97
  } & {
package/dist/index.js CHANGED
@@ -925,4 +925,4 @@ updatePath: '${X.raw.path}'`);X.trace.add(F);let Z=Object.keys(F||{}),J=Z.length
925
925
  * No-op if there is already a default connection.
926
926
  */function sK(F){if(F.connection)return;let A=F.createConnection();A[al]=!0,A.models=F.models}var v2=rl.exports=sl=new o({[il]:!0})});var Fp=E((WS1,el)=>{/*!
927
927
  * Module dependencies.
928
- */var ol=hv();$J().set(ol);var rK=tl();rK.setDriver(ol);rK.Mongoose.prototype.mongo=k9();el.exports=rK});var xA=E((CS1,G1)=>{var B1=Fp();G1.exports=B1;G1.exports.default=B1;G1.exports.mongoose=B1;G1.exports.cast=B1.cast;G1.exports.STATES=B1.STATES;G1.exports.setDriver=B1.setDriver;G1.exports.set=B1.set;G1.exports.get=B1.get;G1.exports.createConnection=B1.createConnection;G1.exports.connect=B1.connect;G1.exports.disconnect=B1.disconnect;G1.exports.startSession=B1.startSession;G1.exports.pluralize=B1.pluralize;G1.exports.model=B1.model;G1.exports.deleteModel=B1.deleteModel;G1.exports.modelNames=B1.modelNames;G1.exports.plugin=B1.plugin;G1.exports.connections=B1.connections;G1.exports.version=B1.version;G1.exports.Aggregate=B1.Aggregate;G1.exports.Mongoose=B1.Mongoose;G1.exports.Schema=B1.Schema;G1.exports.SchemaType=B1.SchemaType;G1.exports.SchemaTypes=B1.SchemaTypes;G1.exports.VirtualType=B1.VirtualType;G1.exports.Types=B1.Types;G1.exports.Query=B1.Query;G1.exports.Model=B1.Model;G1.exports.Document=B1.Document;G1.exports.ObjectId=B1.ObjectId;G1.exports.isValidObjectId=B1.isValidObjectId;G1.exports.isObjectIdOrHexString=B1.isObjectIdOrHexString;G1.exports.syncIndexes=B1.syncIndexes;G1.exports.Decimal128=B1.Decimal128;G1.exports.Mixed=B1.Mixed;G1.exports.Date=B1.Date;G1.exports.Number=B1.Number;G1.exports.Error=B1.Error;G1.exports.MongooseError=B1.MongooseError;G1.exports.now=B1.now;G1.exports.CastError=B1.CastError;G1.exports.SchemaTypeOptions=B1.SchemaTypeOptions;G1.exports.mongo=B1.mongo;G1.exports.mquery=B1.mquery;G1.exports.sanitizeFilter=B1.sanitizeFilter;G1.exports.trusted=B1.trusted;G1.exports.skipMiddlewareFunction=B1.skipMiddlewareFunction;G1.exports.overwriteMiddlewareResult=B1.overwriteMiddlewareResult});var pJ=fA(xA(),1);class Ap{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await pJ.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),pJ.default.connection.on("open",()=>{console.log("Database connection is ready.")}),pJ.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var PL1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(PL1||={});var IL1;((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"})(IL1||={});var ML1;((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"})(ML1||={});var tK;((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"})(tK||={});var oK;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(oK||={});var A9;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(A9||={});var D9;((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"})(D9||={});var iJ;((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"})(iJ||={});var NL1;((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"})(NL1||={});var Dp;((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.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"})(Dp||={});var Xp;((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"})(Xp||={});var J7={...Dp,...Xp},jL1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(jL1||={});var TL1;((F)=>{F.General="general",F.Input="input"})(TL1||={});var eK;((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"})(eK||={});class Zp{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,J7.GenericAlreadyExists);case 2:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,J7.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,J7.CommonUnableToSaveToDatabase)}}}var X5=fA(xA(),1);class $7{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v}}var Jp=new X5.Schema({owner:{type:X5.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:X5.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},mmsDisabledUntil:{type:Date,required:!1}});Jp.set("toJSON",{transform:$7.transformSchemaToJSON});var kL1=X5.model("bot",Jp);var gA=fA(xA(),1);var $p=new gA.Schema({owner:{type:gA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},disabled:{type:Boolean,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(iJ),default:void 0},searchLangs:{type:[String],enum:Object.values(iJ),default:void 0},platform:{type:[String],enum:Object.values(tK),default:void 0},privacy:{type:Number,enum:Object.values(oK),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},acceptInvites:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:Object.values(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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}}});$p.set("toJSON",{transform:$7.transformSchemaToJSON});var OL1=gA.model("category",$p);var aJ=fA(xA(),1);var FE=new aJ.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},verified:{type:Boolean,required:!1},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 D=await this.findById(F);if(!D?.token||D.token!==A)return null;return D},async findByAPIToken(F,A){let D=await this.findById(F);if(!D?.apiToken||D.apiToken!==A)return null;return D}}});FE.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)}});FE.set("toJSON",{transform:$7.transformSchemaToJSON});var SL1=aJ.model("user",FE);export{SL1 as UserModel,eK as DatabaseErrors,Zp as DatabaseErrorHandler,Ap as DatabaseClient,OL1 as CategoryModel,kL1 as BotModel};
928
+ */var ol=hv();$J().set(ol);var rK=tl();rK.setDriver(ol);rK.Mongoose.prototype.mongo=k9();el.exports=rK});var xA=E((CS1,G1)=>{var B1=Fp();G1.exports=B1;G1.exports.default=B1;G1.exports.mongoose=B1;G1.exports.cast=B1.cast;G1.exports.STATES=B1.STATES;G1.exports.setDriver=B1.setDriver;G1.exports.set=B1.set;G1.exports.get=B1.get;G1.exports.createConnection=B1.createConnection;G1.exports.connect=B1.connect;G1.exports.disconnect=B1.disconnect;G1.exports.startSession=B1.startSession;G1.exports.pluralize=B1.pluralize;G1.exports.model=B1.model;G1.exports.deleteModel=B1.deleteModel;G1.exports.modelNames=B1.modelNames;G1.exports.plugin=B1.plugin;G1.exports.connections=B1.connections;G1.exports.version=B1.version;G1.exports.Aggregate=B1.Aggregate;G1.exports.Mongoose=B1.Mongoose;G1.exports.Schema=B1.Schema;G1.exports.SchemaType=B1.SchemaType;G1.exports.SchemaTypes=B1.SchemaTypes;G1.exports.VirtualType=B1.VirtualType;G1.exports.Types=B1.Types;G1.exports.Query=B1.Query;G1.exports.Model=B1.Model;G1.exports.Document=B1.Document;G1.exports.ObjectId=B1.ObjectId;G1.exports.isValidObjectId=B1.isValidObjectId;G1.exports.isObjectIdOrHexString=B1.isObjectIdOrHexString;G1.exports.syncIndexes=B1.syncIndexes;G1.exports.Decimal128=B1.Decimal128;G1.exports.Mixed=B1.Mixed;G1.exports.Date=B1.Date;G1.exports.Number=B1.Number;G1.exports.Error=B1.Error;G1.exports.MongooseError=B1.MongooseError;G1.exports.now=B1.now;G1.exports.CastError=B1.CastError;G1.exports.SchemaTypeOptions=B1.SchemaTypeOptions;G1.exports.mongo=B1.mongo;G1.exports.mquery=B1.mquery;G1.exports.sanitizeFilter=B1.sanitizeFilter;G1.exports.trusted=B1.trusted;G1.exports.skipMiddlewareFunction=B1.skipMiddlewareFunction;G1.exports.overwriteMiddlewareResult=B1.overwriteMiddlewareResult});var pJ=fA(xA(),1);class Ap{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await pJ.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),pJ.default.connection.on("open",()=>{console.log("Database connection is ready.")}),pJ.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var PL1;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(PL1||={});var IL1;((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"})(IL1||={});var ML1;((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"})(ML1||={});var tK;((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"})(tK||={});var oK;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(oK||={});var A9;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(A9||={});var D9;((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"})(D9||={});var iJ;((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"})(iJ||={});var NL1;((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"})(NL1||={});var Dp;((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.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"})(Dp||={});var Xp;((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"})(Xp||={});var J7={...Dp,...Xp},jL1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(jL1||={});var TL1;((F)=>{F.General="general",F.Input="input"})(TL1||={});var eK;((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"})(eK||={});class Zp{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,J7.GenericAlreadyExists);case 2:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,J7.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,J7.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,J7.CommonUnableToSaveToDatabase)}}}var X5=fA(xA(),1);class $7{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v}}var Jp=new X5.Schema({owner:{type:X5.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:X5.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},mmsBannedUntil:{type:Date,required:!1}});Jp.set("toJSON",{transform:$7.transformSchemaToJSON});var kL1=X5.model("bot",Jp);var gA=fA(xA(),1);var $p=new gA.Schema({owner:{type:gA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},disabled:{type:Boolean,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(iJ),default:void 0},searchLangs:{type:[String],enum:Object.values(iJ),default:void 0},platform:{type:[String],enum:Object.values(tK),default:void 0},privacy:{type:Number,enum:Object.values(oK),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},acceptInvites:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:Object.values(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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(A9),default:void 0},actions:{type:[Number],enum:Object.values(D9),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}}});$p.set("toJSON",{transform:$7.transformSchemaToJSON});var OL1=gA.model("category",$p);var aJ=fA(xA(),1);var FE=new aJ.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},verified:{type:Boolean,required:!1},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 D=await this.findById(F);if(!D?.token||D.token!==A)return null;return D},async findByAPIToken(F,A){let D=await this.findById(F);if(!D?.apiToken||D.apiToken!==A)return null;return D}}});FE.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)}});FE.set("toJSON",{transform:$7.transformSchemaToJSON});var SL1=aJ.model("user",FE);export{SL1 as UserModel,eK as DatabaseErrors,Zp as DatabaseErrorHandler,Ap as DatabaseClient,OL1 as CategoryModel,kL1 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.22",
4
+ "version": "1.0.23",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "dist/index.js",