Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,24 @@ segments are created automatically.
",
};

private static Option<string?> WorkspaceName { get; } = new(
name: @"--workspace-name")
{
Description = @"Existing workspace to create the new project in, matched by name (case-insensitive).
Only applicable when creating a new project (when project_id is not provided).

Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).
Any other value is looked up as a custom workspace name; unknown names return 404.

When omitted, `team_access` is passed through unchanged.
When set to `Personal`, `team_access` must be `none` or omitted.
When set to `General` or a custom workspace name, `team_access` must be
`edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.

For custom workspaces, the caller must be a member of that workspace.
",
};

private static Option<global::System.Collections.Generic.Dictionary<string, global::Descript.OneOf<global::Descript.ImportProjectMediaRequestAddMediaUrlImport, global::Descript.ImportProjectMediaRequestAddMediaDirectUpload, global::Descript.ImportProjectMediaRequestAddMediaMultitrackSequence>>?> AddMedia { get; } = new(
name: @"--add-media")
{
Expand Down Expand Up @@ -138,6 +156,7 @@ public static Command Create()
command.Options.Add(ProjectName);
command.Options.Add(TeamAccess);
command.Options.Add(FolderName);
command.Options.Add(WorkspaceName);
command.Options.Add(AddMedia);
command.Options.Add(AddCompositions);
command.Options.Add(CallbackUrl);
Expand Down Expand Up @@ -170,6 +189,7 @@ await CliRuntime.RunAsync(async () =>
var projectName = CliRuntime.WasSpecified(parseResult, ProjectName) ? parseResult.GetValue(ProjectName) : (__requestBase is { } __ProjectNameBaseValue ? __ProjectNameBaseValue.ProjectName : default);
var teamAccess = CliRuntime.WasSpecified(parseResult, TeamAccess) ? parseResult.GetValue(TeamAccess) : (__requestBase is { } __TeamAccessBaseValue ? __TeamAccessBaseValue.TeamAccess : default);
var folderName = CliRuntime.WasSpecified(parseResult, FolderName) ? parseResult.GetValue(FolderName) : (__requestBase is { } __FolderNameBaseValue ? __FolderNameBaseValue.FolderName : default);
var workspaceName = CliRuntime.WasSpecified(parseResult, WorkspaceName) ? parseResult.GetValue(WorkspaceName) : (__requestBase is { } __WorkspaceNameBaseValue ? __WorkspaceNameBaseValue.WorkspaceName : default);
var addMedia = CliRuntime.WasSpecified(parseResult, AddMedia) ? parseResult.GetValue(AddMedia) : (__requestBase is { } __AddMediaBaseValue ? __AddMediaBaseValue.AddMedia : default);
var addCompositions = CliRuntime.WasSpecified(parseResult, AddCompositions) ? parseResult.GetValue(AddCompositions) : (__requestBase is { } __AddCompositionsBaseValue ? __AddCompositionsBaseValue.AddCompositions : default);
var callbackUrl = CliRuntime.WasSpecified(parseResult, CallbackUrl) ? parseResult.GetValue(CallbackUrl) : (__requestBase is { } __CallbackUrlBaseValue ? __CallbackUrlBaseValue.CallbackUrl : default);
Expand All @@ -181,6 +201,7 @@ await CliRuntime.RunAsync(async () =>
projectName: projectName,
teamAccess: teamAccess,
folderName: folderName,
workspaceName: workspaceName,
addMedia: addMedia,
addCompositions: addCompositions,
callbackUrl: callbackUrl,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -739,6 +739,18 @@ partial void ProcessImportProjectMediaResponseContent(
/// segments are created automatically.<br/>
/// Example: Clients/Acme
/// </param>
/// <param name="workspaceName">
/// Existing workspace to create the new project in, matched by name (case-insensitive).<br/>
/// Only applicable when creating a new project (when project_id is not provided).<br/>
/// Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).<br/>
/// Any other value is looked up as a custom workspace name; unknown names return 404.<br/>
/// When omitted, `team_access` is passed through unchanged.<br/>
/// When set to `Personal`, `team_access` must be `none` or omitted.<br/>
/// When set to `General` or a custom workspace name, `team_access` must be<br/>
/// `edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.<br/>
/// For custom workspaces, the caller must be a member of that workspace.<br/>
/// Example: Marketing
/// </param>
/// <param name="addMedia">
/// Map of media reference IDs (display names with optional folder paths) to media import items.<br/>
/// Keys are the display names that will appear in the project (e.g., "Misc/intro.mp4" or "demo.mp4").<br/>
Expand All @@ -761,6 +773,7 @@ partial void ProcessImportProjectMediaResponseContent(
string? projectName = default,
global::Descript.ImportProjectMediaRequestTeamAccess? teamAccess = default,
string? folderName = default,
string? workspaceName = default,
global::System.Collections.Generic.Dictionary<string, global::Descript.OneOf<global::Descript.ImportProjectMediaRequestAddMediaUrlImport, global::Descript.ImportProjectMediaRequestAddMediaDirectUpload, global::Descript.ImportProjectMediaRequestAddMediaMultitrackSequence>>? addMedia = default,
global::System.Collections.Generic.IList<global::Descript.ImportProjectMediaRequestAddComposition>? addCompositions = default,
string? callbackUrl = default,
Expand All @@ -773,6 +786,7 @@ partial void ProcessImportProjectMediaResponseContent(
ProjectName = projectName,
TeamAccess = teamAccess,
FolderName = folderName,
WorkspaceName = workspaceName,
AddMedia = addMedia,
AddCompositions = addCompositions,
CallbackUrl = callbackUrl,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,18 @@ public partial interface IApiEndpointsClient
/// segments are created automatically.<br/>
/// Example: Clients/Acme
/// </param>
/// <param name="workspaceName">
/// Existing workspace to create the new project in, matched by name (case-insensitive).<br/>
/// Only applicable when creating a new project (when project_id is not provided).<br/>
/// Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).<br/>
/// Any other value is looked up as a custom workspace name; unknown names return 404.<br/>
/// When omitted, `team_access` is passed through unchanged.<br/>
/// When set to `Personal`, `team_access` must be `none` or omitted.<br/>
/// When set to `General` or a custom workspace name, `team_access` must be<br/>
/// `edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.<br/>
/// For custom workspaces, the caller must be a member of that workspace.<br/>
/// Example: Marketing
/// </param>
/// <param name="addMedia">
/// Map of media reference IDs (display names with optional folder paths) to media import items.<br/>
/// Keys are the display names that will appear in the project (e.g., "Misc/intro.mp4" or "demo.mp4").<br/>
Expand All @@ -136,6 +148,7 @@ public partial interface IApiEndpointsClient
string? projectName = default,
global::Descript.ImportProjectMediaRequestTeamAccess? teamAccess = default,
string? folderName = default,
string? workspaceName = default,
global::System.Collections.Generic.Dictionary<string, global::Descript.OneOf<global::Descript.ImportProjectMediaRequestAddMediaUrlImport, global::Descript.ImportProjectMediaRequestAddMediaDirectUpload, global::Descript.ImportProjectMediaRequestAddMediaMultitrackSequence>>? addMedia = default,
global::System.Collections.Generic.IList<global::Descript.ImportProjectMediaRequestAddComposition>? addCompositions = default,
string? callbackUrl = default,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,22 @@ public sealed partial class ImportProjectMediaRequest
[global::System.Text.Json.Serialization.JsonPropertyName("folder_name")]
public string? FolderName { get; set; }

/// <summary>
/// Existing workspace to create the new project in, matched by name (case-insensitive).<br/>
/// Only applicable when creating a new project (when project_id is not provided).<br/>
/// Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).<br/>
/// Any other value is looked up as a custom workspace name; unknown names return 404.<br/>
/// When omitted, `team_access` is passed through unchanged.<br/>
/// When set to `Personal`, `team_access` must be `none` or omitted.<br/>
/// When set to `General` or a custom workspace name, `team_access` must be<br/>
/// `edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.<br/>
/// For custom workspaces, the caller must be a member of that workspace.<br/>
/// Example: Marketing
/// </summary>
/// <example>Marketing</example>
[global::System.Text.Json.Serialization.JsonPropertyName("workspace_name")]
public string? WorkspaceName { get; set; }

/// <summary>
/// Map of media reference IDs (display names with optional folder paths) to media import items.<br/>
/// Keys are the display names that will appear in the project (e.g., "Misc/intro.mp4" or "demo.mp4").<br/>
Expand Down Expand Up @@ -116,6 +132,18 @@ public sealed partial class ImportProjectMediaRequest
/// segments are created automatically.<br/>
/// Example: Clients/Acme
/// </param>
/// <param name="workspaceName">
/// Existing workspace to create the new project in, matched by name (case-insensitive).<br/>
/// Only applicable when creating a new project (when project_id is not provided).<br/>
/// Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).<br/>
/// Any other value is looked up as a custom workspace name; unknown names return 404.<br/>
/// When omitted, `team_access` is passed through unchanged.<br/>
/// When set to `Personal`, `team_access` must be `none` or omitted.<br/>
/// When set to `General` or a custom workspace name, `team_access` must be<br/>
/// `edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.<br/>
/// For custom workspaces, the caller must be a member of that workspace.<br/>
/// Example: Marketing
/// </param>
/// <param name="addMedia">
/// Map of media reference IDs (display names with optional folder paths) to media import items.<br/>
/// Keys are the display names that will appear in the project (e.g., "Misc/intro.mp4" or "demo.mp4").<br/>
Expand All @@ -138,6 +166,7 @@ public ImportProjectMediaRequest(
string? projectName,
global::Descript.ImportProjectMediaRequestTeamAccess? teamAccess,
string? folderName,
string? workspaceName,
global::System.Collections.Generic.Dictionary<string, global::Descript.OneOf<global::Descript.ImportProjectMediaRequestAddMediaUrlImport, global::Descript.ImportProjectMediaRequestAddMediaDirectUpload, global::Descript.ImportProjectMediaRequestAddMediaMultitrackSequence>>? addMedia,
global::System.Collections.Generic.IList<global::Descript.ImportProjectMediaRequestAddComposition>? addCompositions,
string? callbackUrl)
Expand All @@ -146,6 +175,7 @@ public ImportProjectMediaRequest(
this.ProjectName = projectName;
this.TeamAccess = teamAccess;
this.FolderName = folderName;
this.WorkspaceName = workspaceName;
this.AddMedia = addMedia;
this.AddCompositions = addCompositions;
this.CallbackUrl = callbackUrl;
Expand Down
16 changes: 16 additions & 0 deletions src/libs/Descript/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,22 @@ paths:
(when project_id is not provided). Existing folders along the path are reused; missing
segments are created automatically.
example: Clients/Acme
workspace_name:
type: string
description: |
Existing workspace to create the new project in, matched by name (case-insensitive).
Only applicable when creating a new project (when project_id is not provided).

Reserved names: `Personal` (your private space) and `General` (the shared drive workspace).
Any other value is looked up as a custom workspace name; unknown names return 404.

When omitted, `team_access` is passed through unchanged.
When set to `Personal`, `team_access` must be `none` or omitted.
When set to `General` or a custom workspace name, `team_access` must be
`edit`, `comment`, or `view`; omitting it defaults to `view`, and `none` is rejected.

For custom workspaces, the caller must be a member of that workspace.
example: Marketing
add_media:
type: object
description: |
Expand Down