n8n-nodes-base
Version:
Base nodes of n8n
27 lines (25 loc) • 2.78 kB
JavaScript
/**
* Google Cloud Storage Node - Version 1 - Zod Schema
* Discriminator: resource=bucket, operation=create
*
* Use .parse() for strict validation or .safeParse() for error handling.
*
* Schema helpers (z, expressionSchema, etc.) are passed as parameters
* by the schema-validator, not imported from external files.
*
* @generated - CommonJS JavaScript for runtime loading
*/
module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
return z.object({
parameters: z.object({
resource: z.literal('bucket').default('bucket'),
operation: z.literal('create'),
projectId: stringOrExpression.optional(),
bucketName: stringOrExpression.optional(),
projection: z.union([z.literal('full'), z.literal('noAcl')]).optional(),
createAcl: z.object({ predefinedAcl: z.union([z.literal('authenticatedRead'), z.literal('private'), z.literal('projectPrivate'), z.literal('publicRead'), z.literal('publicReadWrite')]).optional(), predefinedDefaultObjectAcl: z.union([z.literal('authenticatedRead'), z.literal('bucketOwnerFullControl'), z.literal('bucketOwnerRead'), z.literal('private'), z.literal('projectPrivate'), z.literal('publicRead')]).optional() }).optional(),
createBody: z.object({ acl: z.union([iDataObjectSchema, z.string()]).optional(), billing: z.union([iDataObjectSchema, z.string()]).optional(), cors: z.union([iDataObjectSchema, z.string()]).optional(), customPlacementConfig: z.union([iDataObjectSchema, z.string()]).optional(), dataLocations: z.union([iDataObjectSchema, z.string()]).optional(), defaultEventBasedHold: booleanOrExpression.optional(), defaultObjectAcl: z.union([iDataObjectSchema, z.string()]).optional(), encryption: z.union([iDataObjectSchema, z.string()]).optional(), iamConfiguration: z.union([iDataObjectSchema, z.string()]).optional(), labels: z.union([iDataObjectSchema, z.string()]).optional(), lifecycle: z.union([iDataObjectSchema, z.string()]).optional(), location: stringOrExpression.optional(), logging: z.union([iDataObjectSchema, z.string()]).optional(), retentionPolicy: z.union([iDataObjectSchema, z.string()]).optional(), rpo: stringOrExpression.optional(), storageClass: stringOrExpression.optional(), versioning: z.union([iDataObjectSchema, z.string()]).optional(), website: z.union([iDataObjectSchema, z.string()]).optional() }).optional(),
requestOptions: z.object({ batching: z.unknown().optional(), allowUnauthorizedCerts: z.boolean().optional(), proxy: stringOrExpression.optional(), timeout: numberOrExpression.optional() }).optional(),
}).optional(),
});
};