permission-parser.ts 593 B

1234567891011121314151617181920212223242526272829
  1. import type { IChannelOptionalId } from '../interfaces/channel';
  2. export const permissionParser = (permissionForCommand: boolean | string[], channel: IChannelOptionalId): boolean => {
  3. if (permissionForCommand == null) {
  4. return false;
  5. }
  6. if (permissionForCommand === true) {
  7. return true;
  8. }
  9. if (Array.isArray(permissionForCommand)) {
  10. if (permissionForCommand.includes(channel.name)) {
  11. return true;
  12. }
  13. if (channel.id == null) {
  14. return false;
  15. }
  16. if (permissionForCommand.includes(channel.id)) {
  17. return true;
  18. }
  19. }
  20. return false;
  21. };