Some more fixes for python structure

This commit is contained in:
Daniel Hougaard
2024-01-29 16:55:36 +04:00
parent 5aeb8f6b03
commit 8ade2f3758
5 changed files with 28 additions and 8 deletions
@@ -25,7 +25,9 @@ export const registerServiceTokenRouter = async (server: FastifyZodProvider) =>
200: ServiceTokensSchema.merge( 200: ServiceTokensSchema.merge(
z.object({ z.object({
workspace: z.string(), workspace: z.string(),
user: sanitizedServiceTokenUserSchema user: sanitizedServiceTokenUserSchema,
_id: z.string(),
__v: z.number().default(0)
}) })
) )
} }
@@ -44,7 +46,8 @@ export const registerServiceTokenRouter = async (server: FastifyZodProvider) =>
const formattedServiceToken = { const formattedServiceToken = {
...serviceToken, ...serviceToken,
_id: serviceToken.id _id: serviceToken.id,
__v: 0
} as const; } as const;
// We return the user here because older versions of the deprecated Python SDK depend on it to properly parse the API response. // We return the user here because older versions of the deprecated Python SDK depend on it to properly parse the API response.
+13 -1
View File
@@ -442,6 +442,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
secrets: SecretsSchema.omit({ secretBlindIndex: true }) secrets: SecretsSchema.omit({ secretBlindIndex: true })
.merge( .merge(
z.object({ z.object({
_id: z.string(),
workspace: z.string(), workspace: z.string(),
environment: z.string(), environment: z.string(),
tags: SecretTagsSchema.pick({ tags: SecretTagsSchema.pick({
@@ -458,7 +459,15 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
secretPath: z.string(), secretPath: z.string(),
environment: z.string(), environment: z.string(),
folderId: z.string().optional(), folderId: z.string().optional(),
secrets: SecretsSchema.omit({ secretBlindIndex: true }).array() secrets: SecretsSchema.omit({ secretBlindIndex: true })
.merge(
z.object({
_id: z.string(),
workspace: z.string(),
environment: z.string()
})
)
.array()
}) })
.array() .array()
.optional() .optional()
@@ -619,6 +628,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
z.object({ z.object({
secret: SecretsSchema.omit({ secretBlindIndex: true }).merge( secret: SecretsSchema.omit({ secretBlindIndex: true }).merge(
z.object({ z.object({
_id: z.string(),
workspace: z.string(), workspace: z.string(),
environment: z.string() environment: z.string()
}) })
@@ -794,6 +804,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
z.object({ z.object({
secret: SecretsSchema.omit({ secretBlindIndex: true }).merge( secret: SecretsSchema.omit({ secretBlindIndex: true }).merge(
z.object({ z.object({
_id: z.string(),
workspace: z.string(), workspace: z.string(),
environment: z.string() environment: z.string()
}) })
@@ -963,6 +974,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
z.object({ z.object({
secret: SecretsSchema.omit({ secretBlindIndex: true }).merge( secret: SecretsSchema.omit({ secretBlindIndex: true }).merge(
z.object({ z.object({
_id: z.string(),
workspace: z.string(), workspace: z.string(),
environment: z.string() environment: z.string()
}) })
@@ -37,7 +37,12 @@ export const fnSecretsFromImports = async ({
environmentInfo: importEnv, environmentInfo: importEnv,
folderId: importedFolders?.[i]?.id, folderId: importedFolders?.[i]?.id,
secrets: importedFolders?.[i]?.id secrets: importedFolders?.[i]?.id
? importedSecsGroupByFolderId[importedFolders?.[i]?.id as string] ? importedSecsGroupByFolderId[importedFolders?.[i]?.id as string].map((item) => ({
...item,
environment: importEnv.slug,
workspace: "", // This field should not be used, it's only here to keep the older Python SDK versions backwards compatible with the new Postgres backend.
_id: item.id // The old Python SDK depends on the _id field being returned. We return this to keep the older Python SDK versions backwards compatible with the new Postgres backend.
}))
: [] : []
})); }));
}; };
+1 -1
View File
@@ -109,7 +109,7 @@ export const secretDALFactory = (db: TDbClient) => {
const data = sqlNestRelationships({ const data = sqlNestRelationships({
data: secs, data: secs,
key: "id", key: "id",
parentMapper: (el) => SecretsSchema.parse(el), parentMapper: (el) => ({ _id: el.id, ...SecretsSchema.parse(el) }),
childrenMapper: [ childrenMapper: [
{ {
key: "tagId", key: "tagId",
@@ -145,7 +145,7 @@ export const secretServiceFactory = ({
await secretVersionTagDAL.insertMany(newSecretVersionTags, tx); await secretVersionTagDAL.insertMany(newSecretVersionTags, tx);
} }
return newSecrets; return newSecrets.map((secret) => ({ ...secret, _id: secret.id }));
}; };
const fnSecretBulkUpdate = async ({ const fnSecretBulkUpdate = async ({
@@ -194,7 +194,7 @@ export const secretServiceFactory = ({
} }
} }
return newSecrets; return newSecrets.map((secret) => ({ ...secret, _id: secret.id }));
}; };
const fnSecretBulkDelete = async ({ const fnSecretBulkDelete = async ({
@@ -539,7 +539,7 @@ export const secretServiceFactory = ({
await secretQueueService.syncSecrets({ secretPath: path, projectId, environment }); await secretQueueService.syncSecrets({ secretPath: path, projectId, environment });
// TODO(akhilmhdh-pg): licence check, posthog service and snapshot // TODO(akhilmhdh-pg): licence check, posthog service and snapshot
return { ...deletedSecret[0], workspace: projectId, environment }; return { ...deletedSecret[0], _id: deletedSecret[0].id, workspace: projectId, environment };
}; };
const getSecrets = async ({ const getSecrets = async ({