Add auto-upgrade-in-apps (#23001)

We need to auto upgrade application, lets add this column in application
entity, and add an admin button to autoupgrade all applications to
latest app registrration version manually

<img width="1131" height="372" alt="image"
src="https://github.com/user-attachments/assets/4e755abc-38ad-4895-a2e8-d55ee1948ac2"
/>

<img width="906" height="533" alt="image"
src="https://github.com/user-attachments/assets/ce002057-0341-4581-bf9a-66ac2bd84a9b"
/>
This commit is contained in:
martmull
2026-07-20 16:12:44 +02:00
committed by GitHub
parent 5bf3472eb9
commit baa84bb2e0
36 changed files with 561 additions and 72 deletions
@@ -22,6 +22,7 @@ export const APPLICATION_FRAGMENT = gql`
logoUrl
}
canBeUninstalled
autoUpgrade
defaultRoleId
settingsCustomTabFrontComponentId
availablePackages
@@ -8,6 +8,7 @@ export const CUSTOM_WORKSPACE_APPLICATION_MOCK = {
commandMenuItems: [],
availablePackages: {},
canBeUninstalled: false,
autoUpgrade: false,
description: 'workpace custom application',
name: 'custom',
objects: [],
@@ -0,0 +1,11 @@
import { gql } from '@apollo/client';
export const UPGRADE_REGISTRATION_APPLICATIONS = gql`
mutation UpgradeRegistrationApplications(
$applicationRegistrationId: String!
) {
upgradeRegistrationApplications(
applicationRegistrationId: $applicationRegistrationId
)
}
`;
@@ -0,0 +1,10 @@
import gql from 'graphql-tag';
export const UPDATE_APPLICATION = gql`
mutation UpdateApplication($id: UUID!, $input: UpdateApplicationInput!) {
updateApplication(id: $id, input: $input) {
id
autoUpgrade
}
}
`;
@@ -30,6 +30,7 @@ describe('useComputeObjectAndFieldsContentForApplication', () => {
name: 'Test App',
logo: null,
canBeUninstalled: true,
autoUpgrade: false,
availablePackages: {},
applicationVariables: [],
agents: [],
@@ -60,6 +61,7 @@ describe('useComputeObjectAndFieldsContentForApplication', () => {
name: 'Test App',
logo: null,
canBeUninstalled: true,
autoUpgrade: false,
availablePackages: {},
applicationVariables: [],
agents: [],
@@ -88,6 +90,7 @@ describe('useComputeObjectAndFieldsContentForApplication', () => {
name: 'Test App',
logo: null,
canBeUninstalled: true,
autoUpgrade: false,
availablePackages: {},
applicationVariables: [],
agents: [],
@@ -117,6 +120,7 @@ describe('useComputeObjectAndFieldsContentForApplication', () => {
name: 'Test App',
logo: null,
canBeUninstalled: true,
autoUpgrade: false,
availablePackages: {},
applicationVariables: [],
agents: [],
@@ -274,6 +278,7 @@ describe('useComputeObjectAndFieldsContentForApplication', () => {
name: 'Test App',
logo: null,
canBeUninstalled: true,
autoUpgrade: false,
availablePackages: {},
applicationVariables: [],
agents: [],