From 19d371e8ea2400de8fc882b4f4caf40c7627c472 Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Thu, 26 Aug 2021 17:07:08 +0300 Subject: [PATCH] added remove function for permissions. --- permissions.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/permissions.go b/permissions.go index 3285424..3e89070 100644 --- a/permissions.go +++ b/permissions.go @@ -74,6 +74,17 @@ func (p *Permissions) Add(perms ...string) *Permissions { return p } +// Remove permission(s). +func (p *Permissions) Remove(perms ...string) *Permissions { + for _, perm := range perms { + if value, ok := p.Permissions[perm]; ok { + p.Bitvise = p.Bitvise - value + } + } + + return p +} + // Calculate perms and return unsigned int. func (p Permissions) Calculate(perms ...string) uint { var total uint