feat: add stock screener
This commit is contained in:
@@ -3333,6 +3333,188 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/stocks/screener/search": {
|
||||
"post": {
|
||||
"operationId": "createStockScreenerSearch",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/StockScreenerCriteriaDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/StockScreenerPageDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid request",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Authentication required",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal server error",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"503": {
|
||||
"description": "Upstream service unavailable",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
}
|
||||
],
|
||||
"summary": "",
|
||||
"tags": [
|
||||
"stocks"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/stocks/screener/search/{searchId}": {
|
||||
"get": {
|
||||
"operationId": "readStockScreenerPage",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "searchId",
|
||||
"required": true,
|
||||
"in": "path",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "page",
|
||||
"required": true,
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"minimum": 1,
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/StockScreenerPageDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid request",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Authentication required",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Resource not found",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal server error",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"503": {
|
||||
"description": "Upstream service unavailable",
|
||||
"content": {
|
||||
"application/problem+json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProblemDetailsDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
}
|
||||
],
|
||||
"summary": "",
|
||||
"tags": [
|
||||
"stocks"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/stocks/{uid}": {
|
||||
"get": {
|
||||
"operationId": "StockController_get",
|
||||
@@ -7310,6 +7492,133 @@
|
||||
"meta"
|
||||
]
|
||||
},
|
||||
"StockScreenerCriteriaDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"query": {
|
||||
"type": "string",
|
||||
"maxLength": 80
|
||||
},
|
||||
"sector": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"shareType": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"currency": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"realExchange": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"countryOfRisk": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"maxLot": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"StockScreenerItemDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"instrumentUid": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"ticker": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"isin": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"logoName": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"shareType": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"sector": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"currency": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"realExchange": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"countryOfRisk": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"lot": {
|
||||
"type": "integer",
|
||||
"nullable": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"instrumentUid",
|
||||
"name",
|
||||
"ticker",
|
||||
"isin",
|
||||
"logoName",
|
||||
"shareType",
|
||||
"sector",
|
||||
"currency",
|
||||
"realExchange",
|
||||
"countryOfRisk",
|
||||
"lot"
|
||||
]
|
||||
},
|
||||
"StockScreenerPageDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"searchId": {
|
||||
"type": "string"
|
||||
},
|
||||
"asOf": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"page": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"hasNext": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"items": {
|
||||
"maxItems": 30,
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/StockScreenerItemDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"searchId",
|
||||
"asOf",
|
||||
"page",
|
||||
"hasNext",
|
||||
"items"
|
||||
]
|
||||
},
|
||||
"StockQuoteDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
Reference in New Issue
Block a user