feat(app): add environment import/export and sidebar footer info
- add environment import/export API endpoints and client integration - add environment export actions and toolbar import/export buttons in UI - move theme switcher to sidebar bottom and show root package version - switch snippet card menu icon to cog for consistent options affordance
This commit is contained in:
@@ -14,6 +14,7 @@ import { ApiOperation, ApiResponse, ApiTags } from "@nestjs/swagger";
|
||||
import { EnvironmentService } from "./environment.service";
|
||||
import { CreateEnvironmentDto } from "./dto/create-environment.dto";
|
||||
import { UpdateEnvironmentDto } from "./dto/update-environment.dto";
|
||||
import { EnvironmentExportDto } from "./dto/environment-export.dto";
|
||||
import { PaginationQueryDto } from "../common/dto/pagination.dto";
|
||||
import { EnvironmentOrderBy } from "./environment.service";
|
||||
|
||||
@@ -30,6 +31,13 @@ export class EnvironmentController {
|
||||
return this.environmentService.create(dto);
|
||||
}
|
||||
|
||||
@Post("import")
|
||||
@ApiOperation({ summary: "Import an environment (upsert by id or name)" })
|
||||
@ApiResponse({ status: 201, description: "Environment imported" })
|
||||
async importEnvironment(@Body() dto: EnvironmentExportDto) {
|
||||
return this.environmentService.importEnvironment(dto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
@ApiOperation({ summary: "List all environments (paginated)" })
|
||||
@ApiResponse({ status: 200, description: "Paginated environments" })
|
||||
@@ -37,6 +45,15 @@ export class EnvironmentController {
|
||||
return this.environmentService.findAll(query);
|
||||
}
|
||||
|
||||
@Get(":id/export")
|
||||
@ApiOperation({ summary: "Export an environment as a plain object" })
|
||||
@ApiResponse({ status: 200, description: "Environment export payload" })
|
||||
@ApiResponse({ status: 404, description: "Environment not found" })
|
||||
async exportEnvironment(@Param("id", ParseUUIDPipe) id: string) {
|
||||
const env = await this.environmentService.findOne(id);
|
||||
return this.environmentService.exportEnvironment(env);
|
||||
}
|
||||
|
||||
@Get(":id")
|
||||
@ApiOperation({ summary: "Get environment by ID" })
|
||||
@ApiResponse({ status: 200, description: "Environment record" })
|
||||
|
||||
Reference in New Issue
Block a user