@fnlb-project/database 1.0.39 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -921,4 +921,4 @@ updatePath: '${D.raw.path}'`);D.trace.add(F);let Z=Object.keys(F||{}),J=Z.length
|
|
|
921
921
|
* No-op if there is already a default connection.
|
|
922
922
|
*/function kq(F){if(F.connection)return;let A=F.createConnection();A[Nd]=!0,A.models=F.models}var V2=jd.exports=Td=new s({[Pd]:!0})});var Sd=K((oT1,Od)=>{/*!
|
|
923
923
|
* Module dependencies.
|
|
924
|
-
*/var kd=Uy();IZ().set(kd);var Oq=ud();Oq.setDriver(kd);Oq.Mongoose.prototype.mongo=Y9();Od.exports=Oq});var ZA=K((eT1,D1)=>{var Z1=Sd();D1.exports=Z1;D1.exports.default=Z1;D1.exports.mongoose=Z1;D1.exports.cast=Z1.cast;D1.exports.STATES=Z1.STATES;D1.exports.setDriver=Z1.setDriver;D1.exports.set=Z1.set;D1.exports.get=Z1.get;D1.exports.createConnection=Z1.createConnection;D1.exports.connect=Z1.connect;D1.exports.disconnect=Z1.disconnect;D1.exports.startSession=Z1.startSession;D1.exports.pluralize=Z1.pluralize;D1.exports.model=Z1.model;D1.exports.deleteModel=Z1.deleteModel;D1.exports.modelNames=Z1.modelNames;D1.exports.plugin=Z1.plugin;D1.exports.connections=Z1.connections;D1.exports.version=Z1.version;D1.exports.Aggregate=Z1.Aggregate;D1.exports.Mongoose=Z1.Mongoose;D1.exports.Schema=Z1.Schema;D1.exports.SchemaType=Z1.SchemaType;D1.exports.SchemaTypes=Z1.SchemaTypes;D1.exports.VirtualType=Z1.VirtualType;D1.exports.Types=Z1.Types;D1.exports.Query=Z1.Query;D1.exports.Model=Z1.Model;D1.exports.Document=Z1.Document;D1.exports.ObjectId=Z1.ObjectId;D1.exports.isValidObjectId=Z1.isValidObjectId;D1.exports.isObjectIdOrHexString=Z1.isObjectIdOrHexString;D1.exports.syncIndexes=Z1.syncIndexes;D1.exports.Decimal128=Z1.Decimal128;D1.exports.Mixed=Z1.Mixed;D1.exports.Date=Z1.Date;D1.exports.Number=Z1.Number;D1.exports.Error=Z1.Error;D1.exports.MongooseError=Z1.MongooseError;D1.exports.now=Z1.now;D1.exports.CastError=Z1.CastError;D1.exports.SchemaTypeOptions=Z1.SchemaTypeOptions;D1.exports.mongo=Z1.mongo;D1.exports.mquery=Z1.mquery;D1.exports.sanitizeFilter=Z1.sanitizeFilter;D1.exports.trusted=Z1.trusted;D1.exports.skipMiddlewareFunction=Z1.skipMiddlewareFunction;D1.exports.overwriteMiddlewareResult=Z1.overwriteMiddlewareResult});var XJ=XA(ZA(),1);class xd{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await XJ.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),XJ.default.connection.on("open",()=>{console.log("Database connection is ready.")}),XJ.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var EU1;((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"})(EU1||={});var YU1;((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"})(YU1||={});var Sq;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Swt2="SWT2",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(Sq||={});var xq;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(xq||={});var fq;((F)=>{F[F.Auto=0]="Auto",F[F.Online=1]="Online",F[F.Idle=2]="Idle"})(fq||={});var b4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(b4||={});var y4;((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"})(y4||={});var EJ;((F)=>{F.Default="en",F.EnUS="en-US",F.Es="es",F.Es419="es-419",F.Ar="ar",F.De="de",F.Fr="fr",F.He="he",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.Pt="pt",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.Zh="zh",F.ZhHant="zh-Hant"})(EJ||={});var CU1;((F)=>{F.Default="en",F.Ar="ar",F.De="de",F.Es="es",F.Es419="es-419",F.Fr="fr",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.ZhHans="zh-Hans",F.ZhHant="zh-Hant"})(CU1||={});var $U1;((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"})($U1||={});var fd;((F)=>{F.GenericUnknown="net.fnlb.errors.generic.unknown",F.GenericInternalError="net.fnlb.errors.generic.internal_error",F.GenericValidationFailed="net.fnlb.errors.generic.validation_failed",F.GenericParseFailed="net.fnlb.errors.generic.parse_failed",F.GenericNotFound="net.fnlb.errors.generic.not_found",F.GenericAlreadyExists="net.fnlb.errors.generic.already_exists",F.CommonInvalidRequest="net.fnlb.errors.common.invalid_request",F.CommonUnableToProcessRequest="net.fnlb.errors.common.unable_to_process_request",F.CommonInvalidFieldsLength="net.fnlb.errors.common.invalid_body_fields_length",F.CommonRateLimitExceeded="net.fnlb.errors.common.rate_limit_exceeded",F.CommonLimitExceeded="net.fnlb.errors.common.limit_exceeded",F.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",F.CommonUpdateRequired="net.fnlb.errors.common.update_required",F.CommonMaintenanceMode="net.fnlb.errors.common.maintenance_mode",F.AuthInvalidToken="net.fnlb.errors.auth.invalid_token",F.AuthInvalidAPIToken="net.fnlb.errors.auth.invalid_api_token",F.AuthInvalidCaptchaToken="net.fnlb.errors.auth.invalid_captcha_token",F.AuthUnauthorized="net.fnlb.errors.auth.unauthorized",F.AuthForbidden="net.fnlb.errors.auth.forbidden",F.AuthUserBanned="net.fnlb.errors.auth.user_banned",F.Oauth2InvalidCode="net.fnlb.errors.oauth2.invalid_code",F.Oauth2InvalidScope="net.fnlb.errors.oauth2.invalid_scope",F.Oauth2TokenInvalid="net.fnlb.errors.oauth2.token_invalid",F.Oauth2UnableToFetchUser="net.fnlb.errors.oauth2.unable_to_fetch_user",F.Oauth2UnableToFetchConnections="net.fnlb.errors.oauth2.unable_to_fetch_connections",F.Oauth2UserWithoutConnection="net.fnlb.errors.oauth2.user_without_connection",F.Oauth2ConnectionNotVerified="net.fnlb.errors.oauth2.connection_not_verified",F.ReleaseNotFound="net.fnlb.errors.release.no_release_found",F.ReleaseVersionAlreadyExists="net.fnlb.errors.release.version_already_exists"})(fd||={});var _d;((F)=>{F.LoginInvalidCredentials="net.fnlb.errors.login.invalid_credentials",F.LoginInvalidEmail="net.fnlb.errors.login.invalid_email",F.LoginInvalidOrUsedEmail="net.fnlb.errors.login.invalid_or_used_email",F.AuthPasswordConfirmationInvalid="net.fnlb.errors.auth.invalid_password_confirmation"})(_d||={});var v9={...fd,..._d},GU1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(GU1||={});var WU1;((F)=>{F.General="general",F.Input="input"})(WU1||={});var HU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Public=2]="Public",F[F.InvalidAuth=4]="InvalidAuth"})(HU1||={});var qU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Managed=2]="Managed"})(qU1||={});var zU1;((F)=>{F[F.Staff=1]="Staff",F[F.Admin=2]="Admin",F[F.Vip=4]="Vip",F[F.Verified=8]="Verified",F[F.Banned=16]="Banned"})(zU1||={});var _q;((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"})(_q||={});class gd{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,v9.GenericAlreadyExists);case 2:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,v9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,v9.CommonUnableToSaveToDatabase)}}}var M8=XA(ZA(),1);class m9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v,delete A.password}}var bd=new M8.Schema({owner:{type:M8.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:M8.Schema.Types.ObjectId,ref:"category",required:!1,index:!0,sparse:!0},nickname:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},email:{type:String,lowercase:!0,required:!1,trim:!0},deviceAuth:{required:!0,type:{accountId:{type:String,required:!0,unique:!0,lowercase:!0,trim:!0},deviceId:{type:String,required:!0,lowercase:!0,trim:!0},secret:{type:String,required:!0,trim:!0}},_id:!1},mmsBannedUntil:{type:Number,required:!1}});bd.set("toJSON",{transform:m9.transformSchemaToJSON});var KU1=M8.model("bot",bd);var JA=XA(ZA(),1);function t2(F){return Object.values(F).filter((A)=>typeof A==="number")}var yd=new JA.Schema({owner:{type:JA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(EJ),default:void 0},searchLangs:{type:[String],enum:Object.values(EJ),default:void 0},platform:{type:[String],enum:Object.values(Sq),default:void 0},privacy:{type:Number,enum:t2(xq),default:void 0},prefixes:{type:[String],default:void 0},statusType:{type:Number,enum:t2(fq),default:void 0},statusText:{type:[String],default:void 0},statusInterval:{type:Number,default:void 0},level:{type:[Number],default:void 0},bpLevel:{type:[Number],default:void 0},extraOwners:{type:[{id:String,name:String,_id:!1}],default:void 0},admins:{type:[{id:String,name:String,_id:!1}],default:void 0},whitelistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},blacklistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},excludedAutoAddFriends:{type:[{id:String,name:String,_id:!1}],default:void 0},otherBots:{type:[{id:String,name:String,_id:!1}],default:void 0},inviteTimeout:{type:Number,default:void 0},maxBotsPerLobby:{type:Number,default:void 0},maxBotsPerLobbyWithOwner:{type:Number,default:void 0},maxBotsPerLobbyWithAdmin:{type:Number,default:void 0},maxBotsPerLobbyWithWhitelistUser:{type:Number,default:void 0},allowMatchmaking:{type:Boolean,default:void 0},leaveAfterMatchmaking:{type:Boolean,default:void 0},disableMatchmakingChecks:{type:Boolean,default:void 0},disablePlaylistChecks:{type:Boolean,default:void 0},disableJoinMessages:{type:Boolean,default:void 0},disableAutomaticMessages:{type:Boolean,default:void 0},acceptFriendRequests:{type:Boolean,default:void 0},sendFriendRequestOnJoinParty:{type:Boolean,default:void 0},sendFriendRequestOnMemberJoinParty:{type:Boolean,default:void 0},runCommandsWithoutPrefix:{type:Boolean,default:void 0},setCosmeticsWithoutCommands:{type:Boolean,default:void 0},setCosmeticsWithPrefix:{type:Boolean,default:void 0},acceptInvites:{type:Boolean,default:void 0},startBannedBots:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},onlyOwnerCommands:{type:[String],default:void 0},onlyAdminCommands:{type:[String],default:void 0},onlyWhitelistUsersCommands:{type:[String],default:void 0},onlyFriendsCommands:{type:[String],default:void 0},onlyPartyMembersCommands:{type:[String],default:void 0},onlyWhisperCommands:{type:[String],default:void 0},startOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBanner:{type:[{id:String,_id:!1}],default:void 0},startBannerColor:{type:[{id:String,_id:!1}],default:void 0},joinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinEmote:{type:[{id:String,_id:!1}],default:void 0},joinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBanner:{type:[{id:String,_id:!1}],default:void 0},joinBannerColor:{type:[{id:String,_id:!1}],default:void 0},memberJoinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinEmote:{type:[{id:String,_id:!1}],default:void 0},memberJoinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBanner:{type:[{id:String,_id:!1}],default:void 0},memberJoinBannerColor:{type:[{id:String,_id:!1}],default:void 0}}});yd.set("toJSON",{transform:m9.transformSchemaToJSON});var UU1=JA.model("category",yd);var YJ=XA(ZA(),1);var gq=new YJ.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,index:!1,unique:!1,trim:!0},flags:{type:Number,required:!1},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}}}},{statics:{async verifyPassword(F,A){return Bun.password.verify(F,A)},async findByToken(F,A){let B=await this.findById(F);if(!B?.token||B.token!==A)return null;return B},async findByAPIToken(F,A){let B=await this.findById(F);if(!B?.apiToken||B.apiToken!==A)return null;return B}}});gq.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)}});gq.set("toJSON",{transform:m9.transformSchemaToJSON});var QU1=YJ.model("user",gq);export{QU1 as UserModel,_q as DatabaseErrors,gd as DatabaseErrorHandler,xd as DatabaseClient,UU1 as CategoryModel,KU1 as BotModel};
|
|
924
|
+
*/var kd=Uy();IZ().set(kd);var Oq=ud();Oq.setDriver(kd);Oq.Mongoose.prototype.mongo=Y9();Od.exports=Oq});var ZA=K((eT1,D1)=>{var Z1=Sd();D1.exports=Z1;D1.exports.default=Z1;D1.exports.mongoose=Z1;D1.exports.cast=Z1.cast;D1.exports.STATES=Z1.STATES;D1.exports.setDriver=Z1.setDriver;D1.exports.set=Z1.set;D1.exports.get=Z1.get;D1.exports.createConnection=Z1.createConnection;D1.exports.connect=Z1.connect;D1.exports.disconnect=Z1.disconnect;D1.exports.startSession=Z1.startSession;D1.exports.pluralize=Z1.pluralize;D1.exports.model=Z1.model;D1.exports.deleteModel=Z1.deleteModel;D1.exports.modelNames=Z1.modelNames;D1.exports.plugin=Z1.plugin;D1.exports.connections=Z1.connections;D1.exports.version=Z1.version;D1.exports.Aggregate=Z1.Aggregate;D1.exports.Mongoose=Z1.Mongoose;D1.exports.Schema=Z1.Schema;D1.exports.SchemaType=Z1.SchemaType;D1.exports.SchemaTypes=Z1.SchemaTypes;D1.exports.VirtualType=Z1.VirtualType;D1.exports.Types=Z1.Types;D1.exports.Query=Z1.Query;D1.exports.Model=Z1.Model;D1.exports.Document=Z1.Document;D1.exports.ObjectId=Z1.ObjectId;D1.exports.isValidObjectId=Z1.isValidObjectId;D1.exports.isObjectIdOrHexString=Z1.isObjectIdOrHexString;D1.exports.syncIndexes=Z1.syncIndexes;D1.exports.Decimal128=Z1.Decimal128;D1.exports.Mixed=Z1.Mixed;D1.exports.Date=Z1.Date;D1.exports.Number=Z1.Number;D1.exports.Error=Z1.Error;D1.exports.MongooseError=Z1.MongooseError;D1.exports.now=Z1.now;D1.exports.CastError=Z1.CastError;D1.exports.SchemaTypeOptions=Z1.SchemaTypeOptions;D1.exports.mongo=Z1.mongo;D1.exports.mquery=Z1.mquery;D1.exports.sanitizeFilter=Z1.sanitizeFilter;D1.exports.trusted=Z1.trusted;D1.exports.skipMiddlewareFunction=Z1.skipMiddlewareFunction;D1.exports.overwriteMiddlewareResult=Z1.overwriteMiddlewareResult});var XJ=XA(ZA(),1);class xd{async connect(F){if(!F)throw new Error("DB URI is not valid.");console.log("Connecting to database..."),await XJ.default.connect(F).catch((A)=>console.error("Unable to connect to the database:",A)),XJ.default.connection.on("open",()=>{console.log("Database connection is ready.")}),XJ.default.connection.on("error",(A)=>{console.error("Database connection error:",A)})}}var EU1;((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"})(EU1||={});var YU1;((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"})(YU1||={});var Sq;((F)=>{F.Win="WIN",F.Mac="MAC",F.Psn="PSN",F.Xbl="XBL",F.Swt="SWT",F.Swt2="SWT2",F.Ios="IOS",F.And="AND",F.Ps5="PS5",F.Xsx="XSX"})(Sq||={});var xq;((F)=>{F[F.Public=0]="Public",F[F.Private=1]="Private"})(xq||={});var fq;((F)=>{F[F.Auto=0]="Auto",F[F.Online=1]="Online",F[F.Away=2]="Away"})(fq||={});var b4;((F)=>{F[F.Equals=0]="Equals",F[F.Includes=1]="Includes",F[F.StartsWith=2]="StartsWith",F[F.EndsWith=3]="EndsWith"})(b4||={});var y4;((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"})(y4||={});var EJ;((F)=>{F.Default="en",F.EnUS="en-US",F.Es="es",F.Es419="es-419",F.Ar="ar",F.De="de",F.Fr="fr",F.He="he",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.Pt="pt",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.Zh="zh",F.ZhHant="zh-Hant"})(EJ||={});var CU1;((F)=>{F.Default="en",F.Ar="ar",F.De="de",F.Es="es",F.Es419="es-419",F.Fr="fr",F.Id="id",F.It="it",F.Ja="ja",F.Ko="ko",F.Pl="pl",F.PtBR="pt-BR",F.Ru="ru",F.Th="th",F.Tr="tr",F.Vi="vi",F.ZhHans="zh-Hans",F.ZhHant="zh-Hant"})(CU1||={});var $U1;((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"})($U1||={});var fd;((F)=>{F.GenericUnknown="net.fnlb.errors.generic.unknown",F.GenericInternalError="net.fnlb.errors.generic.internal_error",F.GenericValidationFailed="net.fnlb.errors.generic.validation_failed",F.GenericParseFailed="net.fnlb.errors.generic.parse_failed",F.GenericNotFound="net.fnlb.errors.generic.not_found",F.GenericAlreadyExists="net.fnlb.errors.generic.already_exists",F.CommonInvalidRequest="net.fnlb.errors.common.invalid_request",F.CommonUnableToProcessRequest="net.fnlb.errors.common.unable_to_process_request",F.CommonInvalidFieldsLength="net.fnlb.errors.common.invalid_body_fields_length",F.CommonRateLimitExceeded="net.fnlb.errors.common.rate_limit_exceeded",F.CommonLimitExceeded="net.fnlb.errors.common.limit_exceeded",F.CommonUnableToSaveToDatabase="net.fnlb.errors.common.unable_to_save_to_database",F.CommonUpdateRequired="net.fnlb.errors.common.update_required",F.CommonMaintenanceMode="net.fnlb.errors.common.maintenance_mode",F.AuthInvalidToken="net.fnlb.errors.auth.invalid_token",F.AuthInvalidAPIToken="net.fnlb.errors.auth.invalid_api_token",F.AuthInvalidCaptchaToken="net.fnlb.errors.auth.invalid_captcha_token",F.AuthUnauthorized="net.fnlb.errors.auth.unauthorized",F.AuthForbidden="net.fnlb.errors.auth.forbidden",F.AuthUserBanned="net.fnlb.errors.auth.user_banned",F.Oauth2InvalidCode="net.fnlb.errors.oauth2.invalid_code",F.Oauth2InvalidScope="net.fnlb.errors.oauth2.invalid_scope",F.Oauth2TokenInvalid="net.fnlb.errors.oauth2.token_invalid",F.Oauth2UnableToFetchUser="net.fnlb.errors.oauth2.unable_to_fetch_user",F.Oauth2UnableToFetchConnections="net.fnlb.errors.oauth2.unable_to_fetch_connections",F.Oauth2UserWithoutConnection="net.fnlb.errors.oauth2.user_without_connection",F.Oauth2ConnectionNotVerified="net.fnlb.errors.oauth2.connection_not_verified",F.ReleaseNotFound="net.fnlb.errors.release.no_release_found",F.ReleaseVersionAlreadyExists="net.fnlb.errors.release.version_already_exists"})(fd||={});var _d;((F)=>{F.LoginInvalidCredentials="net.fnlb.errors.login.invalid_credentials",F.LoginInvalidEmail="net.fnlb.errors.login.invalid_email",F.LoginInvalidOrUsedEmail="net.fnlb.errors.login.invalid_or_used_email",F.AuthPasswordConfirmationInvalid="net.fnlb.errors.auth.invalid_password_confirmation"})(_d||={});var v9={...fd,..._d},GU1;((F)=>{F.Username="username",F.Email="email",F.Password="password",F.Shared="shared"})(GU1||={});var WU1;((F)=>{F.General="general",F.Input="input"})(WU1||={});var HU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Public=2]="Public",F[F.InvalidAuth=4]="InvalidAuth"})(HU1||={});var qU1;((F)=>{F[F.Disabled=1]="Disabled",F[F.Managed=2]="Managed"})(qU1||={});var zU1;((F)=>{F[F.Staff=1]="Staff",F[F.Admin=2]="Admin",F[F.Vip=4]="Vip",F[F.Verified=8]="Verified",F[F.Banned=16]="Banned"})(zU1||={});var _q;((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"})(_q||={});class gd{static handleError(F,A){if(!F)return!1;switch(F.code){case 11000:return A.sendError(400,v9.GenericAlreadyExists);case 2:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 211:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 4:return A.sendError(500,v9.CommonUnableToSaveToDatabase);case 1:return console.error("Internal MongoDB error:",F),A.sendError(500,v9.CommonUnableToSaveToDatabase);default:return console.error("Unhandled MongoError code:",F.code,F),A.sendError(500,v9.CommonUnableToSaveToDatabase)}}}var M8=XA(ZA(),1);class m9{static transformSchemaToJSON(F,A){A.id=A._id,delete A._id,delete A.__v,delete A.password}}var bd=new M8.Schema({owner:{type:M8.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},parent:{type:M8.Schema.Types.ObjectId,ref:"category",required:!1,index:!0,sparse:!0},nickname:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},email:{type:String,lowercase:!0,required:!1,trim:!0},deviceAuth:{required:!0,type:{accountId:{type:String,required:!0,unique:!0,lowercase:!0,trim:!0},deviceId:{type:String,required:!0,lowercase:!0,trim:!0},secret:{type:String,required:!0,trim:!0}},_id:!1},mmsBannedUntil:{type:Number,required:!1}});bd.set("toJSON",{transform:m9.transformSchemaToJSON});var KU1=M8.model("bot",bd);var JA=XA(ZA(),1);function t2(F){return Object.values(F).filter((A)=>typeof A==="number")}var yd=new JA.Schema({owner:{type:JA.Schema.Types.ObjectId,ref:"user",required:!0,index:!0},name:{type:String,required:!0,trim:!0},flags:{type:Number,required:!1},managed:{type:Boolean,required:!1,index:!0,sparse:!0},config:{replyLangs:{type:[String],enum:Object.values(EJ),default:void 0},searchLangs:{type:[String],enum:Object.values(EJ),default:void 0},platform:{type:[String],enum:Object.values(Sq),default:void 0},privacy:{type:Number,enum:t2(xq),default:void 0},prefixes:{type:[String],default:void 0},statusType:{type:Number,enum:t2(fq),default:void 0},statusText:{type:[String],default:void 0},statusInterval:{type:Number,default:void 0},level:{type:[Number],default:void 0},bpLevel:{type:[Number],default:void 0},extraOwners:{type:[{id:String,name:String,_id:!1}],default:void 0},admins:{type:[{id:String,name:String,_id:!1}],default:void 0},whitelistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},blacklistUsers:{type:[{id:String,name:String,_id:!1}],default:void 0},excludedAutoAddFriends:{type:[{id:String,name:String,_id:!1}],default:void 0},otherBots:{type:[{id:String,name:String,_id:!1}],default:void 0},inviteTimeout:{type:Number,default:void 0},maxBotsPerLobby:{type:Number,default:void 0},maxBotsPerLobbyWithOwner:{type:Number,default:void 0},maxBotsPerLobbyWithAdmin:{type:Number,default:void 0},maxBotsPerLobbyWithWhitelistUser:{type:Number,default:void 0},allowMatchmaking:{type:Boolean,default:void 0},leaveAfterMatchmaking:{type:Boolean,default:void 0},disableMatchmakingChecks:{type:Boolean,default:void 0},disablePlaylistChecks:{type:Boolean,default:void 0},disableJoinMessages:{type:Boolean,default:void 0},disableAutomaticMessages:{type:Boolean,default:void 0},acceptFriendRequests:{type:Boolean,default:void 0},sendFriendRequestOnJoinParty:{type:Boolean,default:void 0},sendFriendRequestOnMemberJoinParty:{type:Boolean,default:void 0},runCommandsWithoutPrefix:{type:Boolean,default:void 0},setCosmeticsWithoutCommands:{type:Boolean,default:void 0},setCosmeticsWithPrefix:{type:Boolean,default:void 0},acceptInvites:{type:Boolean,default:void 0},startBannedBots:{type:Boolean,default:void 0},usernameTriggers:{type:[{triggers:{type:[String],default:void 0},detectionMethods:{type:[Number],enum:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),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:t2(b4),default:void 0},actions:{type:[Number],enum:t2(y4),default:void 0},messages:{type:[String],default:void 0},_id:!1}],default:void 0},onlyOwnerCommands:{type:[String],default:void 0},onlyAdminCommands:{type:[String],default:void 0},onlyWhitelistUsersCommands:{type:[String],default:void 0},onlyFriendsCommands:{type:[String],default:void 0},onlyPartyMembersCommands:{type:[String],default:void 0},onlyWhisperCommands:{type:[String],default:void 0},startOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},startBanner:{type:[{id:String,_id:!1}],default:void 0},startBannerColor:{type:[{id:String,_id:!1}],default:void 0},joinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinEmote:{type:[{id:String,_id:!1}],default:void 0},joinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},joinBanner:{type:[{id:String,_id:!1}],default:void 0},joinBannerColor:{type:[{id:String,_id:!1}],default:void 0},memberJoinOutfit:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBackpack:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinPickaxe:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinEmote:{type:[{id:String,_id:!1}],default:void 0},memberJoinShoes:{type:[{id:String,variants:[Number],_id:!1}],default:void 0},memberJoinBanner:{type:[{id:String,_id:!1}],default:void 0},memberJoinBannerColor:{type:[{id:String,_id:!1}],default:void 0}}});yd.set("toJSON",{transform:m9.transformSchemaToJSON});var UU1=JA.model("category",yd);var YJ=XA(ZA(),1);var gq=new YJ.Schema({token:{type:String,required:!0,unique:!1},username:{type:String,required:!0,trim:!0},email:{type:String,index:!0,required:!0,unique:!0,trim:!0},password:{type:String,required:!0},apiToken:{type:String,required:!0,index:!1,unique:!1,trim:!0},flags:{type:Number,required:!1},connections:{discord:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}},epic:{id:{type:String,index:!0,unique:!0,sparse:!0},username:{type:String},verified:{type:Boolean,required:!1}}}},{statics:{async verifyPassword(F,A){return Bun.password.verify(F,A)},async findByToken(F,A){let B=await this.findById(F);if(!B?.token||B.token!==A)return null;return B},async findByAPIToken(F,A){let B=await this.findById(F);if(!B?.apiToken||B.apiToken!==A)return null;return B}}});gq.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)}});gq.set("toJSON",{transform:m9.transformSchemaToJSON});var QU1=YJ.model("user",gq);export{QU1 as UserModel,_q as DatabaseErrors,gd as DatabaseErrorHandler,xd as DatabaseClient,UU1 as CategoryModel,KU1 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.
|
|
4
|
+
"version": "1.0.40",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@fnlb-project/shared": "^1.5.
|
|
24
|
+
"@fnlb-project/shared": "^1.5.78",
|
|
25
25
|
"mongoose": "^8.19.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|