mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat(editor): Add cloud ExecutionsUsage and API blocking using licenses (#6159)
* Add ExecutionsUsage component * set $sidebar-expanded-width back to 200px * add days using interpolation * Rename PlanData type to CloudPlanData * Rename Metadata type to PlanMetadata * Make prop block in the update button * Use variable in line-height * Remove progressBarSection class * fix trial expiration calculation * mock expirationDate and fix issue with days left * Remove unnecesary property from class .container * inject component data via props * Check for plan data during app mounting and keep data in the store * Remove mounted hook * redirect when upgrade plan is clicked * Remove computed properties * Remove instance property as it's not needed anymore * Flatten plan object * remove console.log * Add all cloud types within its own namespace * keep redirection inside component * get computed properties back * Improve polling logic * Move cloudData to its own store * Remove commented interfaces * remove cloudPlan from user store * fix imports * update logic for userIsTrialing method * centralize userIsTrialing method * redirect to production change plan page always * Call staging or production cloud api depending on base URL * remove setting store form ExecutionUsage.vue * fix linting issue * Add trial group to PlanMetadata group * Move helpers into the store * make staging url check more specific * make cloud state nullable * fix linting issue * swap mockup date for endpoint * Make getCurrentPlan async * asas * Improvements * small improvements * chore: resolve conflicts * make sure there is data before calculating trial expiration * Fix issue with component not loading on first page load * type safety improvements * apply component ui feedback * fix linting issue * chore: clean up unnecessary change from merge conflict * feat: Block api feature using licenses, show notice page for trial cloud users (#6187) * rename planSpec to plan * Remove instance property as it's not needed anymore * Flatten plan object * remove console.log * feat: disable api using license * feat: add api page * chore: resolve conflicts * chore: resolve conflicts * feat: update and refactor a bit * fix: update endpoints * fix: update endpoints * fix: use host * feat: update copy * fix linting issues --------- Co-authored-by: ricardo <ricardoespinoza105@gmail.com> * add pluralization to days left text --------- Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com>
This commit is contained in:
@@ -1450,3 +1450,42 @@ export type VersionControlPreferences = {
|
||||
branchColor: string;
|
||||
publicKey?: string;
|
||||
};
|
||||
|
||||
export declare namespace Cloud {
|
||||
export interface PlanData {
|
||||
planId: number;
|
||||
monthlyExecutionsLimit: number;
|
||||
activeWorkflowsLimit: number;
|
||||
credentialsLimit: number;
|
||||
isActive: boolean;
|
||||
displayName: string;
|
||||
expirationDate: string;
|
||||
metadata: PlanMetadata;
|
||||
}
|
||||
|
||||
export interface PlanMetadata {
|
||||
version: 'v1';
|
||||
group: 'opt-out' | 'opt-in' | 'trial';
|
||||
slug: 'pro-1' | 'pro-2' | 'starter' | 'trial-1';
|
||||
trial?: Trial;
|
||||
}
|
||||
|
||||
interface Trial {
|
||||
length: number;
|
||||
gracePeriod: number;
|
||||
}
|
||||
}
|
||||
|
||||
export interface CloudPlanState {
|
||||
data: Cloud.PlanData | null;
|
||||
usage: InstanceUsage | null;
|
||||
loadingPlan: boolean;
|
||||
}
|
||||
|
||||
export interface InstanceUsage {
|
||||
timeframe?: string;
|
||||
executions: number;
|
||||
activeWorkflows: number;
|
||||
}
|
||||
|
||||
export type CloudPlanAndUsageData = Cloud.PlanData & { usage: InstanceUsage };
|
||||
|
||||
Reference in New Issue
Block a user