permission-parser.ts 598 B

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