FunnyQ / odd-policy_user_model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

odd PolicyUserModel

Usage

// policy_user_models/application_policy_user_model.js
import PolicyUserModelBase from "odd-policy_user_model";

class ApplicationPolicyUserModel extends PolicyUserModelBase {
  constructor(jwtPayload) {
    super(jwtPayload);
  }

  isGuest() {
    return this.role === "guest";
  }

  isOwner() {
    return this.type === "Admin" && this.role === "owner";
  }

  isManager() {
    return this.type === "Admin" && this.role === "manager";
  }

  isMember() {
    return this.type === "Admin" && this.role === "member";
  }
}

// policy_user_models/admin.js
class Admin extends ApplicationPolicyUserModel {
  constructor(jwtPayload) {
    super(jwtPayload);
  }
}

// policy_user_models/member.js
class Member extends ApplicationPolicyUserModel {
  constructor(jwtPayload) {
    super(jwtPayload);
  }
}

// policy_user_models/guest.js
class Guest extends ApplicationPolicyUserModel {
  constructor(jwtPayload) {
    super(jwtPayload);
  }
}

About

License:MIT License


Languages

Language:JavaScript 100.0%