feat: support icon and description in preset (#18977)

## Description 

This PR adds support for `description` and `icon` fields to
`template_version_presets`. These fields will allow displaying richer
information for presets in the UI, improving the user experience when
creating a workspace.
Both fields are optional, non-nullable, and default to empty strings.

## Changes

* Database migration with the addition of `description VARCHAR(128)` and
`icon VARCHAR(256)` columns to the `template_version_presets` table.
* Updated the `CreateWorkspacePageView` in the UI

Note: UI changes will be addressed in a separate PR
This commit is contained in:
Susana Ferreira
2025-07-28 15:02:26 +01:00
committed by GitHub
parent 58123e17ca
commit 0672bf5084
24 changed files with 707 additions and 579 deletions
+8
View File
@@ -162,6 +162,8 @@ export interface Preset {
parameters: PresetParameter[];
prebuild: Prebuild | undefined;
default: boolean;
description: string;
icon: string;
}
export interface PresetParameter {
@@ -715,6 +717,12 @@ export const Preset = {
if (message.default === true) {
writer.uint32(32).bool(message.default);
}
if (message.description !== "") {
writer.uint32(42).string(message.description);
}
if (message.icon !== "") {
writer.uint32(50).string(message.icon);
}
return writer;
},
};