@cobuildlab/fisherman-permissions
v0.1.6
Published
<!-- PROJECT LOGO --> <br /> <p align="center">
Downloads
9
Readme
Table of Contents
Getting Started
Prerequisites
To run the permission script, you need to have typescript installed
- npm
npm install typescript --save-dev
Installation for run locally the permissions's script
- Clone the repo
git clone https://github.com/cobuildlab/fisherman-permissions.git
- set environment variables
GRAPHQL_TOKEN= 8base admin token
WORKSPACE_ENDPOINT= 8base workspace end point
USER_ROLE_ID = to which the permissions will be applied
- Install NPM packages
npm install
- run the permissions script
npm run permissions
Installation for use in the fisherman's project
- Install the project using npm
npm i @cobuildlab/fisherman-permissions
Documentation
types
interface Company {
name?: string;
id?: string;
}
interface UserIdRelation {
user: {
id: string;
};
}
interface StripePlan {
price?: number;
name?: string;
stripeID?: string;
stripePlan?: string;
priceID?: string;
type?: string;
currency?: string;
planLevel: string;
id?: string;
}
interface StandUpConfig {
storedStandUp: number;
firsLevelLimit: number;
secondLevelLimit: number;
}
interface Subscription {
expireDate?: string;
stripePlanRelation?: StripePlan;
status?: string;
start_date?: string;
companyRelation?: Company;
stripeSubscriptionID?: string;
cancelAtPeriodEnd?: string;
id: string;
}
isCompanyManager
check if the current user is a manager of the company
isCompanyManager(managers: Array<UserIdRelation>, userID: string): [boolean, string?]
isCompanyAdmin
check if the current user is a admin of the company
isCompanyAdmin(admins: Array<UserIdRelation>, userID: string): [boolean, string?]
isValidPlanLevel
check if the plan is valid
isValidPlanLevel(planLevel: string): [boolean]
isPlanLevel0
check if the current plan is level 0
isPlanLevel0(plan: StripePlan): [boolean, string?]
isPlanLevel1
check if the current plan is level 1
isPlanLevel1(plan: StripePlan): [boolean, string?]
isPlanLevel2
check if the current plan is level 1
isPlanLevel2(plan: StripePlan): [boolean, string?]
isPlanLevel2
check if the current company can create more standUp this function is used in
fisherman-functions
canCreateMoreStandUp(plan: StripePlan, config: StandUpConfig): [boolean, string?]
isActiveSubscription
check if the current company has an active
subscription
isActiveSubscription(subscriptions: SubcriptionStatus): [boolean, string?]
isCanceledSubscription
check if the current company has a subscription canceled
isCanceledSubscription(subscriptions: SubcriptionStatus): [boolean, string?]
isUnpaidSubscription
check if the current company has an un-paid
status in the subscription
isUnpaidSubscription(subscriptions: SubcriptionStatus): [boolean, string?]
isPastDueSubscription
check if the current company has an past-due
status in the subscription
isPastDueSubscription(subscriptions: SubcriptionStatus): [boolean, string?]
constants
const PLANLEVEL0 = 'LEVEL_0';
const PLANLEVEL1 = 'LEVEL_1';
const PLANLEVEL2 = 'LEVEL_2';
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request