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
1 change: 0 additions & 1 deletion Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ swagger:
COPY +build/v1 /usr/share/nginx/html/yaml/
COPY openapi/swagger/fs /

RUN rm -f /usr/share/nginx/html/yaml/processorsController.yaml # TODO: Remove this line after 1.61 release
RUN rm -f /usr/share/nginx/html/yaml/odmApi.yaml
RUN apk add bash --no-cache && \
rewrite_entrypoint.sh && \
Expand Down
4 changes: 1 addition & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,7 @@ tasks {
}
val mergeSpecifications by registering(MergeSpecifications::class) {
dependsOn(downloadSpec)
val fileList = sourceFileList.filter { it.asFile.name != processorsControllerFileName } // TODO: use sourceFileList after 1.61 release
inputFiles = fileList
//inputFiles = sourceFileList
inputFiles = sourceFileList
outputFile = layout.projectDirectory.file(mergedFilePath)
}

Expand Down
8 changes: 7 additions & 1 deletion openapi/swagger/fs/usr/share/nginx/html/helper/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
~ Copyright (c) 2011-2024 Genestack Limited
~ Copyright (c) 2011-2025 Genestack Limited
~ All Rights Reserved
~ THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF GENESTACK LIMITED
~ The copyright notice above does not evidence any
Expand Down Expand Up @@ -90,6 +90,9 @@ <h4>Query/retrieve data</h4>
<li>
<a href="/swagger/?urls.primaryName=preparationUser">preparationUser</a> - API endpoints for retrieving only preparation metadata
</li>
<li>
<a href="/swagger/?urls.primaryName=cellUser">cellUser</a> - API endpoints for retrieving cell data or metadata
</li>
<li>
<a href="/swagger/?urls.primaryName=expressionUser">expressionUser</a> - API endpoints for retrieving any tabular data (not only expression data) except Gene Variant or Flow Cytometry
</li>
Expand Down Expand Up @@ -124,6 +127,9 @@ <h4>Import/curate data</h4>
<li>
<a href="/swagger/?urls.primaryName=preparationCurator">preparationCurator</a> - API endpoints to add, delete and update preparations and preparation metadata
</li>
<li>
<a href="/swagger/?urls.primaryName=cellCurator">cellCurator</a> - API endpoints for retrieving cell data or metadata
</li>
<li>
<a href="/swagger/?urls.primaryName=expressionCurator">expressionCurator</a> - API endpoints to add, delete and update any tabular data (not only expression data) except Gene Variant or Flow Cytometry
</li>
Expand Down
120 changes: 120 additions & 0 deletions openapi/v1/cellCurator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
openapi: 3.1.0
info:
description: |-
This swagger page describes the APIs for retrieving cells.
title: ODM API
version: default-released
tags:
- name: Cells as Curator
paths:
/api/v1/as-curator/cells/{id}:
get:
operationId: getCellByIdAsCurator
parameters:
- description: Unique cell identifier. Consists of a cell group accession and a cell barcode, separated by a hyphen, e.g. `GSF123456-AAACCTGAGCGCTCCA-1`.
in: path
name: id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Cell"
description: The request was successful. The returned value is the object.
"400":
content: { }
description: Invalid data in the request. See the error message for details.
"401":
content: { }
description: |-
User is not authenticated. Please supply a valid Access Token in the `Authorization` HTTP header (e.g. Authorization: bearer [token])
or Genestack API token in the `Genestack-API-Token` header (this token may be obtained from the Genestack UI _Profile_ page).
"404":
content: { }
description: Object with provided ID could not be found in ODM.
"500":
content: { }
description: "An internal server error occurred. This indicates an unexpected\
\ failure in the Genestack system, please file a bug report to support@genestack.com,\
\ including the error details."
security:
- Access-token: [ ]
- Genestack-API-Token: [ ]
summary: Retrieve a cell by ID
tags:
- Cells as Curator
/api/v1/as-curator/cells/by/group/{id}:
get:
description: |+
## Paging
For performance reasons this endpoint returns results in "pages" of limited size together with a `cursor` tag.
To retrieve the next page of results please supply this `cursor` tag to resume the query from your previous result and get the next page.
If there are no more results you will just retrieve an empty result.
operationId: getCellsByGroupAsCurator
parameters:
- description: Unique identifier (accession) of the cell group.
in: path
name: id
required: true
schema:
type: string
- description: Maximum number of results to return per page (see Paging above).
This value must be between 0 and 10000 (inclusive). The default is 2000.
in: query
name: pageLimit
schema:
format: int32
type: integer
- description: The page tag to resume results from (see Paging above). Cell ID is currently used as a cursor.
in: query
name: cursor
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/CellListResponse"
description: The request was successful. The returned value is a list of
objects.
"400":
content: { }
description: Cell data cannot be retrieved.
"401":
content: { }
description: |-
User is not authenticated. Please supply a valid Access Token in the `Authorization` HTTP header (e.g. Authorization: bearer [token])
or Genestack API token in the `Genestack-API-Token` header (this token may be obtained from the Genestack UI _Profile_ page).
"404":
content: { }
description: No object exists with the given ID.
"500":
content: { }
description: "An internal server error occurred. This indicates an unexpected\
\ failure in the Genestack system, please file a bug report to support@genestack.com,\
\ including the error details."
security:
- Access-token: [ ]
- Genestack-API-Token: [ ]
summary: Retrieve cells from a given group
tags:
- Cells as Curator
components:
schemas:
Cell:
$ref: "./schemas/cell/Cell.yaml"
CellListResponse:
$ref: "./schemas/cell/CellListResponse.yaml"
securitySchemes:
Access-token:
in: header
name: Authorization
type: apiKey
Genestack-API-Token:
in: header
name: Genestack-API-Token
type: apiKey
120 changes: 120 additions & 0 deletions openapi/v1/cellUser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
openapi: 3.1.0
info:
description: |-
This swagger page describes the APIs for retrieving cells.
title: ODM API
version: default-released
tags:
- name: Cells as User
paths:
/api/v1/as-user/cells/{id}:
get:
operationId: getCellByIdAsUser
parameters:
- description: Unique cell identifier. Consists of a cell group accession and a cell barcode, separated by a hyphen, e.g. `GSF123456-AAACCTGAGCGCTCCA-1`.
in: path
name: id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/Cell"
description: The request was successful. The returned value is the object.
"400":
content: { }
description: Invalid data in the request. See the error message for details.
"401":
content: { }
description: |-
User is not authenticated. Please supply a valid Access Token in the `Authorization` HTTP header (e.g. Authorization: bearer [token])
or Genestack API token in the `Genestack-API-Token` header (this token may be obtained from the Genestack UI _Profile_ page).
"404":
content: { }
description: Object with provided ID could not be found in ODM.
"500":
content: { }
description: "An internal server error occurred. This indicates an unexpected\
\ failure in the Genestack system, please file a bug report to support@genestack.com,\
\ including the error details."
security:
- Access-token: [ ]
- Genestack-API-Token: [ ]
summary: Retrieve a cell by ID
tags:
- Cells as User
/api/v1/as-user/cells/by/group/{id}:
get:
description: |+
## Paging
For performance reasons this endpoint returns results in "pages" of limited size together with a `cursor` tag.
To retrieve the next page of results please supply this `cursor` tag to resume the query from your previous result and get the next page.
If there are no more results you will just retrieve an empty result.
operationId: getCellsByGroupAsUser
parameters:
- description: Unique identifier (accession) of the cell group.
in: path
name: id
required: true
schema:
type: string
- description: Maximum number of results to return per page (see Paging above).
This value must be between 0 and 10000 (inclusive). The default is 2000.
in: query
name: pageLimit
schema:
format: int32
type: integer
- description: The page tag to resume results from (see Paging above). Cell ID is currently used as a cursor.
in: query
name: cursor
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "#/components/schemas/CellListResponse"
description: The request was successful. The returned value is a list of
objects.
"400":
content: { }
description: Cell data cannot be retrieved.
"401":
content: { }
description: |-
User is not authenticated. Please supply a valid Access Token in the `Authorization` HTTP header (e.g. Authorization: bearer [token])
or Genestack API token in the `Genestack-API-Token` header (this token may be obtained from the Genestack UI _Profile_ page).
"404":
content: { }
description: No object exists with the given ID.
"500":
content: { }
description: "An internal server error occurred. This indicates an unexpected\
\ failure in the Genestack system, please file a bug report to support@genestack.com,\
\ including the error details."
security:
- Access-token: [ ]
- Genestack-API-Token: [ ]
summary: Retrieve cells from a given group
tags:
- Cells as User
components:
schemas:
Cell:
$ref: "./schemas/cell/Cell.yaml"
CellListResponse:
$ref: "./schemas/cell/CellListResponse.yaml"
securitySchemes:
Access-token:
in: header
name: Authorization
type: apiKey
Genestack-API-Token:
in: header
name: Genestack-API-Token
type: apiKey
Loading
Loading