[Apps] Apps marketplace (first draft) (#17562)
https://github.com/user-attachments/assets/c4e63edb-6e98-44bc-841f-ee110ae712d4 How it works - `manifest.json` files are now committed when apps are published to our repo - to display available apps, from the server, we read into our github repo, using a pod-scoped cache - feature flagged - app installation will be behind permission gate MARKETPLACE_APPS Limitations and what is yet to develop - content and settings tabs - installed apps tab - app installation - test and potentially fix reading from .manifest.json once [Reshape manifest structure](https://github.com/twentyhq/core-team-issues/issues/2183) is done. additional work is expected on assets notably. (couldnt properly do it here as manifest.json will only be committed after this pr) - we only read in community/ folder for now - we may want tochange that - the cache is rather artisanal for now and scoped by pod - we may want to change that
This commit is contained in:
@@ -1414,6 +1414,7 @@ export enum FeatureFlagKey {
|
||||
IS_FILES_FIELD_ENABLED = 'IS_FILES_FIELD_ENABLED',
|
||||
IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED',
|
||||
IS_JUNCTION_RELATIONS_ENABLED = 'IS_JUNCTION_RELATIONS_ENABLED',
|
||||
IS_MARKETPLACE_ENABLED = 'IS_MARKETPLACE_ENABLED',
|
||||
IS_NAVIGATION_MENU_ITEM_ENABLED = 'IS_NAVIGATION_MENU_ITEM_ENABLED',
|
||||
IS_PUBLIC_DOMAIN_ENABLED = 'IS_PUBLIC_DOMAIN_ENABLED',
|
||||
IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED = 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED',
|
||||
@@ -1978,6 +1979,23 @@ export type LoginTokenOutput = {
|
||||
loginToken: AuthToken;
|
||||
};
|
||||
|
||||
export type MarketplaceApp = {
|
||||
__typename?: 'MarketplaceApp';
|
||||
aboutDescription: Scalars['String'];
|
||||
author: Scalars['String'];
|
||||
category: Scalars['String'];
|
||||
description: Scalars['String'];
|
||||
icon: Scalars['String'];
|
||||
id: Scalars['String'];
|
||||
logo?: Maybe<Scalars['String']>;
|
||||
name: Scalars['String'];
|
||||
providers: Array<Scalars['String']>;
|
||||
screenshots: Array<Scalars['String']>;
|
||||
termsUrl?: Maybe<Scalars['String']>;
|
||||
version: Scalars['String'];
|
||||
websiteUrl?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export enum MessageChannelVisibility {
|
||||
METADATA = 'METADATA',
|
||||
SHARE_EVERYTHING = 'SHARE_EVERYTHING',
|
||||
@@ -2106,6 +2124,7 @@ export type Mutation = {
|
||||
initiateOTPProvisioning: InitiateTwoFactorAuthenticationProvisioningOutput;
|
||||
initiateOTPProvisioningForAuthenticatedUser: InitiateTwoFactorAuthenticationProvisioningOutput;
|
||||
installApplication: Scalars['Boolean'];
|
||||
installMarketplaceApp: Scalars['Boolean'];
|
||||
removeQueryFromEventStream: Scalars['Boolean'];
|
||||
removeRoleFromAgent: Scalars['Boolean'];
|
||||
renewToken: AuthTokens;
|
||||
@@ -3415,6 +3434,7 @@ export enum PermissionFlagType {
|
||||
IMPERSONATE = 'IMPERSONATE',
|
||||
IMPORT_CSV = 'IMPORT_CSV',
|
||||
LAYOUTS = 'LAYOUTS',
|
||||
MARKETPLACE_APPS = 'MARKETPLACE_APPS',
|
||||
PROFILE_INFORMATION = 'PROFILE_INFORMATION',
|
||||
ROLES = 'ROLES',
|
||||
SECURITY = 'SECURITY',
|
||||
@@ -3538,6 +3558,7 @@ export type Query = {
|
||||
findManyAgents: Array<Agent>;
|
||||
findManyApplications: Array<Application>;
|
||||
findManyLogicFunctions: Array<LogicFunction>;
|
||||
findManyMarketplaceApps: Array<MarketplaceApp>;
|
||||
findManyPublicDomains: Array<PublicDomain>;
|
||||
findOneAgent: Agent;
|
||||
findOneApplication: Application;
|
||||
|
||||
Reference in New Issue
Block a user