mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-02 16:25:52 +00:00
update types for request body in secrets v2 api
This commit is contained in:
@@ -4,7 +4,7 @@ import { ISecret, Secret } from '../../models';
|
||||
import { body, param, query, check } from 'express-validator';
|
||||
import { BadRequestError, InternalServerError, UnauthorizedRequestError, ValidationError as RouteValidationError } from '../../utils/errors';
|
||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
||||
import { SanitizedSecretModify, SecretUserInput, SanitizedSecretForCreate } from '../../types/secret/types';
|
||||
import { SanitizedSecretModify, CreateSecretRequestBody, SanitizedSecretForCreate, ModifySecretRequestBody } from '../../types/secret/types';
|
||||
import to from 'await-to-js';
|
||||
import mongoose, { Types } from 'mongoose';
|
||||
import { AnyBulkWriteOperation } from 'mongodb';
|
||||
@@ -27,7 +27,7 @@ router.post(
|
||||
body('secrets').exists().isArray().custom((value) => value.every((item: ISecret) => typeof item === 'object')),
|
||||
validateRequest,
|
||||
async (req: Request, res: Response) => {
|
||||
const secretsToCreate: SecretUserInput[] = req.body.secrets;
|
||||
const secretsToCreate: CreateSecretRequestBody[] = req.body.secrets;
|
||||
const { workspaceId, environmentName } = req.params
|
||||
const sanitizedSecretesToCreate: SanitizedSecretForCreate[] = []
|
||||
|
||||
@@ -144,7 +144,7 @@ router.patch(
|
||||
}),
|
||||
validateRequest, async (req: Request, res: Response) => {
|
||||
const { workspaceId, environmentName } = req.params
|
||||
const secretsModificationsRequested: SecretUserInput[] = req.body.secrets;
|
||||
const secretsModificationsRequested: ModifySecretRequestBody[] = req.body.secrets;
|
||||
|
||||
const [secretIdsUserCanModifyError, secretIdsUserCanModify] = await to(Secret.find({ workspace: workspaceId, environment: environmentName }, { _id: 1 }).then())
|
||||
if (secretIdsUserCanModifyError) {
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import { Omit } from 'utility-types';
|
||||
import { Assign, Omit } from 'utility-types';
|
||||
import { ISecret } from '../../models';
|
||||
|
||||
// User input for CRUD operations on secrets routes
|
||||
export type SecretUserInput = Omit<ISecret, "user" | "version" | "environment" | "workspace">;
|
||||
// Everything is required, except the omitted types
|
||||
export type CreateSecretRequestBody = Omit<ISecret, "user" | "version" | "environment" | "workspace">;
|
||||
|
||||
// Omit the listed properties, then make everything optional and then make _id required
|
||||
export type ModifySecretRequestBody = Assign<Partial<Omit<ISecret, "user" | "version" | "environment" | "workspace">>, { _id: string }>;
|
||||
|
||||
// Used for modeling sanitized secrets before uplaod. To be used for converting user input for uploading
|
||||
export type SanitizedSecretModify = Partial<Omit<ISecret, "user" | "version" | "environment" | "workspace">>;
|
||||
|
||||
// Used for modeling sanitized secrets before create. To be used for converting user input for creating new secrets
|
||||
// Everything is required, except the omitted types
|
||||
export type SanitizedSecretForCreate = Omit<ISecret, "version" | "_id">;
|
||||
|
||||
Reference in New Issue
Block a user