mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-09 04:39:08 +00:00
Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ddd5edcfd | ||
|
|
67d47a9642 | ||
|
|
1a2153d62f | ||
|
|
d4ba45fd03 | ||
|
|
82f1035a5e | ||
|
|
9a217dff57 |
@@ -9,7 +9,7 @@ maestro:
|
|||||||
cookie_secret: "ff7bc13823edb2ae50d248e5780bddc9d4b31c36"
|
cookie_secret: "ff7bc13823edb2ae50d248e5780bddc9d4b31c36"
|
||||||
redis_database: "1"
|
redis_database: "1"
|
||||||
platform_api_url: https://xs2hkhq07k.execute-api.us-east-1.amazonaws.com
|
platform_api_url: https://xs2hkhq07k.execute-api.us-east-1.amazonaws.com
|
||||||
storage_explorer_api_url: "https://storage-explorer-{customer}.stg.dadosfera.ai/api"
|
storage_explorer_api_url: "http://storage-explorer-{customer}.data-apps.svc.cluster.local:8000/api"
|
||||||
|
|
||||||
hostname: maestro.stg.dadosfera.ai
|
hostname: maestro.stg.dadosfera.ai
|
||||||
|
|
||||||
|
|||||||
+4
-152
@@ -7865,16 +7865,7 @@
|
|||||||
"post": {
|
"post": {
|
||||||
"operationId": "StorageExplorerController_validateTableName",
|
"operationId": "StorageExplorerController_validateTableName",
|
||||||
"summary": "Validate table name in PostgreSQL and Snowflake",
|
"summary": "Validate table name in PostgreSQL and Snowflake",
|
||||||
"parameters": [
|
"parameters": [],
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
"responses": {
|
||||||
"201": {
|
"201": {
|
||||||
"description": "",
|
"description": "",
|
||||||
@@ -7904,16 +7895,7 @@
|
|||||||
"post": {
|
"post": {
|
||||||
"operationId": "StorageExplorerController_createTable",
|
"operationId": "StorageExplorerController_createTable",
|
||||||
"summary": "Create a new table",
|
"summary": "Create a new table",
|
||||||
"parameters": [
|
"parameters": [],
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
"responses": {
|
||||||
"201": {
|
"201": {
|
||||||
"description": "",
|
"description": "",
|
||||||
@@ -7949,14 +7931,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -7996,14 +7970,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8051,14 +8017,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8098,14 +8056,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8145,14 +8095,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8200,14 +8142,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8255,14 +8189,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8310,14 +8236,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8357,14 +8275,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8404,14 +8314,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8467,14 +8369,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8514,14 +8408,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8553,16 +8439,7 @@
|
|||||||
"post": {
|
"post": {
|
||||||
"operationId": "StorageExplorerController_batchUpload",
|
"operationId": "StorageExplorerController_batchUpload",
|
||||||
"summary": "Upload multiple files to storage",
|
"summary": "Upload multiple files to storage",
|
||||||
"parameters": [
|
"parameters": [],
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
"responses": {
|
||||||
"201": {
|
"201": {
|
||||||
"description": "",
|
"description": "",
|
||||||
@@ -8592,16 +8469,7 @@
|
|||||||
"post": {
|
"post": {
|
||||||
"operationId": "StorageExplorerController_createFolder",
|
"operationId": "StorageExplorerController_createFolder",
|
||||||
"summary": "Create a new folder in storage",
|
"summary": "Create a new folder in storage",
|
||||||
"parameters": [
|
"parameters": [],
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
"responses": {
|
||||||
"201": {
|
"201": {
|
||||||
"description": "",
|
"description": "",
|
||||||
@@ -8639,14 +8507,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
@@ -8686,14 +8546,6 @@
|
|||||||
"schema": {
|
"schema": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Authorization",
|
|
||||||
"required": true,
|
|
||||||
"in": "header",
|
|
||||||
"schema": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
|
|||||||
@@ -502,7 +502,7 @@ export class AuthController {
|
|||||||
const accessToken = req.cookies['ddf-auth'];
|
const accessToken = req.cookies['ddf-auth'];
|
||||||
const refreshToken = req.cookies['ddf-refresh-auth'];
|
const refreshToken = req.cookies['ddf-refresh-auth'];
|
||||||
const userId = req.cookies['ddf-user-id'];
|
const userId = req.cookies['ddf-user-id'];
|
||||||
const resourceHost = req.headers["host"]
|
const resourceHost = req.headers["x-original-url"] as string || "" ;
|
||||||
|
|
||||||
const hasUserSession = Boolean(accessToken) && Boolean(userId);
|
const hasUserSession = Boolean(accessToken) && Boolean(userId);
|
||||||
this.logger.info('Has User Session: ' + hasUserSession);
|
this.logger.info('Has User Session: ' + hasUserSession);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export const STORAGE_EXPLORER_CONFIG = {
|
|||||||
}
|
}
|
||||||
// Replace {customer_id} placeholder with actual customer ID
|
// Replace {customer_id} placeholder with actual customer ID
|
||||||
// For local: http://172.17.0.1:8000/api (no placeholder)
|
// For local: http://172.17.0.1:8000/api (no placeholder)
|
||||||
// For prod: https://storage-explorer-{customer_id}.stg.dadosfera.ai/api
|
// For prod: https://storage-explorer-{customer_id}.dadosfera.ai/api
|
||||||
return urlTemplate.replace('{customer}', customerName);
|
return urlTemplate.replace('{customer}', customerName);
|
||||||
},
|
},
|
||||||
timeout: parseInt(process.env.STORAGE_EXPLORER_TIMEOUT || '30000', 10),
|
timeout: parseInt(process.env.STORAGE_EXPLORER_TIMEOUT || '30000', 10),
|
||||||
|
|||||||
@@ -47,13 +47,13 @@ export class StorageExplorerController {
|
|||||||
async validateTableName(
|
async validateTableName(
|
||||||
@Body() body: any,
|
@Body() body: any,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'POST',
|
'POST',
|
||||||
'/tables/validate-name',
|
'/tables/validate-name',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
body,
|
body,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -64,13 +64,13 @@ export class StorageExplorerController {
|
|||||||
async createTable(
|
async createTable(
|
||||||
@Body() body: any,
|
@Body() body: any,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'POST',
|
'POST',
|
||||||
'/tables/',
|
'/tables/',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
body,
|
body,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -81,13 +81,13 @@ export class StorageExplorerController {
|
|||||||
async listTables(
|
async listTables(
|
||||||
@Query('page') page: number,
|
@Query('page') page: number,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
'/tables/',
|
'/tables/',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ page },
|
{ page },
|
||||||
);
|
);
|
||||||
@@ -99,13 +99,12 @@ export class StorageExplorerController {
|
|||||||
async getTable(
|
async getTable(
|
||||||
@Param('tableId') tableId: string,
|
@Param('tableId') tableId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/tables/${tableId}`,
|
`/tables/${tableId}`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,13 +115,13 @@ export class StorageExplorerController {
|
|||||||
@Param('tableId') tableId: string,
|
@Param('tableId') tableId: string,
|
||||||
@Param('datasetId') datasetId: string,
|
@Param('datasetId') datasetId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'POST',
|
'POST',
|
||||||
`/tables/${tableId}/datasets/${datasetId}`,
|
`/tables/${tableId}/datasets/${datasetId}`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,13 +131,13 @@ export class StorageExplorerController {
|
|||||||
async getTableDatasets(
|
async getTableDatasets(
|
||||||
@Param('tableId') tableId: string,
|
@Param('tableId') tableId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/tables/${tableId}/datasets`,
|
`/tables/${tableId}/datasets`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,13 +147,13 @@ export class StorageExplorerController {
|
|||||||
async getTableSchema(
|
async getTableSchema(
|
||||||
@Param('tableId') tableId: string,
|
@Param('tableId') tableId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/tables/${tableId}/schema`,
|
`/tables/${tableId}/schema`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,13 +164,12 @@ export class StorageExplorerController {
|
|||||||
@Param('tableId') tableId: string,
|
@Param('tableId') tableId: string,
|
||||||
@Param('datasetId') datasetId: string,
|
@Param('datasetId') datasetId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'POST',
|
'POST',
|
||||||
`/tables/${tableId}/validate-compatibility/${datasetId}`,
|
`/tables/${tableId}/validate-compatibility/${datasetId}`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,13 +184,13 @@ export class StorageExplorerController {
|
|||||||
@Param('datasetId') datasetId: string,
|
@Param('datasetId') datasetId: string,
|
||||||
@Query('limit') limit: number,
|
@Query('limit') limit: number,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/datasets/${datasetId}/preview`,
|
`/datasets/${datasetId}/preview`,
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ limit },
|
{ limit },
|
||||||
);
|
);
|
||||||
@@ -205,13 +203,13 @@ export class StorageExplorerController {
|
|||||||
@Param('datasetId') datasetId: string,
|
@Param('datasetId') datasetId: string,
|
||||||
@Query('force_refresh') forceRefresh: boolean,
|
@Query('force_refresh') forceRefresh: boolean,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/datasets/${datasetId}/schema`,
|
`/datasets/${datasetId}/schema`,
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ force_refresh: forceRefresh },
|
{ force_refresh: forceRefresh },
|
||||||
);
|
);
|
||||||
@@ -223,13 +221,13 @@ export class StorageExplorerController {
|
|||||||
async listDatasetsByUpload(
|
async listDatasetsByUpload(
|
||||||
@Param('uploadId') uploadId: string,
|
@Param('uploadId') uploadId: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
`/datasets/upload/${uploadId}`,
|
`/datasets/upload/${uploadId}`,
|
||||||
user,
|
user,
|
||||||
token
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,13 +238,13 @@ export class StorageExplorerController {
|
|||||||
@Param('datasetId') datasetId: string,
|
@Param('datasetId') datasetId: string,
|
||||||
@Body() body: any,
|
@Body() body: any,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'PUT',
|
'PUT',
|
||||||
`/datasets/${datasetId}/refresh-schema`,
|
`/datasets/${datasetId}/refresh-schema`,
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
body,
|
body,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -263,13 +261,13 @@ export class StorageExplorerController {
|
|||||||
@Query('limit') limit: number,
|
@Query('limit') limit: number,
|
||||||
@Query('folder_path') folderPath: string,
|
@Query('folder_path') folderPath: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
'/storage/uploads/history',
|
'/storage/uploads/history',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ page, limit, folder_path: folderPath },
|
{ page, limit, folder_path: folderPath },
|
||||||
);
|
);
|
||||||
@@ -281,13 +279,13 @@ export class StorageExplorerController {
|
|||||||
async browseStorage(
|
async browseStorage(
|
||||||
@Query('path') path: string,
|
@Query('path') path: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
'/storage/browse',
|
'/storage/browse',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ path },
|
{ path },
|
||||||
);
|
);
|
||||||
@@ -302,7 +300,7 @@ export class StorageExplorerController {
|
|||||||
@UploadedFiles() files: Array<Express.Multer.File>,
|
@UploadedFiles() files: Array<Express.Multer.File>,
|
||||||
@Body('folder_path') folderPath: string,
|
@Body('folder_path') folderPath: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
// Create FormData to forward files to storage-explorer API
|
// Create FormData to forward files to storage-explorer API
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
@@ -326,7 +324,7 @@ export class StorageExplorerController {
|
|||||||
'POST',
|
'POST',
|
||||||
'/storage/upload/batch',
|
'/storage/upload/batch',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
formData,
|
formData,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -337,13 +335,13 @@ export class StorageExplorerController {
|
|||||||
async createFolder(
|
async createFolder(
|
||||||
@Body() body: any,
|
@Body() body: any,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'POST',
|
'POST',
|
||||||
'/storage/folder/create',
|
'/storage/folder/create',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
body,
|
body,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -354,13 +352,13 @@ export class StorageExplorerController {
|
|||||||
async downloadFile(
|
async downloadFile(
|
||||||
@Query('file_path') filePath: string,
|
@Query('file_path') filePath: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
'/storage/download',
|
'/storage/download',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ file_path: filePath },
|
{ file_path: filePath },
|
||||||
);
|
);
|
||||||
@@ -372,13 +370,12 @@ export class StorageExplorerController {
|
|||||||
async getFileMetadata(
|
async getFileMetadata(
|
||||||
@Query('file_path') filePath: string,
|
@Query('file_path') filePath: string,
|
||||||
@User() user: RequestUser,
|
@User() user: RequestUser,
|
||||||
@Headers('Authorization') token: string
|
|
||||||
) {
|
) {
|
||||||
return this.storageExplorerService.proxy(
|
return this.storageExplorerService.proxy(
|
||||||
'GET',
|
'GET',
|
||||||
'/storage/metadata',
|
'/storage/metadata',
|
||||||
user,
|
user,
|
||||||
token,
|
|
||||||
undefined,
|
undefined,
|
||||||
{ file_path: filePath },
|
{ file_path: filePath },
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ export class StorageExplorerService {
|
|||||||
method: string,
|
method: string,
|
||||||
path: string,
|
path: string,
|
||||||
user: RequestUser,
|
user: RequestUser,
|
||||||
token: string,
|
|
||||||
body?: any,
|
body?: any,
|
||||||
query?: Record<string, any>
|
query?: Record<string, any>
|
||||||
): Promise<any> {
|
): Promise<any> {
|
||||||
@@ -42,7 +41,6 @@ export class StorageExplorerService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const headers: Record<string, string> = {
|
const headers: Record<string, string> = {
|
||||||
'Authorization': token,
|
|
||||||
'content-type': 'application/json',
|
'content-type': 'application/json',
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -115,7 +113,7 @@ export class StorageExplorerService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get customer-specific storage-explorer URL
|
// Get customer-specific storage-explorer URL
|
||||||
const baseUrl = STORAGE_EXPLORER_CONFIG.getUrl(user.customer_id);
|
const baseUrl = STORAGE_EXPLORER_CONFIG.getUrl(user.customer_name);
|
||||||
const url = new URL(`${baseUrl}${path}`);
|
const url = new URL(`${baseUrl}${path}`);
|
||||||
|
|
||||||
// Add query params
|
// Add query params
|
||||||
|
|||||||
Reference in New Issue
Block a user