diff --git a/cypress/e2e/builder/item/settings/itemSettings.cy.ts b/cypress/e2e/builder/item/settings/itemSettings.cy.ts
index 348094831..3b92dbadd 100644
--- a/cypress/e2e/builder/item/settings/itemSettings.cy.ts
+++ b/cypress/e2e/builder/item/settings/itemSettings.cy.ts
@@ -442,6 +442,55 @@ describe('Item Settings', () => {
);
});
});
+
+ it('convert to capsule', function () {
+ const item = PackedFolderItemFactory();
+ cy.intercept('PATCH', `/api/items/folders/${item.id}/to-capsule`).as(
+ 'switchToCapsule',
+ );
+ cy.setUpApi({ items: [item] });
+ // enable preview by default
+ cy.visit(buildItemSettingsPath(item.id), {
+ onBeforeLoad: function (window) {
+ window.localStorage.setItem('graasp-preview', 'enabled');
+ },
+ });
+ cy.get('[aria-label="Convert to Capsule"]').click();
+ cy.get('[aria-label="Confirm converting to Capsule"]').click();
+ cy.wait('@switchToCapsule');
+ });
+
+ it('convert to capsule not visible outside of preview', function () {
+ const item = PackedFolderItemFactory();
+ cy.intercept('PATCH', `/api/items/folders/${item.id}/to-capsule`).as(
+ 'switchToCapsule',
+ );
+ cy.setUpApi({ items: [item] });
+ cy.visit(buildItemSettingsPath(item.id));
+ cy.get(`#${ITEM_PANEL_TABLE_ID}`).should('be.visible');
+ cy.get('[aria-label="Confirm converting to Capsule"]').should(
+ 'not.exist',
+ );
+ });
+
+ it('convert to folder', function () {
+ const item = PackedFolderItemFactory({
+ extra: { folder: { isCapsule: true } },
+ });
+ cy.intercept('PATCH', `/api/items/capsules/${item.id}/to-folder`).as(
+ 'switchToFolder',
+ );
+ cy.setUpApi({ items: [item] });
+ // enable preview by default
+ cy.visit(buildItemSettingsPath(item.id), {
+ onBeforeLoad: function (window) {
+ window.localStorage.setItem('graasp-preview', 'enabled');
+ },
+ });
+ cy.get('[aria-label="Convert to Folder"]').click();
+ cy.get('[aria-label="Confirm converting to Folder"]').click();
+ cy.wait('@switchToFolder');
+ });
});
describe('in item menu', () => {
diff --git a/package.json b/package.json
index 9cb6ff378..4d40d904a 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"@emotion/react": "11.14.0",
"@emotion/styled": "11.14.1",
"@fontsource-variable/nunito": "5.2.7",
- "@graasp/sdk": "5.17.0",
+ "@graasp/sdk": "5.18.0",
"@graasp/stylis-plugin-rtl": "2.2.0",
"@lexical/link": "0.33.1",
"@lexical/react": "0.33.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 43c0f0564..9f7306f80 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -27,8 +27,8 @@ importers:
specifier: 5.2.7
version: 5.2.7
'@graasp/sdk':
- specifier: 5.17.0
- version: 5.17.0(date-fns@4.1.0)(uuid@11.1.0)
+ specifier: 5.18.0
+ version: 5.18.0(date-fns@4.1.0)(uuid@11.1.0)
'@graasp/stylis-plugin-rtl':
specifier: 2.2.0
version: 2.2.0(stylis@4.3.6)
@@ -1594,8 +1594,8 @@ packages:
'@fontsource-variable/nunito@5.2.7':
resolution: {integrity: sha512-2N8QhatkyKgSUbAGZO2FYLioxA32+RyI1EplVLawbpkGjUeui9Qg9VMrpkCaik1ydjFjfLV+kzQ0cGEsMrMenQ==}
- '@graasp/sdk@5.17.0':
- resolution: {integrity: sha512-9r9c7hN0UHK3boJpCZBFIaK+C2ivviTehWbkKZZ1NsB8lULT3ERaymgZXhINsxICXBTguVP001+Q+7WxehPHNQ==}
+ '@graasp/sdk@5.18.0':
+ resolution: {integrity: sha512-pTTALeQSUCudleKYH6uTnmORzZEGCDP9PPJVW+rBvdhbV9jvtUamg1PGp8+Gr0AHwTIgbCZ44LNPHwzUNzjjgA==}
peerDependencies:
date-fns: ^4
uuid: ^11.0.0
@@ -8087,7 +8087,7 @@ snapshots:
'@fontsource-variable/nunito@5.2.7': {}
- '@graasp/sdk@5.17.0(date-fns@4.1.0)(uuid@11.1.0)':
+ '@graasp/sdk@5.18.0(date-fns@4.1.0)(uuid@11.1.0)':
dependencies:
'@faker-js/faker': 9.9.0
date-fns: 4.1.0
diff --git a/src/locales/en/builder.json b/src/locales/en/builder.json
index b7dc0c500..a3a0d35a1 100644
--- a/src/locales/en/builder.json
+++ b/src/locales/en/builder.json
@@ -550,5 +550,51 @@
"EDIT_MESSAGE_ERROR": "An error happened when editing the message.",
"DELETE_MESSAGE_ERROR": "An error happened when deleting the message.",
"CLEAR_ERROR": "An error happened when clearing the chat."
- }
+ },
+ "CONVERT_TO_CAPSULE_MODAL_TITLE": "Convert to Capsule",
+ "CONVERT_TO_CAPSULE_MODAL_CONTENT": "Converting a Folder into a Capsule preserves all of its existing content and data. Capsules are ideal for organizing a complete learning unit. If you find that a Capsule doesn't fit your needs, you can easily revert to a Folder from the settings panel at any time.",
+ "CONVERT_TO_CAPSULE_MODAL_CONTENT_DETAILS": {
+ "TITLE": "Why use Capsules? (Coming soon)",
+ "SIMPLIFIED_PERMISSIONS": {
+ "TITLE": "Simplified permissions",
+ "DESCRIPTION": "Manage access permission only at the Capsule level."
+ },
+ "INLINE_EDITOR": {
+ "TITLE": "Inline editor",
+ "DESCRIPTION": "Create and edit content directly within the Capsule for a faster, smoother workflow."
+ },
+ "CLEAR_ROLES_AND_VIEWS": {
+ "TITLE": "Clear roles and views",
+ "DESCRIPTION": "Role-based views for a focused learning experience:",
+ "READERS": "Readers see only the Player view.",
+ "WRITERS_AND_ADMINS": "Writers and admins have access to the Builder view for content creation and management."
+ },
+ "ACTIVITY_UNITY": {
+ "TITLE": "Actvity unity",
+ "DESCRIPTION": "The Player view presents the complete content at once; partial playback isn’t possible."
+ }
+ },
+ "CONVERT_TO_CAPSULE_MODAL_CONFIRM_BUTTON_ARIA_LABEL": "Confirm converting to Capsule",
+ "CONVERT_TO_CAPSULE_MODAL_CONFIRM_BUTTON": "Convert to Capsule",
+ "CONVERT_TO_CAPSULE_SUCCESS_MESSAGE": "The item has been successfully converted to a Capsule.",
+ "CONVERT_TO_CAPSULE_ERROR_MESSAGE": "An error occurred while converting the item to a Capsule. Please try again later.",
+ "CONVERT_TO_FOLDER_MODAL_TITLE": "Convert to Folder",
+ "CONVERT_TO_FOLDER_MODAL_CONTENT": "Converting a Capsule into a Folder preserves all of its existing content and data. Folders are best suited for organizing and managing data. If a Folder doesn't meet your needs, you can easily revert to a Folder from the settings panel at any time.",
+ "CONVERT_TO_FOLDER_MODAL_CONTENT_DETAILS": {
+ "TITLE": "Why use Folders?",
+ "FLEXIBLE_PERMISSIONS": {
+ "TITLE": "Flexible permissions",
+ "DESCRIPTION": "Manage access rights at every level, giving you more granular control."
+ },
+ "FOLDER_EDITOR": {
+ "TITLE": "Folder editor",
+ "DESCRIPTION": "Content is displayed as a file structure for easier management."
+ },
+ "EXPANDED_VISIBILITY": {
+ "TITLE": "Expanded visibility",
+ "DESCRIPTION": "Readers can access both the Player view and the Builder view."
+ }
+ },
+ "CONVERT_TO_FOLDER_MODAL_CONFIRM_BUTTON_ARIA_LABEL": "Confirm converting to Folder",
+ "CONVERT_TO_FOLDER_MODAL_CONFIRM_BUTTON": "Convert to Folder"
}
diff --git a/src/locales/en/enums.json b/src/locales/en/enums.json
index e375f3b0f..8b2a18403 100644
--- a/src/locales/en/enums.json
+++ b/src/locales/en/enums.json
@@ -4,6 +4,7 @@
"admin": "admin",
"app": "app",
+ "capsule": "capsule",
"document": "document",
"embeddedLink": "link",
"file": "file",
diff --git a/src/locales/fr/enums.json b/src/locales/fr/enums.json
index 1006c6a0b..ca3fdd499 100644
--- a/src/locales/fr/enums.json
+++ b/src/locales/fr/enums.json
@@ -3,6 +3,7 @@
"write": "écriture",
"admin": "administration",
"app": "application",
+ "capsule": "capsule",
"document": "document",
"embeddedLink": "lien",
"file": "fichier",
diff --git a/src/modules/builder/components/item/settings/ConvertToCapsuleButton.tsx b/src/modules/builder/components/item/settings/ConvertToCapsuleButton.tsx
new file mode 100644
index 000000000..bf59d0525
--- /dev/null
+++ b/src/modules/builder/components/item/settings/ConvertToCapsuleButton.tsx
@@ -0,0 +1,139 @@
+import { useTranslation } from 'react-i18next';
+
+import { DialogActions, DialogContent } from '@mui/material';
+import Button from '@mui/material/Button';
+import Dialog from '@mui/material/Dialog';
+import DialogTitle from '@mui/material/DialogTitle';
+
+import { getParentFromPath } from '@graasp/sdk';
+
+import { useMutation, useQueryClient } from '@tanstack/react-query';
+
+import { NS } from '@/config/constants';
+import { convertFolderToCapsuleMutation } from '@/openapi/client/@tanstack/react-query.gen';
+import { getKeyForParentId, itemKeys } from '@/query/keys';
+
+import useModalStatus from '~builder/components/hooks/useModalStatus';
+
+export function ConvertToCapsuleButton({
+ itemId,
+ itemPath,
+}: Readonly<{ itemId: string; itemPath: string }>) {
+ const { t } = useTranslation(NS.Builder);
+ const { t: translateCommon } = useTranslation(NS.Common);
+ const { isOpen, openModal, closeModal } = useModalStatus();
+
+ const queryClient = useQueryClient();
+ const { mutate: switchToCapsule } = useMutation({
+ ...convertFolderToCapsuleMutation(),
+ onSuccess: async () => {
+ const parentKey = getKeyForParentId(getParentFromPath(itemPath));
+ // refetchOnMount is false by default, so we need to remove the queries for a correct refetch
+ queryClient.removeQueries({
+ queryKey: parentKey,
+ });
+ await queryClient.invalidateQueries({
+ queryKey: itemKeys.single(itemId).content,
+ });
+ },
+ });
+
+ const convert = () => {
+ switchToCapsule({
+ path: { id: itemId },
+ });
+ closeModal();
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/modules/builder/components/item/settings/ConvertToFolderButton.tsx b/src/modules/builder/components/item/settings/ConvertToFolderButton.tsx
new file mode 100644
index 000000000..90433743a
--- /dev/null
+++ b/src/modules/builder/components/item/settings/ConvertToFolderButton.tsx
@@ -0,0 +1,119 @@
+import { useTranslation } from 'react-i18next';
+
+import { DialogActions, DialogContent } from '@mui/material';
+import Button from '@mui/material/Button';
+import Dialog from '@mui/material/Dialog';
+import DialogTitle from '@mui/material/DialogTitle';
+
+import { getParentFromPath } from '@graasp/sdk';
+
+import { useMutation, useQueryClient } from '@tanstack/react-query';
+
+import { NS } from '@/config/constants';
+import { convertCapsuleToFolderMutation } from '@/openapi/client/@tanstack/react-query.gen';
+import { getKeyForParentId, itemKeys } from '@/query/keys';
+
+import useModalStatus from '~builder/components/hooks/useModalStatus';
+
+export function ConvertToFolderButton({
+ itemId,
+ itemPath,
+}: Readonly<{ itemId: string; itemPath: string }>) {
+ const { t } = useTranslation(NS.Builder);
+ const { t: translateCommon } = useTranslation(NS.Common);
+ const { isOpen, openModal, closeModal } = useModalStatus();
+ const queryClient = useQueryClient();
+ const { mutate: switchToFolder } = useMutation({
+ ...convertCapsuleToFolderMutation(),
+ onSuccess: async () => {
+ const parentKey = getKeyForParentId(getParentFromPath(itemPath));
+ // refetchOnMount is false by default, so we need to remove the queries for a correct refetch
+ queryClient.removeQueries({
+ queryKey: parentKey,
+ });
+ await queryClient.invalidateQueries({
+ queryKey: itemKeys.single(itemId).content,
+ });
+ },
+ });
+
+ const convert = () => {
+ switchToFolder({
+ path: { id: itemId },
+ });
+ closeModal();
+ };
+
+ return (
+ <>
+
+
+ >
+ );
+}
diff --git a/src/modules/builder/components/item/settings/ItemMetadataContent.tsx b/src/modules/builder/components/item/settings/ItemMetadataContent.tsx
index 2ace6ecc6..cc6d7d363 100644
--- a/src/modules/builder/components/item/settings/ItemMetadataContent.tsx
+++ b/src/modules/builder/components/item/settings/ItemMetadataContent.tsx
@@ -14,6 +14,7 @@ import {
formatDate,
formatFileSize,
getFileExtra,
+ isCapsule,
} from '@graasp/sdk';
import { NS } from '@/config/constants';
@@ -21,8 +22,11 @@ import { hooks } from '@/config/queryClient';
import { ITEM_PANEL_NAME_ID, ITEM_PANEL_TABLE_ID } from '@/config/selectors';
import { useOutletContext } from '~builder/contexts/OutletContext';
+import { Preview } from '~landing/preview/PreviewModeContext';
import { BUILDER } from '../../../langs';
+import { ConvertToCapsuleButton } from './ConvertToCapsuleButton';
+import { ConvertToFolderButton } from './ConvertToFolderButton';
import LanguageSelect from './LanguageSelect';
const { useMember } = hooks;
@@ -76,7 +80,23 @@ const ItemMetadataContent = (): JSX.Element => {
{translateBuilder(BUILDER.ITEM_METADATA_TYPE_TITLE)}
- {mimetype ?? item.type}
+
+ {mimetype ?? item.type}
+
+ {item.type === ItemType.FOLDER &&
+ (isCapsule(item) ? (
+
+ ) : (
+
+ ))}
+
+
{size && (
diff --git a/src/modules/builder/components/table/ItemCard.tsx b/src/modules/builder/components/table/ItemCard.tsx
index 7b8c23011..b9415acf2 100644
--- a/src/modules/builder/components/table/ItemCard.tsx
+++ b/src/modules/builder/components/table/ItemCard.tsx
@@ -8,6 +8,7 @@ import {
ItemType,
formatDate,
getLinkThumbnailUrl,
+ isCapsule,
} from '@graasp/sdk';
import { NS } from '@/config/constants';
@@ -43,6 +44,7 @@ const ItemCard = ({
CardLink,
}: Props): JSX.Element => {
const { t: translateCommon, i18n } = useTranslation(NS.Common);
+ const { t: translateEnum } = useTranslation(NS.Enums);
const dateColumnFormatter = (value: string) =>
formatDate(value, {
@@ -50,6 +52,9 @@ const ItemCard = ({
defaultValue: translateCommon('UNKNOWN_DATE'),
});
+ const itemType =
+ item.type === ItemType.FOLDER && isCapsule(item) ? 'capsule' : item.type;
+
const content = (
- {item.type}
+ {translateEnum(itemType)}
= [
Pick & {
@@ -1760,6 +1760,23 @@ export const updateFolderMutation = (options?: Partial
return mutationOptions;
};
+/**
+ * Switch folder item to capsule
+ */
+export const convertFolderToCapsuleMutation = (options?: Partial>): UseMutationOptions> => {
+ const mutationOptions: UseMutationOptions> = {
+ mutationFn: async (fnOptions) => {
+ const { data } = await convertFolderToCapsule({
+ ...options,
+ ...fnOptions,
+ throwOnError: true
+ });
+ return data;
+ }
+ };
+ return mutationOptions;
+};
+
/**
* Create a folder with a thumbnail
* Create a folder with a thumbnail. The data is sent using a form-data.
@@ -1778,6 +1795,41 @@ export const createFolderWithThumbnailMutation = (options?: Partial>): UseMutationOptions> => {
+ const mutationOptions: UseMutationOptions> = {
+ mutationFn: async (fnOptions) => {
+ const { data } = await createCapsule({
+ ...options,
+ ...fnOptions,
+ throwOnError: true
+ });
+ return data;
+ }
+ };
+ return mutationOptions;
+};
+
+/**
+ * Switch capsule item to folder
+ */
+export const convertCapsuleToFolderMutation = (options?: Partial>): UseMutationOptions> => {
+ const mutationOptions: UseMutationOptions> = {
+ mutationFn: async (fnOptions) => {
+ const { data } = await convertCapsuleToFolder({
+ ...options,
+ ...fnOptions,
+ throwOnError: true
+ });
+ return data;
+ }
+ };
+ return mutationOptions;
+};
+
/**
* Create app
* Create app.
diff --git a/src/openapi/client/sdk.gen.ts b/src/openapi/client/sdk.gen.ts
index ff77b2f2f..c6726d5a1 100644
--- a/src/openapi/client/sdk.gen.ts
+++ b/src/openapi/client/sdk.gen.ts
@@ -2,7 +2,7 @@
import type { Client, Options as Options2, TDataShape } from './client';
import { client } from './client.gen';
-import type { AuthenticateData, AuthenticateErrors, ClearAllMentionsData, ClearAllMentionsErrors, ClearAllMentionsResponses, ClearChatMessageData, ClearChatMessageErrors, ClearChatMessageResponses, CollectionSearchData, CollectionSearchErrors, CollectionSearchResponses, CopyManyItemsData, CopyManyItemsErrors, CopyManyItemsResponses, CreateAppActionData, CreateAppActionErrors, CreateAppActionResponses, CreateAppData, CreateAppDataData, CreateAppDataErrors, CreateAppDataFileData, CreateAppDataFileErrors, CreateAppDataFileResponses, CreateAppDataResponses, CreateAppErrors, CreateAppResponses, CreateAppSettingData, CreateAppSettingErrors, CreateAppSettingFileData, CreateAppSettingFileErrors, CreateAppSettingFileResponses, CreateAppSettingResponses, CreateBookmarkData, CreateBookmarkErrors, CreateBookmarkResponses, CreateChatbotCompletionPromptData, CreateChatbotCompletionPromptErrors, CreateChatbotCompletionPromptResponses, CreateChatMessageData, CreateChatMessageErrors, CreateChatMessageResponses, CreateDocumentData, CreateDocumentErrors, CreateDocumentResponses, CreateEtherpadData, CreateEtherpadErrors, CreateEtherpadResponses, CreateFolderData, CreateFolderErrors, CreateFolderResponses, CreateFolderWithThumbnailData, CreateFolderWithThumbnailErrors, CreateFolderWithThumbnailResponses, CreateInvitationData, CreateInvitationErrors, CreateInvitationResponses, CreateItemData, CreateItemErrors, CreateItemFlagData, CreateItemFlagErrors, CreateItemFlagResponses, CreateItemLikeData, CreateItemLikeErrors, CreateItemLikeResponses, CreateItemMembershipData, CreateItemMembershipErrors, CreateItemMembershipResponses, CreateItemResponses, CreateItemWithThumbnailData, CreateItemWithThumbnailErrors, CreateItemWithThumbnailResponses, CreateLinkData, CreateLinkErrors, CreateLinkResponses, CreateMembershipRequestData, CreateMembershipRequestResponses, CreateOwnProfileData, CreateOwnProfileErrors, CreateOwnProfileResponses, CreatePageData, CreatePageErrors, CreatePageResponses, CreatePasswordData, CreatePasswordErrors, CreatePasswordResponses, CreateShortcutData, CreateShortcutErrors, CreateShortcutResponses, CreateShortLinkData, CreateShortLinkErrors, CreateShortLinkResponses, CreateTagForItemData, CreateTagForItemErrors, CreateTagForItemResponses, CreateVisibilityData, CreateVisibilityErrors, CreateVisibilityResponses, DeleteAliasData, DeleteAliasErrors, DeleteAliasResponses, DeleteApiItemsByIdThumbnailsData, DeleteApiItemsByIdThumbnailsResponses, DeleteApiMembersMembersByIdDeleteData, DeleteApiMembersMembersByIdDeleteResponses, DeleteAppDataData, DeleteAppDataErrors, DeleteAppDataResponses, DeleteAppSettingData, DeleteAppSettingErrors, DeleteAppSettingResponses, DeleteBookmarkData, DeleteBookmarkErrors, DeleteBookmarkResponses, DeleteChatMessageData, DeleteChatMessageErrors, DeleteChatMessageResponses, DeleteCurrentAccountData, DeleteCurrentAccountErrors, DeleteCurrentAccountResponses, DeleteGeolocationData, DeleteGeolocationErrors, DeleteGeolocationResponses, DeleteInvitationData, DeleteInvitationErrors, DeleteInvitationResponses, DeleteItemLikeData, DeleteItemLikeErrors, DeleteItemLikeResponses, DeleteItemLoginSchemaData, DeleteItemLoginSchemaErrors, DeleteItemLoginSchemaResponses, DeleteItemMembershipData, DeleteItemMembershipErrors, DeleteItemMembershipResponses, DeleteManyItemsData, DeleteManyItemsErrors, DeleteManyItemsResponses, DeleteMembershipRequestData, DeleteMembershipRequestResponses, DeleteMentionData, DeleteMentionErrors, DeleteMentionResponses, DeleteTagForItemData, DeleteTagForItemErrors, DeleteTagForItemResponses, DeleteVisibilityData, DeleteVisibilityErrors, DeleteVisibilityResponses, DownloadAppDataFileData, DownloadAppDataFileErrors, DownloadAppDataFileResponses, DownloadAppSettingFileData, DownloadAppSettingFileErrors, DownloadAppSettingFileResponses, DownloadAvatarData, DownloadAvatarErrors, DownloadAvatarResponses, DownloadFileData, DownloadFileErrors, DownloadFileResponses, DownloadItemThumbnailData, DownloadItemThumbnailErrors, DownloadItemThumbnailResponses, EnrollData, EnrollResponses, ExportActionsData, ExportActionsErrors, ExportActionsResponses, ExportMemberDataData, ExportMemberDataErrors, ExportMemberDataResponses, ExportZipData, ExportZipErrors, ExportZipResponses, GenerateAppTokenData, GenerateAppTokenErrors, GenerateAppTokenResponses, GeolocationReverseData, GeolocationReverseErrors, GeolocationReverseResponses, GeolocationSearchData, GeolocationSearchErrors, GeolocationSearchResponses, GetAccessibleItemsData, GetAccessibleItemsErrors, GetAccessibleItemsResponses, GetApiItemsCollectionsSearchRebuildData, GetApiItemsCollectionsSearchRebuildResponses, GetApiItemsH5pAssetsIntegrationHtmlData, GetApiItemsH5pAssetsIntegrationHtmlResponses, GetApiItemsPublicationByItemIdStatusData, GetApiItemsPublicationByItemIdStatusResponses, GetApiStatusData, GetApiStatusResponses, GetApiVersionData, GetApiVersionResponses, GetApiWsData, GetApiWsResponses, GetAppActionsForAppData, GetAppActionsForAppErrors, GetAppActionsForAppResponses, GetAppContextData, GetAppContextResponses, GetAppDataForAppData, GetAppDataForAppErrors, GetAppDataForAppResponses, GetAppListData, GetAppListErrors, GetAppListResponses, GetAppSettingsForAppData, GetAppSettingsForAppErrors, GetAppSettingsForAppResponses, GetChatData, GetChatErrors, GetChatResponses, GetChildrenData, GetChildrenErrors, GetChildrenResponses, GetCollectionInformationsData, GetCollectionInformationsErrors, GetCollectionInformationsResponses, GetCollectionsForMemberData, GetCollectionsForMemberErrors, GetCollectionsForMemberResponses, GetCountForTagsData, GetCountForTagsErrors, GetCountForTagsResponses, GetCurrentAccountData, GetCurrentAccountErrors, GetCurrentAccountResponses, GetDescendantItemsData, GetDescendantItemsErrors, GetDescendantItemsResponses, GetEtherpadFromItemData, GetEtherpadFromItemErrors, GetEtherpadFromItemResponses, GetFacetsForNameData, GetFacetsForNameErrors, GetFacetsForNameResponses, GetFeaturedCollectionsData, GetFeaturedCollectionsErrors, GetFeaturedCollectionsResponses, GetFlagTypesData, GetFlagTypesErrors, GetFlagTypesResponses, GetGeolocationByItemData, GetGeolocationByItemErrors, GetGeolocationByItemResponses, GetInvitationByIdData, GetInvitationByIdErrors, GetInvitationByIdResponses, GetInvitationForItemData, GetInvitationForItemErrors, GetInvitationForItemResponses, GetItemActionsByDayData, GetItemActionsByDayErrors, GetItemActionsByDayResponses, GetItemActionsByHourData, GetItemActionsByHourErrors, GetItemActionsByHourResponses, GetItemActionsByWeekdayData, GetItemActionsByWeekdayErrors, GetItemActionsByWeekdayResponses, GetItemData, GetItemErrors, GetItemLoginSchemaData, GetItemLoginSchemaErrors, GetItemLoginSchemaResponses, GetItemLoginSchemaTypeData, GetItemLoginSchemaTypeErrors, GetItemLoginSchemaTypeResponses, GetItemMembershipsForItemData, GetItemMembershipsForItemErrors, GetItemMembershipsForItemResponses, GetItemResponses, GetItemsInBoxData, GetItemsInBoxErrors, GetItemsInBoxResponses, GetLatestItemValidationGroupData, GetLatestItemValidationGroupErrors, GetLatestItemValidationGroupResponses, GetLikesForCurrentMemberData, GetLikesForCurrentMemberErrors, GetLikesForCurrentMemberResponses, GetLikesForItemData, GetLikesForItemErrors, GetLikesForItemResponses, GetLinkMetadataData, GetLinkMetadataErrors, GetLinkMetadataResponses, GetMemberProfileData, GetMemberProfileErrors, GetMemberProfileResponses, GetMembersActionsData, GetMembersActionsErrors, GetMembersActionsResponses, GetMembershipRequestsByItemIdData, GetMembershipRequestsByItemIdResponses, GetMostLikedCollectionsData, GetMostLikedCollectionsErrors, GetMostLikedCollectionsResponses, GetMostRecentCollectionsData, GetMostRecentCollectionsErrors, GetMostRecentCollectionsResponses, GetNextMaintenanceData, GetNextMaintenanceErrors, GetNextMaintenanceResponses, GetOneMemberData, GetOneMemberErrors, GetOneMemberResponses, GetOwnBookmarkData, GetOwnBookmarkErrors, GetOwnBookmarkResponses, GetOwnMembershipRequestByItemIdData, GetOwnMembershipRequestByItemIdResponses, GetOwnMentionsData, GetOwnMentionsErrors, GetOwnMentionsResponses, GetOwnMostUsedAppsData, GetOwnMostUsedAppsErrors, GetOwnMostUsedAppsResponses, GetOwnPasswordStatusData, GetOwnPasswordStatusResponses, GetOwnProfileData, GetOwnProfileErrors, GetOwnProfileResponses, GetOwnRecycledItemsData, GetOwnRecycledItemsErrors, GetOwnRecycledItemsResponses, GetParentItemsData, GetParentItemsErrors, GetParentItemsResponses, GetShortLinkAvailabilityData, GetShortLinkAvailabilityErrors, GetShortLinkAvailabilityResponses, GetShortLinkRedirectionData, GetShortLinkRedirectionErrors, GetShortLinksForItemData, GetShortLinksForItemErrors, GetShortLinksForItemResponses, GetStorageData, GetStorageErrors, GetStorageFilesData, GetStorageFilesErrors, GetStorageFilesResponses, GetStorageResponses, GetTagsForItemData, GetTagsForItemErrors, GetTagsForItemResponses, GetUrlData, GetUrlErrors, GetUrlResponses, GraaspZipExportData, GraaspZipExportErrors, GraaspZipExportResponses, HealthData, HealthResponses, ImportH5pData, ImportH5pErrors, ImportH5pResponses, ImportZipData, ImportZipErrors, ImportZipResponses, InviteFromCsvData, InviteFromCsvErrors, InviteFromCsvResponses, InviteFromCsvWithTemplateData, InviteFromCsvWithTemplateErrors, InviteFromCsvWithTemplateResponses, LoginData, LoginErrors, LoginOrRegisterAsGuestData, LoginOrRegisterAsGuestErrors, LoginOrRegisterAsGuestResponses, LoginResponses, MoveManyItemsData, MoveManyItemsErrors, MoveManyItemsResponses, PagesWebsockets2Data, PagesWebsockets2Responses, PagesWebsocketsData, PagesWebsocketsResponses, PatchChangeEmailData, PatchChangeEmailErrors, PatchChangeEmailResponses, PatchChatMessageData, PatchChatMessageErrors, PatchChatMessageResponses, PatchMentionData, PatchMentionErrors, PatchMentionResponses, PostActionData, PostActionErrors, PostActionResponses, PostApiItemsByIdThumbnailsData, PostApiItemsByIdThumbnailsErrors, PostApiItemsByIdThumbnailsResponses, PostApiMembersAvatarData, PostApiMembersAvatarResponses, PostChangeEmailData, PostChangeEmailErrors, PostChangeEmailResponses, PublishItemData, PublishItemErrors, PublishItemResponses, PutGeolocationData, PutGeolocationErrors, PutGeolocationResponses, RecycleManyItemsData, RecycleManyItemsErrors, RecycleManyItemsResponses, RegisterData, RegisterErrors, RegisterResponses, ReorderItemData, ReorderItemErrors, ReorderItemResponses, RequestPasswordResetLinkData, RequestPasswordResetLinkErrors, RequestPasswordResetLinkResponses, ResetPasswordData, ResetPasswordErrors, ResetPasswordResponses, RestoreManyItemsData, RestoreManyItemsErrors, RestoreManyItemsResponses, SendInvitationData, SendInvitationErrors, SendInvitationResponses, SignInWithPasswordData, SignInWithPasswordErrors, SignInWithPasswordResponses, SignOutData, SignOutErrors, SignOutResponses, UnpublishItemData, UnpublishItemErrors, UnpublishItemResponses, UpdateAppData, UpdateAppDataData, UpdateAppDataErrors, UpdateAppDataResponses, UpdateAppErrors, UpdateAppResponses, UpdateAppSettingData, UpdateAppSettingErrors, UpdateAppSettingResponses, UpdateCurrentAccountData, UpdateCurrentAccountErrors, UpdateCurrentAccountResponses, UpdateDocumentData, UpdateDocumentErrors, UpdateDocumentResponses, UpdateEtherpadData, UpdateEtherpadErrors, UpdateEtherpadResponses, UpdateFileData, UpdateFileErrors, UpdateFileResponses, UpdateFolderData, UpdateFolderErrors, UpdateFolderResponses, UpdateInvitationData, UpdateInvitationErrors, UpdateInvitationResponses, UpdateItemData, UpdateItemErrors, UpdateItemLoginSchemaData, UpdateItemLoginSchemaErrors, UpdateItemLoginSchemaResponses, UpdateItemMembershipData, UpdateItemMembershipErrors, UpdateItemMembershipResponses, UpdateItemResponses, UpdateLinkData, UpdateLinkErrors, UpdateLinkResponses, UpdateOwnProfileData, UpdateOwnProfileErrors, UpdateOwnProfileResponses, UpdatePasswordData, UpdatePasswordErrors, UpdatePasswordResponses, UpdateShortcutData, UpdateShortcutErrors, UpdateShortcutResponses, UpdateShortLinkData, UpdateShortLinkErrors, UpdateShortLinkResponses, UploadFileData, UploadFileErrors, UploadFileResponses, ValidateItemData, ValidateItemErrors, ValidateItemResponses } from './types.gen';
+import type { AuthenticateData, AuthenticateErrors, ClearAllMentionsData, ClearAllMentionsErrors, ClearAllMentionsResponses, ClearChatMessageData, ClearChatMessageErrors, ClearChatMessageResponses, CollectionSearchData, CollectionSearchErrors, CollectionSearchResponses, ConvertCapsuleToFolderData, ConvertCapsuleToFolderErrors, ConvertCapsuleToFolderResponses, ConvertFolderToCapsuleData, ConvertFolderToCapsuleErrors, ConvertFolderToCapsuleResponses, CopyManyItemsData, CopyManyItemsErrors, CopyManyItemsResponses, CreateAppActionData, CreateAppActionErrors, CreateAppActionResponses, CreateAppData, CreateAppDataData, CreateAppDataErrors, CreateAppDataFileData, CreateAppDataFileErrors, CreateAppDataFileResponses, CreateAppDataResponses, CreateAppErrors, CreateAppResponses, CreateAppSettingData, CreateAppSettingErrors, CreateAppSettingFileData, CreateAppSettingFileErrors, CreateAppSettingFileResponses, CreateAppSettingResponses, CreateBookmarkData, CreateBookmarkErrors, CreateBookmarkResponses, CreateCapsuleData, CreateCapsuleErrors, CreateCapsuleResponses, CreateChatbotCompletionPromptData, CreateChatbotCompletionPromptErrors, CreateChatbotCompletionPromptResponses, CreateChatMessageData, CreateChatMessageErrors, CreateChatMessageResponses, CreateDocumentData, CreateDocumentErrors, CreateDocumentResponses, CreateEtherpadData, CreateEtherpadErrors, CreateEtherpadResponses, CreateFolderData, CreateFolderErrors, CreateFolderResponses, CreateFolderWithThumbnailData, CreateFolderWithThumbnailErrors, CreateFolderWithThumbnailResponses, CreateInvitationData, CreateInvitationErrors, CreateInvitationResponses, CreateItemData, CreateItemErrors, CreateItemFlagData, CreateItemFlagErrors, CreateItemFlagResponses, CreateItemLikeData, CreateItemLikeErrors, CreateItemLikeResponses, CreateItemMembershipData, CreateItemMembershipErrors, CreateItemMembershipResponses, CreateItemResponses, CreateItemWithThumbnailData, CreateItemWithThumbnailErrors, CreateItemWithThumbnailResponses, CreateLinkData, CreateLinkErrors, CreateLinkResponses, CreateMembershipRequestData, CreateMembershipRequestResponses, CreateOwnProfileData, CreateOwnProfileErrors, CreateOwnProfileResponses, CreatePageData, CreatePageErrors, CreatePageResponses, CreatePasswordData, CreatePasswordErrors, CreatePasswordResponses, CreateShortcutData, CreateShortcutErrors, CreateShortcutResponses, CreateShortLinkData, CreateShortLinkErrors, CreateShortLinkResponses, CreateTagForItemData, CreateTagForItemErrors, CreateTagForItemResponses, CreateVisibilityData, CreateVisibilityErrors, CreateVisibilityResponses, DeleteAliasData, DeleteAliasErrors, DeleteAliasResponses, DeleteApiItemsByIdThumbnailsData, DeleteApiItemsByIdThumbnailsResponses, DeleteApiMembersMembersByIdDeleteData, DeleteApiMembersMembersByIdDeleteResponses, DeleteAppDataData, DeleteAppDataErrors, DeleteAppDataResponses, DeleteAppSettingData, DeleteAppSettingErrors, DeleteAppSettingResponses, DeleteBookmarkData, DeleteBookmarkErrors, DeleteBookmarkResponses, DeleteChatMessageData, DeleteChatMessageErrors, DeleteChatMessageResponses, DeleteCurrentAccountData, DeleteCurrentAccountErrors, DeleteCurrentAccountResponses, DeleteGeolocationData, DeleteGeolocationErrors, DeleteGeolocationResponses, DeleteInvitationData, DeleteInvitationErrors, DeleteInvitationResponses, DeleteItemLikeData, DeleteItemLikeErrors, DeleteItemLikeResponses, DeleteItemLoginSchemaData, DeleteItemLoginSchemaErrors, DeleteItemLoginSchemaResponses, DeleteItemMembershipData, DeleteItemMembershipErrors, DeleteItemMembershipResponses, DeleteManyItemsData, DeleteManyItemsErrors, DeleteManyItemsResponses, DeleteMembershipRequestData, DeleteMembershipRequestResponses, DeleteMentionData, DeleteMentionErrors, DeleteMentionResponses, DeleteTagForItemData, DeleteTagForItemErrors, DeleteTagForItemResponses, DeleteVisibilityData, DeleteVisibilityErrors, DeleteVisibilityResponses, DownloadAppDataFileData, DownloadAppDataFileErrors, DownloadAppDataFileResponses, DownloadAppSettingFileData, DownloadAppSettingFileErrors, DownloadAppSettingFileResponses, DownloadAvatarData, DownloadAvatarErrors, DownloadAvatarResponses, DownloadFileData, DownloadFileErrors, DownloadFileResponses, DownloadItemThumbnailData, DownloadItemThumbnailErrors, DownloadItemThumbnailResponses, EnrollData, EnrollResponses, ExportActionsData, ExportActionsErrors, ExportActionsResponses, ExportMemberDataData, ExportMemberDataErrors, ExportMemberDataResponses, ExportZipData, ExportZipErrors, ExportZipResponses, GenerateAppTokenData, GenerateAppTokenErrors, GenerateAppTokenResponses, GeolocationReverseData, GeolocationReverseErrors, GeolocationReverseResponses, GeolocationSearchData, GeolocationSearchErrors, GeolocationSearchResponses, GetAccessibleItemsData, GetAccessibleItemsErrors, GetAccessibleItemsResponses, GetApiItemsCollectionsSearchRebuildData, GetApiItemsCollectionsSearchRebuildResponses, GetApiItemsH5pAssetsIntegrationHtmlData, GetApiItemsH5pAssetsIntegrationHtmlResponses, GetApiItemsPublicationByItemIdStatusData, GetApiItemsPublicationByItemIdStatusResponses, GetApiStatusData, GetApiStatusResponses, GetApiVersionData, GetApiVersionResponses, GetApiWsData, GetApiWsResponses, GetAppActionsForAppData, GetAppActionsForAppErrors, GetAppActionsForAppResponses, GetAppContextData, GetAppContextResponses, GetAppDataForAppData, GetAppDataForAppErrors, GetAppDataForAppResponses, GetAppListData, GetAppListErrors, GetAppListResponses, GetAppSettingsForAppData, GetAppSettingsForAppErrors, GetAppSettingsForAppResponses, GetChatData, GetChatErrors, GetChatResponses, GetChildrenData, GetChildrenErrors, GetChildrenResponses, GetCollectionInformationsData, GetCollectionInformationsErrors, GetCollectionInformationsResponses, GetCollectionsForMemberData, GetCollectionsForMemberErrors, GetCollectionsForMemberResponses, GetCountForTagsData, GetCountForTagsErrors, GetCountForTagsResponses, GetCurrentAccountData, GetCurrentAccountErrors, GetCurrentAccountResponses, GetDescendantItemsData, GetDescendantItemsErrors, GetDescendantItemsResponses, GetEtherpadFromItemData, GetEtherpadFromItemErrors, GetEtherpadFromItemResponses, GetFacetsForNameData, GetFacetsForNameErrors, GetFacetsForNameResponses, GetFeaturedCollectionsData, GetFeaturedCollectionsErrors, GetFeaturedCollectionsResponses, GetFlagTypesData, GetFlagTypesErrors, GetFlagTypesResponses, GetGeolocationByItemData, GetGeolocationByItemErrors, GetGeolocationByItemResponses, GetInvitationByIdData, GetInvitationByIdErrors, GetInvitationByIdResponses, GetInvitationForItemData, GetInvitationForItemErrors, GetInvitationForItemResponses, GetItemActionsByDayData, GetItemActionsByDayErrors, GetItemActionsByDayResponses, GetItemActionsByHourData, GetItemActionsByHourErrors, GetItemActionsByHourResponses, GetItemActionsByWeekdayData, GetItemActionsByWeekdayErrors, GetItemActionsByWeekdayResponses, GetItemData, GetItemErrors, GetItemLoginSchemaData, GetItemLoginSchemaErrors, GetItemLoginSchemaResponses, GetItemLoginSchemaTypeData, GetItemLoginSchemaTypeErrors, GetItemLoginSchemaTypeResponses, GetItemMembershipsForItemData, GetItemMembershipsForItemErrors, GetItemMembershipsForItemResponses, GetItemResponses, GetItemsInBoxData, GetItemsInBoxErrors, GetItemsInBoxResponses, GetLatestItemValidationGroupData, GetLatestItemValidationGroupErrors, GetLatestItemValidationGroupResponses, GetLikesForCurrentMemberData, GetLikesForCurrentMemberErrors, GetLikesForCurrentMemberResponses, GetLikesForItemData, GetLikesForItemErrors, GetLikesForItemResponses, GetLinkMetadataData, GetLinkMetadataErrors, GetLinkMetadataResponses, GetMemberProfileData, GetMemberProfileErrors, GetMemberProfileResponses, GetMembersActionsData, GetMembersActionsErrors, GetMembersActionsResponses, GetMembershipRequestsByItemIdData, GetMembershipRequestsByItemIdResponses, GetMostLikedCollectionsData, GetMostLikedCollectionsErrors, GetMostLikedCollectionsResponses, GetMostRecentCollectionsData, GetMostRecentCollectionsErrors, GetMostRecentCollectionsResponses, GetNextMaintenanceData, GetNextMaintenanceErrors, GetNextMaintenanceResponses, GetOneMemberData, GetOneMemberErrors, GetOneMemberResponses, GetOwnBookmarkData, GetOwnBookmarkErrors, GetOwnBookmarkResponses, GetOwnMembershipRequestByItemIdData, GetOwnMembershipRequestByItemIdResponses, GetOwnMentionsData, GetOwnMentionsErrors, GetOwnMentionsResponses, GetOwnMostUsedAppsData, GetOwnMostUsedAppsErrors, GetOwnMostUsedAppsResponses, GetOwnPasswordStatusData, GetOwnPasswordStatusResponses, GetOwnProfileData, GetOwnProfileErrors, GetOwnProfileResponses, GetOwnRecycledItemsData, GetOwnRecycledItemsErrors, GetOwnRecycledItemsResponses, GetParentItemsData, GetParentItemsErrors, GetParentItemsResponses, GetShortLinkAvailabilityData, GetShortLinkAvailabilityErrors, GetShortLinkAvailabilityResponses, GetShortLinkRedirectionData, GetShortLinkRedirectionErrors, GetShortLinksForItemData, GetShortLinksForItemErrors, GetShortLinksForItemResponses, GetStorageData, GetStorageErrors, GetStorageFilesData, GetStorageFilesErrors, GetStorageFilesResponses, GetStorageResponses, GetTagsForItemData, GetTagsForItemErrors, GetTagsForItemResponses, GetUrlData, GetUrlErrors, GetUrlResponses, GraaspZipExportData, GraaspZipExportErrors, GraaspZipExportResponses, HealthData, HealthResponses, ImportH5pData, ImportH5pErrors, ImportH5pResponses, ImportZipData, ImportZipErrors, ImportZipResponses, InviteFromCsvData, InviteFromCsvErrors, InviteFromCsvResponses, InviteFromCsvWithTemplateData, InviteFromCsvWithTemplateErrors, InviteFromCsvWithTemplateResponses, LoginData, LoginErrors, LoginOrRegisterAsGuestData, LoginOrRegisterAsGuestErrors, LoginOrRegisterAsGuestResponses, LoginResponses, MoveManyItemsData, MoveManyItemsErrors, MoveManyItemsResponses, PagesWebsockets2Data, PagesWebsockets2Responses, PagesWebsocketsData, PagesWebsocketsResponses, PatchChangeEmailData, PatchChangeEmailErrors, PatchChangeEmailResponses, PatchChatMessageData, PatchChatMessageErrors, PatchChatMessageResponses, PatchMentionData, PatchMentionErrors, PatchMentionResponses, PostActionData, PostActionErrors, PostActionResponses, PostApiItemsByIdThumbnailsData, PostApiItemsByIdThumbnailsErrors, PostApiItemsByIdThumbnailsResponses, PostApiMembersAvatarData, PostApiMembersAvatarResponses, PostChangeEmailData, PostChangeEmailErrors, PostChangeEmailResponses, PublishItemData, PublishItemErrors, PublishItemResponses, PutGeolocationData, PutGeolocationErrors, PutGeolocationResponses, RecycleManyItemsData, RecycleManyItemsErrors, RecycleManyItemsResponses, RegisterData, RegisterErrors, RegisterResponses, ReorderItemData, ReorderItemErrors, ReorderItemResponses, RequestPasswordResetLinkData, RequestPasswordResetLinkErrors, RequestPasswordResetLinkResponses, ResetPasswordData, ResetPasswordErrors, ResetPasswordResponses, RestoreManyItemsData, RestoreManyItemsErrors, RestoreManyItemsResponses, SendInvitationData, SendInvitationErrors, SendInvitationResponses, SignInWithPasswordData, SignInWithPasswordErrors, SignInWithPasswordResponses, SignOutData, SignOutErrors, SignOutResponses, UnpublishItemData, UnpublishItemErrors, UnpublishItemResponses, UpdateAppData, UpdateAppDataData, UpdateAppDataErrors, UpdateAppDataResponses, UpdateAppErrors, UpdateAppResponses, UpdateAppSettingData, UpdateAppSettingErrors, UpdateAppSettingResponses, UpdateCurrentAccountData, UpdateCurrentAccountErrors, UpdateCurrentAccountResponses, UpdateDocumentData, UpdateDocumentErrors, UpdateDocumentResponses, UpdateEtherpadData, UpdateEtherpadErrors, UpdateEtherpadResponses, UpdateFileData, UpdateFileErrors, UpdateFileResponses, UpdateFolderData, UpdateFolderErrors, UpdateFolderResponses, UpdateInvitationData, UpdateInvitationErrors, UpdateInvitationResponses, UpdateItemData, UpdateItemErrors, UpdateItemLoginSchemaData, UpdateItemLoginSchemaErrors, UpdateItemLoginSchemaResponses, UpdateItemMembershipData, UpdateItemMembershipErrors, UpdateItemMembershipResponses, UpdateItemResponses, UpdateLinkData, UpdateLinkErrors, UpdateLinkResponses, UpdateOwnProfileData, UpdateOwnProfileErrors, UpdateOwnProfileResponses, UpdatePasswordData, UpdatePasswordErrors, UpdatePasswordResponses, UpdateShortcutData, UpdateShortcutErrors, UpdateShortcutResponses, UpdateShortLinkData, UpdateShortLinkErrors, UpdateShortLinkResponses, UploadFileData, UploadFileErrors, UploadFileResponses, ValidateItemData, ValidateItemErrors, ValidateItemResponses } from './types.gen';
export type Options = Options2 & {
/**
@@ -1068,6 +1068,16 @@ export const updateFolder = (options: Opti
});
};
+/**
+ * Switch folder item to capsule
+ */
+export const convertFolderToCapsule = (options: Options) => {
+ return (options.client ?? client).patch({
+ url: '/api/items/folders/{id}/to-capsule',
+ ...options
+ });
+};
+
/**
* Create a folder with a thumbnail
* Create a folder with a thumbnail. The data is sent using a form-data.
@@ -1079,6 +1089,31 @@ export const createFolderWithThumbnail = (
});
};
+/**
+ * Create capsule
+ * Create capsule.
+ */
+export const createCapsule = (options: Options) => {
+ return (options.client ?? client).post({
+ url: '/api/items/capsules',
+ ...options,
+ headers: {
+ 'Content-Type': 'application/json',
+ ...options.headers
+ }
+ });
+};
+
+/**
+ * Switch capsule item to folder
+ */
+export const convertCapsuleToFolder = (options: Options) => {
+ return (options.client ?? client).patch({
+ url: '/api/items/capsules/{id}/to-folder',
+ ...options
+ });
+};
+
/**
* Create app
* Create app.
diff --git a/src/openapi/client/types.gen.ts b/src/openapi/client/types.gen.ts
index 02eafbbbe..fc5d6bdfd 100644
--- a/src/openapi/client/types.gen.ts
+++ b/src/openapi/client/types.gen.ts
@@ -3303,7 +3303,7 @@ export type CreateFolderResponses = {
[key: string]: unknown;
} & {
folder: {
- isRoot?: boolean;
+ isCapsule?: boolean;
};
};
/**
@@ -3405,7 +3405,7 @@ export type UpdateFolderResponses = {
[key: string]: unknown;
} & {
folder: {
- isRoot?: boolean;
+ isCapsule?: boolean;
};
};
/**
@@ -3443,6 +3443,77 @@ export type UpdateFolderResponses = {
export type UpdateFolderResponse = UpdateFolderResponses[keyof UpdateFolderResponses];
+export type ConvertFolderToCapsuleData = {
+ body?: never;
+ path: {
+ id: string;
+ };
+ query?: never;
+ url: '/api/items/folders/{id}/to-capsule';
+};
+
+export type ConvertFolderToCapsuleErrors = {
+ /**
+ * Error object with useful information about the unexpected behavior that occured
+ */
+ '4XX': _Error;
+};
+
+export type ConvertFolderToCapsuleError = ConvertFolderToCapsuleErrors[keyof ConvertFolderToCapsuleErrors];
+
+export type ConvertFolderToCapsuleResponses = {
+ /**
+ * Default Response
+ */
+ 200: {
+ id: string;
+ name: string;
+ description?: null | string;
+ type: string;
+ path: string;
+ lang: string;
+ extra: {
+ [key: string]: unknown;
+ } & {
+ folder: {
+ isCapsule?: boolean;
+ };
+ };
+ /**
+ * Item settings
+ * Parameters, mostly visual, common to all types of items.
+ */
+ settings: {
+ /**
+ * @deprecated
+ */
+ lang?: string;
+ isPinned?: boolean;
+ /**
+ * @deprecated
+ */
+ tags?: Array;
+ showChatbox?: boolean;
+ isResizable?: boolean;
+ hasThumbnail?: boolean;
+ ccLicenseAdaption?: 'CC BY' | 'CC BY-NC' | 'CC BY-SA' | 'CC BY-NC-SA' | 'CC BY-ND' | 'CC BY-NC-ND' | 'CC0';
+ displayCoEditors?: boolean;
+ descriptionPlacement?: 'above' | 'below';
+ isCollapsible?: boolean;
+ enableSaveActions?: boolean;
+ showLinkIframe?: boolean;
+ showLinkButton?: boolean;
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
+ alignment?: 'center' | 'left' | 'right';
+ };
+ creator?: NullableMinimalAccount;
+ createdAt: string;
+ updatedAt: string;
+ };
+};
+
+export type ConvertFolderToCapsuleResponse = ConvertFolderToCapsuleResponses[keyof ConvertFolderToCapsuleResponses];
+
export type CreateFolderWithThumbnailData = {
body?: never;
path?: never;
@@ -3476,7 +3547,7 @@ export type CreateFolderWithThumbnailResponses = {
[key: string]: unknown;
} & {
folder: {
- isRoot?: boolean;
+ isCapsule?: boolean;
};
};
/**
@@ -3514,6 +3585,180 @@ export type CreateFolderWithThumbnailResponses = {
export type CreateFolderWithThumbnailResponse = CreateFolderWithThumbnailResponses[keyof CreateFolderWithThumbnailResponses];
+export type CreateCapsuleData = {
+ body: {
+ name: string;
+ description?: null | string;
+ lang?: string;
+ /**
+ * Item settings
+ * Parameters, mostly visual, common to all types of items.
+ */
+ settings?: {
+ /**
+ * @deprecated
+ */
+ lang?: string;
+ isPinned?: boolean;
+ /**
+ * @deprecated
+ */
+ tags?: Array;
+ showChatbox?: boolean;
+ isResizable?: boolean;
+ hasThumbnail?: boolean;
+ ccLicenseAdaption?: 'CC BY' | 'CC BY-NC' | 'CC BY-SA' | 'CC BY-NC-SA' | 'CC BY-ND' | 'CC BY-NC-ND' | 'CC0';
+ displayCoEditors?: boolean;
+ descriptionPlacement?: 'above' | 'below';
+ isCollapsible?: boolean;
+ enableSaveActions?: boolean;
+ showLinkIframe?: boolean;
+ showLinkButton?: boolean;
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
+ alignment?: 'center' | 'left' | 'right';
+ };
+ };
+ path?: never;
+ query?: {
+ parentId?: string;
+ previousItemId?: string;
+ };
+ url: '/api/items/capsules';
+};
+
+export type CreateCapsuleErrors = {
+ /**
+ * Error object with useful information about the unexpected behavior that occured
+ */
+ '4XX': _Error;
+};
+
+export type CreateCapsuleError = CreateCapsuleErrors[keyof CreateCapsuleErrors];
+
+export type CreateCapsuleResponses = {
+ /**
+ * Default Response
+ */
+ 200: {
+ id: string;
+ name: string;
+ description?: null | string;
+ type: string;
+ path: string;
+ lang: string;
+ extra: {
+ [key: string]: unknown;
+ } & {
+ folder: {
+ isCapsule?: boolean;
+ };
+ };
+ /**
+ * Item settings
+ * Parameters, mostly visual, common to all types of items.
+ */
+ settings: {
+ /**
+ * @deprecated
+ */
+ lang?: string;
+ isPinned?: boolean;
+ /**
+ * @deprecated
+ */
+ tags?: Array;
+ showChatbox?: boolean;
+ isResizable?: boolean;
+ hasThumbnail?: boolean;
+ ccLicenseAdaption?: 'CC BY' | 'CC BY-NC' | 'CC BY-SA' | 'CC BY-NC-SA' | 'CC BY-ND' | 'CC BY-NC-ND' | 'CC0';
+ displayCoEditors?: boolean;
+ descriptionPlacement?: 'above' | 'below';
+ isCollapsible?: boolean;
+ enableSaveActions?: boolean;
+ showLinkIframe?: boolean;
+ showLinkButton?: boolean;
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
+ alignment?: 'center' | 'left' | 'right';
+ };
+ creator?: NullableMinimalAccount;
+ createdAt: string;
+ updatedAt: string;
+ };
+};
+
+export type CreateCapsuleResponse = CreateCapsuleResponses[keyof CreateCapsuleResponses];
+
+export type ConvertCapsuleToFolderData = {
+ body?: never;
+ path: {
+ id: string;
+ };
+ query?: never;
+ url: '/api/items/capsules/{id}/to-folder';
+};
+
+export type ConvertCapsuleToFolderErrors = {
+ /**
+ * Error object with useful information about the unexpected behavior that occured
+ */
+ '4XX': _Error;
+};
+
+export type ConvertCapsuleToFolderError = ConvertCapsuleToFolderErrors[keyof ConvertCapsuleToFolderErrors];
+
+export type ConvertCapsuleToFolderResponses = {
+ /**
+ * Default Response
+ */
+ 200: {
+ id: string;
+ name: string;
+ description?: null | string;
+ type: string;
+ path: string;
+ lang: string;
+ extra: {
+ [key: string]: unknown;
+ } & {
+ folder: {
+ isCapsule?: boolean;
+ };
+ };
+ /**
+ * Item settings
+ * Parameters, mostly visual, common to all types of items.
+ */
+ settings: {
+ /**
+ * @deprecated
+ */
+ lang?: string;
+ isPinned?: boolean;
+ /**
+ * @deprecated
+ */
+ tags?: Array;
+ showChatbox?: boolean;
+ isResizable?: boolean;
+ hasThumbnail?: boolean;
+ ccLicenseAdaption?: 'CC BY' | 'CC BY-NC' | 'CC BY-SA' | 'CC BY-NC-SA' | 'CC BY-ND' | 'CC BY-NC-ND' | 'CC0';
+ displayCoEditors?: boolean;
+ descriptionPlacement?: 'above' | 'below';
+ isCollapsible?: boolean;
+ enableSaveActions?: boolean;
+ showLinkIframe?: boolean;
+ showLinkButton?: boolean;
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
+ alignment?: 'center' | 'left' | 'right';
+ };
+ creator?: NullableMinimalAccount;
+ createdAt: string;
+ updatedAt: string;
+ };
+};
+
+export type ConvertCapsuleToFolderResponse = ConvertCapsuleToFolderResponses[keyof ConvertCapsuleToFolderResponses];
+
export type CreateAppData = {
body: {
name: string;