✨ throw missing permission
This commit is contained in:
		
							parent
							
								
									29bdb72979
								
							
						
					
					
						commit
						6f5fba5c38
					
				
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,11 +1,11 @@ | ||||
| { | ||||
| 	"name": "@fosscord/fosscord-server-util", | ||||
| 	"name": "@fosscord/server-util", | ||||
| 	"version": "1.0.2", | ||||
| 	"lockfileVersion": 2, | ||||
| 	"requires": true, | ||||
| 	"packages": { | ||||
| 		"": { | ||||
| 			"name": "@fosscord/fosscord-server-util", | ||||
| 			"name": "@fosscord/server-util", | ||||
| 			"version": "1.0.2", | ||||
| 			"license": "ISC", | ||||
| 			"dependencies": { | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| { | ||||
| 	"name": "@fosscord/server-util", | ||||
| 	"version": "1.0.2", | ||||
| 	"version": "1.0.3", | ||||
| 	"description": "Utility functions for the all server repositories", | ||||
| 	"main": "dist/index.js", | ||||
| 	"types": "dist/index.d.ts", | ||||
| @ -16,12 +16,10 @@ | ||||
| 		"discord", | ||||
| 		"fosscord", | ||||
| 		"fosscord-server-util", | ||||
| 		"foss cord", | ||||
| 		"discord open source", | ||||
| 		"discord source", | ||||
| 		"discord-open-source" | ||||
| 	], | ||||
| 	"author": "", | ||||
| 	"author": "Fosscord", | ||||
| 	"license": "ISC", | ||||
| 	"bugs": { | ||||
| 		"url": "https://github.com/fosscord/fosscord-server-util/issues" | ||||
|  | ||||
| @ -7,6 +7,14 @@ import { Role, RoleModel } from "../models/Role"; | ||||
| import { BitField } from "./BitField"; | ||||
| import { GuildDocument, GuildModel } from "../models/Guild"; | ||||
| 
 | ||||
| var HTTPError: typeof Error; | ||||
| 
 | ||||
| try { | ||||
| 	HTTPError = require("lambert-server").HTTPError; | ||||
| } catch (e) { | ||||
| 	HTTPError = Error; | ||||
| } | ||||
| 
 | ||||
| export type PermissionResolvable = bigint | number | Permissions | PermissionResolvable[] | PermissionString; | ||||
| 
 | ||||
| type PermissionString = | ||||
| @ -101,10 +109,9 @@ export class Permissions extends BitField { | ||||
| 	 * Checks whether the bitfield has a permission, or multiple permissions, but throws an Error if user fails to match auth criteria. | ||||
| 	 */ | ||||
| 	hasThrow(permission: PermissionResolvable, checkAdmin = true) { | ||||
| 		if ((checkAdmin && super.has(Permissions.FLAGS.ADMINISTRATOR)) || super.has(permission)) { | ||||
| 			return true; | ||||
| 		} | ||||
| 		throw new Error(`User doesn't fulfill the following permission criteria: ${permission}`); | ||||
| 		if (this.has(permission)) return true; | ||||
| 		// @ts-ignore
 | ||||
| 		throw new HTTPError(`You are missing the following permissions ${permission}`, 403); | ||||
| 	} | ||||
| 
 | ||||
| 	static channelPermission(overwrites: ChannelPermissionOverwrite[], init?: bigint) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Flam3rboy
						Flam3rboy