From d0fd0df515698fbe65f0bdf7a51e904d1baa8922 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Wed, 18 Dec 2024 16:49:06 -0500 Subject: [PATCH] Rebuild schema for sample sheets. --- client/src/api/schema/schema.ts | 317 ++++++++++++++++++++++++++++++++ 1 file changed, 317 insertions(+) diff --git a/client/src/api/schema/schema.ts b/client/src/api/schema/schema.ts index f230a98ee266..4754e6161f7a 100644 --- a/client/src/api/schema/schema.ts +++ b/client/src/api/schema/schema.ts @@ -4060,6 +4060,40 @@ export interface paths { patch?: never; trace?: never; }; + "/api/sample_sheet_workbook/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Create an XLSX workbook for a sample sheet definition. */ + get: operations["dataset_collections__workbook_download"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/sample_sheet_workbook/parse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Parse an XLSX workbook for a sample sheet definition and supplied file contents. */ + post: operations["dataset_collections__workbook_parse"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/short_term_storage/{storage_request_id}": { parameters: { query?: never; @@ -6929,6 +6963,11 @@ export interface components { * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ collection_type?: string | null; + /** + * Column Definitions + * @description Specify definitions for row data if collection_type if sample_sheet + */ + column_definitions?: components["schemas"]["SampleSheetColumnDefinition"][] | null; /** * Content * @description Depending on the `source` it can be: @@ -6988,6 +7027,13 @@ export interface components { * @description The name of the new collection. */ name?: string | null; + /** + * Row data + * @description Specify rows of metadata data corresponding to an indentifier if collection_type is sample_sheet + */ + rows?: { + [key: string]: (string | number | boolean)[]; + } | null; /** * Source * @description The source of the content. Can be other history element to be copied or library elements. @@ -7142,6 +7188,11 @@ export interface components { * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ collection_type?: string | null; + /** + * Column Definitions + * @description Specify definitions for row data if collection_type if sample_sheet + */ + column_definitions?: components["schemas"]["SampleSheetColumnDefinition"][] | null; /** * Copy Elements * @description Whether to create a copy of the source HDAs for the new collection. @@ -7186,6 +7237,13 @@ export interface components { * @description The name of the new collection. */ name?: string | null; + /** + * Row data + * @description Specify rows of metadata data corresponding to an indentifier if collection_type is sample_sheet + */ + rows?: { + [key: string]: (string | number | boolean)[]; + } | null; }; /** CreatePagePayload */ CreatePagePayload: { @@ -7786,6 +7844,11 @@ export interface components { * @description Dataset Collection Element summary information. */ DCESummary: { + /** + * Columns + * @description A row (or list of columns) of data associated with this element + */ + columns?: (string | number | boolean)[] | null; /** * Element Identifier * @description The actual name of this element. @@ -10399,6 +10462,11 @@ export interface components { * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ collection_type?: string | null; + /** + * Column Definitions + * @description Column data associated with each element of this collection. + */ + column_definitions?: components["schemas"]["SampleSheetColumnDefinition"][] | null; /** * Contents URL * @description The relative URL to access the contents of this History. @@ -10538,6 +10606,11 @@ export interface components { * @description The type of the collection, can be `list`, `paired`, or define subcollections using `:` as separator like `list:paired` or `list:list`. */ collection_type: string; + /** + * Column Definitions + * @description Column data associated with each element of this collection. + */ + column_definitions?: components["schemas"]["SampleSheetColumnDefinition"][] | null; /** * Contents URL * @description The relative URL to access the contents of this History. @@ -11633,6 +11706,40 @@ export interface components { */ uri: string; }; + /** InRangeParameterValidatorModel */ + InRangeParameterValidatorModel: { + /** + * Exclude Max + * @default false + */ + exclude_max: boolean; + /** + * Exclude Min + * @default false + */ + exclude_min: boolean; + /** + * Implicit + * @default false + */ + implicit: boolean; + /** Max */ + max?: number | null; + /** Message */ + message?: string | null; + /** Min */ + min?: number | null; + /** + * Negate + * @default false + */ + negate: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "in_range"; + }; /** InputDataCollectionStep */ InputDataCollectionStep: { /** @@ -13285,6 +13392,30 @@ export interface components { */ LIBRARY_MODIFY_in: string[] | string | null; }; + /** LengthParameterValidatorModel */ + LengthParameterValidatorModel: { + /** + * Implicit + * @default false + */ + implicit: boolean; + /** Max */ + max?: number | null; + /** Message */ + message?: string | null; + /** Min */ + min?: number | null; + /** + * Negate + * @default false + */ + negate: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "length"; + }; /** LibraryAvailablePermissions */ LibraryAvailablePermissions: { /** @@ -14978,6 +15109,26 @@ export interface components { * @default [] */ PageSummaryList: components["schemas"]["PageSummary"][]; + /** ParseWorkbook */ + ParseWorkbook: { + /** + * Column Descriptions + * @description A description of the columns expected in the workbook after the first columns described by 'prefix_columns_type' + */ + column_definitions: components["schemas"]["RootModel_List_SampleSheetColumnDefinitionModel__"]; + /** + * Workbook Content (Base 64 encoded) + * @description The workbook content (the contents of the xlsx file) that have been base64 encoded. + */ + content: string; + }; + /** ParsedWorkbook */ + ParsedWorkbook: { + /** Rows */ + rows: { + [key: string]: string | number | boolean; + }[]; + }; /** PastedDataElement */ PastedDataElement: { /** Md5 */ @@ -15558,6 +15709,35 @@ export interface components { /** Workflow */ workflow: string; }; + /** + * RegexParameterValidatorModel + * @description Check if a regular expression **matches** the value, i.e. appears + * at the beginning of the value. To enforce a match of the complete value use + * ``$`` at the end of the expression. The expression is given is the content + * of the validator tag. Note that for ``selects`` each option is checked + * separately. + */ + RegexParameterValidatorModel: { + /** Expression */ + expression: string; + /** + * Implicit + * @default false + */ + implicit: boolean; + /** Message */ + message?: string | null; + /** + * Negate + * @default false + */ + negate: boolean; + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: "regex"; + }; /** ReloadFeedback */ ReloadFeedback: { /** Failed */ @@ -15756,6 +15936,54 @@ export interface components { RootModel_Dict_str__int__: { [key: string]: number; }; + /** RootModel[List[SampleSheetColumnDefinitionModel]] */ + RootModel_List_SampleSheetColumnDefinitionModel__: components["schemas"]["SampleSheetColumnDefinitionModel"][]; + /** SampleSheetColumnDefinition */ + SampleSheetColumnDefinition: { + /** Default Value */ + default_value: string | number | boolean | null; + /** Description */ + description?: string | null; + /** Name */ + name: string; + /** Restrictions */ + restrictions?: string[] | null; + /** Suggestions */ + suggestions?: string[] | null; + /** + * Type + * @enum {string} + */ + type: "string" | "int" | "float" | "boolean"; + /** Validators */ + validators?: Record[] | null; + }; + /** SampleSheetColumnDefinitionModel */ + SampleSheetColumnDefinitionModel: { + /** Default Value */ + default_value?: string | number | boolean | null; + /** Description */ + description?: string | null; + /** Name */ + name: string; + /** Restrictions */ + restrictions?: (string | number | boolean)[] | null; + /** Suggestions */ + suggestions?: (string | number | boolean)[] | null; + /** + * Type + * @enum {string} + */ + type: "string" | "int" | "float" | "boolean"; + /** Validators */ + validators?: + | ( + | components["schemas"]["RegexParameterValidatorModel"] + | components["schemas"]["InRangeParameterValidatorModel"] + | components["schemas"]["LengthParameterValidatorModel"] + )[] + | null; + }; /** SearchJobsPayload */ SearchJobsPayload: { /** @@ -31920,6 +32148,95 @@ export interface operations { }; }; }; + dataset_collections__workbook_download: { + parameters: { + query: { + /** @description Base64 encoding of column definitions. */ + column_definitions: string; + /** @description Filename of the workbook download to generate */ + filename?: string | null; + }; + header?: { + /** @description The user ID that will be used to effectively make this API call. Only admins and designated users can make API calls on behalf of other users. */ + "run-as"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Request Error */ + "4XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MessageExceptionModel"]; + }; + }; + /** @description Server Error */ + "5XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MessageExceptionModel"]; + }; + }; + }; + }; + dataset_collections__workbook_parse: { + parameters: { + query?: never; + header?: { + /** @description The user ID that will be used to effectively make this API call. Only admins and designated users can make API calls on behalf of other users. */ + "run-as"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ParseWorkbook"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ParsedWorkbook"]; + }; + }; + /** @description Request Error */ + "4XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MessageExceptionModel"]; + }; + }; + /** @description Server Error */ + "5XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MessageExceptionModel"]; + }; + }; + }; + }; serve_api_short_term_storage__storage_request_id__get: { parameters: { query?: never;