@cobuildlab/fisherman-permissions
v0.1.6
Published
<!-- PROJECT LOGO --> <br /> <p align="center">
Downloads
24
Keywords
Readme
Table of Contents
Getting Started
Prerequisites
To run the permission script, you need to have typescript installed
- npm
npm install typescript --save-devInstallation 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 permissionsInstallation for use in the fisherman's project
- Install the project using npm
npm i @cobuildlab/fisherman-permissionsDocumentation
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
