import { Option, Schema } from "effect";import { AuthenticationSchema, type Authentication } from "@executor-js/plugin-openapi"; export const GoogleIntegrationConfigSchema = Schema.Struct({ specHash: Schema.optional(Schema.String), sourceUrl: Schema.optional(Schema.String), googleDiscoveryUrls: Schema.optional(Schema.Array(Schema.String)), baseUrl: Schema.optional(Schema.String), headers: Schema.optional(Schema.Record(Schema.String, Schema.String)), queryParams: Schema.optional(Schema.Record(Schema.String, Schema.String)), authenticationTemplate: Schema.optional(Schema.Array(AuthenticationSchema)),}); export type GoogleIntegrationConfig = Omit< typeof GoogleIntegrationConfigSchema.Type, "authenticationTemplate"> & { readonly authenticationTemplate?: readonly Authentication[];}; const decodeConfig = Schema.decodeUnknownOption(GoogleIntegrationConfigSchema); export const decodeGoogleIntegrationConfig = (value: unknown): GoogleIntegrationConfig | null => Option.getOrNull(decodeConfig(value)) as GoogleIntegrationConfig | null;
import { Option, Schema } from "effect";
import { AuthenticationSchema, type Authentication } from "@executor-js/plugin-openapi";
export const GoogleIntegrationConfigSchema = Schema.Struct({
specHash: Schema.optional(Schema.String),
sourceUrl: Schema.optional(Schema.String),
googleDiscoveryUrls: Schema.optional(Schema.Array(Schema.String)),
baseUrl: Schema.optional(Schema.String),
headers: Schema.optional(Schema.Record(Schema.String, Schema.String)),
queryParams: Schema.optional(Schema.Record(Schema.String, Schema.String)),
authenticationTemplate: Schema.optional(Schema.Array(AuthenticationSchema)),
});
export type GoogleIntegrationConfig = Omit<
typeof GoogleIntegrationConfigSchema.Type,
"authenticationTemplate"
> & {
readonly authenticationTemplate?: readonly Authentication[];
};
const decodeConfig = Schema.decodeUnknownOption(GoogleIntegrationConfigSchema);
export const decodeGoogleIntegrationConfig = (value: unknown): GoogleIntegrationConfig | null =>
Option.getOrNull(decodeConfig(value)) as GoogleIntegrationConfig | null;