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:
@@ -62,7 +62,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<n8n-action-box
|
||||
v-else-if="mounted"
|
||||
v-else-if="isTrialing"
|
||||
:heading="$locale.baseText('settings.api.trial.upgradePlan.title')"
|
||||
:description="$locale.baseText('settings.api.trial.upgradePlan.description')"
|
||||
:buttonText="$locale.baseText('settings.api.trial.upgradePlan.cta')"
|
||||
@click="onUpgrade"
|
||||
/>
|
||||
<n8n-action-box
|
||||
v-else-if="mounted && !isLoadingCloudPlans"
|
||||
:buttonText="
|
||||
$locale.baseText(
|
||||
loading ? 'settings.api.create.button.loading' : 'settings.api.create.button',
|
||||
@@ -85,6 +92,8 @@ import { useSettingsStore } from '@/stores/settings.store';
|
||||
import { useRootStore } from '@/stores/n8nRoot.store';
|
||||
import { useUsersStore } from '@/stores/users.store';
|
||||
import { DOCS_DOMAIN, MODAL_CONFIRM } from '@/constants';
|
||||
import { useCloudPlanStore } from '@/stores';
|
||||
import { CLOUD_CHANGE_PLAN_PAGE } from '@/constants';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'SettingsApiView',
|
||||
@@ -117,12 +126,21 @@ export default defineComponent({
|
||||
: `https://${DOCS_DOMAIN}/api/api-reference/`;
|
||||
},
|
||||
computed: {
|
||||
...mapStores(useRootStore, useSettingsStore, useUsersStore),
|
||||
...mapStores(useRootStore, useSettingsStore, useUsersStore, useCloudPlanStore),
|
||||
currentUser(): IUser | null {
|
||||
return this.usersStore.currentUser;
|
||||
},
|
||||
isTrialing(): boolean {
|
||||
return this.cloudPlanStore.userIsTrialing;
|
||||
},
|
||||
isLoadingCloudPlans(): boolean {
|
||||
return this.cloudPlanStore.state.loadingPlan;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
onUpgrade() {
|
||||
location.href = CLOUD_CHANGE_PLAN_PAGE;
|
||||
},
|
||||
async showDeleteModal() {
|
||||
const confirmed = await this.confirm(
|
||||
this.$locale.baseText('settings.api.delete.description'),
|
||||
|
||||
Reference in New Issue
Block a user