diff --git a/packages/app-store/alby/appMetaDataSchema.ts b/packages/app-store/alby/appMetaDataSchema.ts new file mode 100644 index 00000000000000..ebeafe5448e4c7 --- /dev/null +++ b/packages/app-store/alby/appMetaDataSchema.ts @@ -0,0 +1,23 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/amie/appMetaDataSchema.ts b/packages/app-store/amie/appMetaDataSchema.ts new file mode 100644 index 00000000000000..33021086591b6f --- /dev/null +++ b/packages/app-store/amie/appMetaDataSchema.ts @@ -0,0 +1,21 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + dependencies: z.array(z.string()), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/around/appMetdaDataSchema.ts b/packages/app-store/around/appMetdaDataSchema.ts new file mode 100644 index 00000000000000..a6a6709a225198 --- /dev/null +++ b/packages/app-store/around/appMetdaDataSchema.ts @@ -0,0 +1,28 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + urlRegExp: z.string(), + organizerInputPlaceholder: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/autocheckin/appMetaDataSchema.ts b/packages/app-store/autocheckin/appMetaDataSchema.ts new file mode 100644 index 00000000000000..cf102076a44435 --- /dev/null +++ b/packages/app-store/autocheckin/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/baa-for-hipaa/appMetaDataSchema.ts b/packages/app-store/baa-for-hipaa/appMetaDataSchema.ts new file mode 100644 index 00000000000000..fd434991c2353d --- /dev/null +++ b/packages/app-store/baa-for-hipaa/appMetaDataSchema.ts @@ -0,0 +1,25 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + paid: z + .object({ + priceInUsd: z.number().positive(), + mode: z.enum(["subscription", "one-time"]), + }) + .optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/basecamp3/appMetaDataSchema.ts b/packages/app-store/basecamp3/appMetaDataSchema.ts new file mode 100644 index 00000000000000..4e828347535361 --- /dev/null +++ b/packages/app-store/basecamp3/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/bolna/appMetaDataSchema.ts b/packages/app-store/bolna/appMetaDataSchema.ts new file mode 100644 index 00000000000000..0ba98959422808 --- /dev/null +++ b/packages/app-store/bolna/appMetaDataSchema.ts @@ -0,0 +1,20 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/campfire/appMetaDataSchema.ts b/packages/app-store/campfire/appMetaDataSchema.ts new file mode 100644 index 00000000000000..561489cd9435f4 --- /dev/null +++ b/packages/app-store/campfire/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/campsite/appMetaDataSchema.ts b/packages/app-store/campsite/appMetaDataSchema.ts new file mode 100644 index 00000000000000..c4609c7d7cb11e --- /dev/null +++ b/packages/app-store/campsite/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + imageSrc: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/clic/appMetaDataSchema.ts b/packages/app-store/clic/appMetaDataSchema.ts new file mode 100644 index 00000000000000..0ba98959422808 --- /dev/null +++ b/packages/app-store/clic/appMetaDataSchema.ts @@ -0,0 +1,20 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/closecom/appMetaDataSchema.ts b/packages/app-store/closecom/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b944035b589180 --- /dev/null +++ b/packages/app-store/closecom/appMetaDataSchema.ts @@ -0,0 +1,20 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + extendsFeature: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean().optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/cron/appMetaDataSchema.ts b/packages/app-store/cron/appMetaDataSchema.ts new file mode 100644 index 00000000000000..efbb2f6336d943 --- /dev/null +++ b/packages/app-store/cron/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dependencies: z.array(z.string()), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/deel/appMetaDataSchema.ts b/packages/app-store/deel/appMetaDataSchema.ts new file mode 100644 index 00000000000000..bd2cec5d00ff82 --- /dev/null +++ b/packages/app-store/deel/appMetaDataSchema.ts @@ -0,0 +1,21 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/demodesk/appMetaDataSchema.ts b/packages/app-store/demodesk/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a3ce15007f9f72 --- /dev/null +++ b/packages/app-store/demodesk/appMetaDataSchema.ts @@ -0,0 +1,28 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/dialpad/appMetaDataSchema.ts b/packages/app-store/dialpad/appMetaDataSchema.ts new file mode 100644 index 00000000000000..1d6b240cf535fd --- /dev/null +++ b/packages/app-store/dialpad/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), + isTemplate: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/discord/appMetaDataSchema.ts b/packages/app-store/discord/appMetaDataSchema.ts new file mode 100644 index 00000000000000..1a5181a506f3ee --- /dev/null +++ b/packages/app-store/discord/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/eightxeight/appMetaDataSchema.ts b/packages/app-store/eightxeight/appMetaDataSchema.ts new file mode 100644 index 00000000000000..d05584097bdddd --- /dev/null +++ b/packages/app-store/eightxeight/appMetaDataSchema.ts @@ -0,0 +1,26 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), +}); + +export { configSchema }; diff --git a/packages/app-store/element-call/appMetaDataSchema.ts b/packages/app-store/element-call/appMetaDataSchema.ts new file mode 100644 index 00000000000000..f386797a154f6a --- /dev/null +++ b/packages/app-store/element-call/appMetaDataSchema.ts @@ -0,0 +1,25 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + isGlobal: z.boolean(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + simplePath: z.string(), + email: z.string().email(), + licenseRequired: z.boolean(), + teamsPlanRequired: z.object({ + upgradeUrl: z.string(), + }), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/exchangecalendar/appMetaDataSchema.ts b/packages/app-store/exchangecalendar/appMetaDataSchema.ts new file mode 100644 index 00000000000000..9892e12d5c0403 --- /dev/null +++ b/packages/app-store/exchangecalendar/appMetaDataSchema.ts @@ -0,0 +1,20 @@ +import { z } from "zod"; + +const configSchema = z.object({ + title: z.string(), + name: z.string(), + slug: z.string(), + dirName: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/facetime/appMetaDataSchema.ts b/packages/app-store/facetime/appMetaDataSchema.ts new file mode 100644 index 00000000000000..1d6b240cf535fd --- /dev/null +++ b/packages/app-store/facetime/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), + isTemplate: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/fathom/appMetaDataSchema.ts b/packages/app-store/fathom/appMetaDataSchema.ts new file mode 100644 index 00000000000000..80a9ad20fedb23 --- /dev/null +++ b/packages/app-store/fathom/appMetaDataSchema.ts @@ -0,0 +1,32 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + src: z.string().url(), + attrs: z.object({ + "data-site": z.string(), + }), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/ga4/appMetaDataSchema.ts b/packages/app-store/ga4/appMetaDataSchema.ts new file mode 100644 index 00000000000000..9ff5094b827054 --- /dev/null +++ b/packages/app-store/ga4/appMetaDataSchema.ts @@ -0,0 +1,31 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + src: z.string().optional(), + content: z.string().optional(), + attrs: z.record(z.string(), z.unknown()).optional(), + }) + ), + }), + }), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/horizon-workrooms/appMetaDataSchema.ts b/packages/app-store/horizon-workrooms/appMetaDataSchema.ts new file mode 100644 index 00000000000000..24a8406162d3a7 --- /dev/null +++ b/packages/app-store/horizon-workrooms/appMetaDataSchema.ts @@ -0,0 +1,28 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), +}); + +export { configSchema }; diff --git a/packages/app-store/ics-feedcalendar/appMetaDataSchema.ts b/packages/app-store/ics-feedcalendar/appMetaDataSchema.ts new file mode 100644 index 00000000000000..c8635903ecd613 --- /dev/null +++ b/packages/app-store/ics-feedcalendar/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + dirName: z.string(), + type: z.string(), + logo: z.string(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/intercom/appMetaDataSchema.ts b/packages/app-store/intercom/appMetaDataSchema.ts new file mode 100644 index 00000000000000..4d95179ae57ad7 --- /dev/null +++ b/packages/app-store/intercom/appMetaDataSchema.ts @@ -0,0 +1,21 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/jelly/appMetaDataSchema.ts b/packages/app-store/jelly/appMetaDataSchema.ts new file mode 100644 index 00000000000000..22a37473a1bfcd --- /dev/null +++ b/packages/app-store/jelly/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string().optional(), + linkType: z.string(), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string().optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/linear/appMetaDataSchema.ts b/packages/app-store/linear/appMetaDataSchema.ts new file mode 100644 index 00000000000000..6587f4370818c5 --- /dev/null +++ b/packages/app-store/linear/appMetaDataSchema.ts @@ -0,0 +1,20 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + dependencies: z.array(z.string()), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/make/appMetaDataSchema.ts b/packages/app-store/make/appMetaDataSchema.ts new file mode 100644 index 00000000000000..c4609c7d7cb11e --- /dev/null +++ b/packages/app-store/make/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + imageSrc: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/matomo/appMetaDataSchema.ts b/packages/app-store/matomo/appMetaDataSchema.ts new file mode 100644 index 00000000000000..e5dcbcb6eb66c0 --- /dev/null +++ b/packages/app-store/matomo/appMetaDataSchema.ts @@ -0,0 +1,31 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + src: z.string().url().optional(), + content: z.string().optional(), + attrs: z.object({}).optional(), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean().optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/metapixel/appMetaDataSchema.ts b/packages/app-store/metapixel/appMetaDataSchema.ts new file mode 100644 index 00000000000000..9f4d6d6951d7b9 --- /dev/null +++ b/packages/app-store/metapixel/appMetaDataSchema.ts @@ -0,0 +1,30 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + content: z.string(), + }) + ), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/mirotalk/appMetaDataSchema.ts b/packages/app-store/mirotalk/appMetaDataSchema.ts new file mode 100644 index 00000000000000..38bd6945b56233 --- /dev/null +++ b/packages/app-store/mirotalk/appMetaDataSchema.ts @@ -0,0 +1,31 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string().regex(/^(http|https):\/\/(p2p|sfu)\.mirotalk\.com\/join\/[a-zA-Z0-9]+$/), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/mock-payment-app/appMetaDataSchema.ts b/packages/app-store/mock-payment-app/appMetaDataSchema.ts new file mode 100644 index 00000000000000..f25cb6ba17148f --- /dev/null +++ b/packages/app-store/mock-payment-app/appMetaDataSchema.ts @@ -0,0 +1,33 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + content: z.string(), + }) + ), + pushEventScript: z.object({ + content: z.string(), + }), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/n8n/appMetaDataSchema.ts b/packages/app-store/n8n/appMetaDataSchema.ts new file mode 100644 index 00000000000000..23cc34b953c71e --- /dev/null +++ b/packages/app-store/n8n/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/nextcloudtalk/appMetaDataSchema.ts b/packages/app-store/nextcloudtalk/appMetaDataSchema.ts new file mode 100644 index 00000000000000..0ce3e2415412e3 --- /dev/null +++ b/packages/app-store/nextcloudtalk/appMetaDataSchema.ts @@ -0,0 +1,25 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/office365video/appMetaDataSchema.ts b/packages/app-store/office365video/appMetaDataSchema.ts new file mode 100644 index 00000000000000..d2580c065d8bcb --- /dev/null +++ b/packages/app-store/office365video/appMetaDataSchema.ts @@ -0,0 +1,31 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + description: z.string(), + type: z.string(), + variant: z.string(), + logo: z.string(), + publisher: z.string(), + url: z.string().url(), + verified: z.boolean(), + rating: z.number().min(0).max(5), + reviews: z.number().min(0), + categories: z.array(z.string()), + slug: z.string(), + title: z.string(), + trending: z.boolean(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + }), + }), + dirName: z.string(), + concurrentMeetings: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/paypal/appMetaDataSchema.ts b/packages/app-store/paypal/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b78bfbe6e3a804 --- /dev/null +++ b/packages/app-store/paypal/appMetaDataSchema.ts @@ -0,0 +1,23 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + imageSrc: z.string(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/ping/appMetaDataSchema.ts b/packages/app-store/ping/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a0efa6a762f5ce --- /dev/null +++ b/packages/app-store/ping/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/pipedream/appMetaDataSchema.ts b/packages/app-store/pipedream/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a1238965544729 --- /dev/null +++ b/packages/app-store/pipedream/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/pipedrive-crm/appMetaDataSchema.ts b/packages/app-store/pipedrive-crm/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b65680a473040f --- /dev/null +++ b/packages/app-store/pipedrive-crm/appMetaDataSchema.ts @@ -0,0 +1,21 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + extendsFeature: z.string(), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + dirName: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/plausible/appMetaDataSchema.ts b/packages/app-store/plausible/appMetaDataSchema.ts new file mode 100644 index 00000000000000..9df0a624c330fd --- /dev/null +++ b/packages/app-store/plausible/appMetaDataSchema.ts @@ -0,0 +1,32 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + src: z.string().url(), + attrs: z.object({ + "data-domain": z.string(), + }), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/posthog/appMetaDataSchema.ts b/packages/app-store/posthog/appMetaDataSchema.ts new file mode 100644 index 00000000000000..96394d53964776 --- /dev/null +++ b/packages/app-store/posthog/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + content: z.string(), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/qr_code/appMetaDataSchema.ts b/packages/app-store/qr_code/appMetaDataSchema.ts new file mode 100644 index 00000000000000..5f062f1edccb75 --- /dev/null +++ b/packages/app-store/qr_code/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + extendsFeature: z.string(), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/raycast/appMetaDataSchema.ts b/packages/app-store/raycast/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a1238965544729 --- /dev/null +++ b/packages/app-store/raycast/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/retell-ai/appMetaDataSchema.ts b/packages/app-store/retell-ai/appMetaDataSchema.ts new file mode 100644 index 00000000000000..cf102076a44435 --- /dev/null +++ b/packages/app-store/retell-ai/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/riverside/appMetaDataSchema.ts b/packages/app-store/riverside/appMetaDataSchema.ts new file mode 100644 index 00000000000000..10721a31161822 --- /dev/null +++ b/packages/app-store/riverside/appMetaDataSchema.ts @@ -0,0 +1,26 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + label: z.string(), + urlRegExp: z.string(), + type: z.string(), + linkType: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/roam/appMetaDataSchema.ts b/packages/app-store/roam/appMetaDataSchema.ts new file mode 100644 index 00000000000000..03632de114dd92 --- /dev/null +++ b/packages/app-store/roam/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/routing-forms/appMetaDataSchema.ts b/packages/app-store/routing-forms/appMetaDataSchema.ts new file mode 100644 index 00000000000000..f386797a154f6a --- /dev/null +++ b/packages/app-store/routing-forms/appMetaDataSchema.ts @@ -0,0 +1,25 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + isGlobal: z.boolean(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + simplePath: z.string(), + email: z.string().email(), + licenseRequired: z.boolean(), + teamsPlanRequired: z.object({ + upgradeUrl: z.string(), + }), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/salesforce/appMetaDataSchema.ts b/packages/app-store/salesforce/appMetaDataSchema.ts new file mode 100644 index 00000000000000..8fdf77838be660 --- /dev/null +++ b/packages/app-store/salesforce/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + extendsFeature: z.string(), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isOAuth: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/salesroom/appMetaDataSchema.ts b/packages/app-store/salesroom/appMetaDataSchema.ts new file mode 100644 index 00000000000000..23fbb390296c1c --- /dev/null +++ b/packages/app-store/salesroom/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string().optional(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), + isOAuth: z.boolean().optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/sendgrid/appMetaDataSchema.ts b/packages/app-store/sendgrid/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a1238965544729 --- /dev/null +++ b/packages/app-store/sendgrid/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/shimmervideo/appMetaDataSchema.ts b/packages/app-store/shimmervideo/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b0f981f582378f --- /dev/null +++ b/packages/app-store/shimmervideo/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + }), + }), + isOAuth: z.boolean().optional(), +}); + +export { configSchema }; diff --git a/packages/app-store/signal/appMetaDataSchema.ts b/packages/app-store/signal/appMetaDataSchema.ts new file mode 100644 index 00000000000000..06f106c5f9b9fb --- /dev/null +++ b/packages/app-store/signal/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isOAuth: z.boolean(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), +}); + +export { configSchema }; diff --git a/packages/app-store/sirius_video/appMetaDataSchema.ts b/packages/app-store/sirius_video/appMetaDataSchema.ts new file mode 100644 index 00000000000000..5614251cf30ce7 --- /dev/null +++ b/packages/app-store/sirius_video/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + isOAuth: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/skype/appMetaDataSchema.ts b/packages/app-store/skype/appMetaDataSchema.ts new file mode 100644 index 00000000000000..03632de114dd92 --- /dev/null +++ b/packages/app-store/skype/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/sylapsvideo/appMetaDataSchema.ts b/packages/app-store/sylapsvideo/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b8aeb095f7ca85 --- /dev/null +++ b/packages/app-store/sylapsvideo/appMetaDataSchema.ts @@ -0,0 +1,26 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + }), + }), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/synthflow/appMetaDataSchema.ts b/packages/app-store/synthflow/appMetaDataSchema.ts new file mode 100644 index 00000000000000..cf102076a44435 --- /dev/null +++ b/packages/app-store/synthflow/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/telegram/appMetaDataSchema.ts b/packages/app-store/telegram/appMetaDataSchema.ts new file mode 100644 index 00000000000000..d05584097bdddd --- /dev/null +++ b/packages/app-store/telegram/appMetaDataSchema.ts @@ -0,0 +1,26 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), +}); + +export { configSchema }; diff --git a/packages/app-store/telli/appMetaDataSchema.ts b/packages/app-store/telli/appMetaDataSchema.ts new file mode 100644 index 00000000000000..cf102076a44435 --- /dev/null +++ b/packages/app-store/telli/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/basic/appMetaDataSchema.ts b/packages/app-store/templates/basic/appMetaDataSchema.ts new file mode 100644 index 00000000000000..cf102076a44435 --- /dev/null +++ b/packages/app-store/templates/basic/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/booking-pages-tag/appMetaDataSchema.ts b/packages/app-store/templates/booking-pages-tag/appMetaDataSchema.ts new file mode 100644 index 00000000000000..c68c8f7ed22f65 --- /dev/null +++ b/packages/app-store/templates/booking-pages-tag/appMetaDataSchema.ts @@ -0,0 +1,31 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + src: z.string().url(), + attrs: z.object({ + "data-site": z.string(), + }), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/event-type-app-card/appMetaDataSchema.ts b/packages/app-store/templates/event-type-app-card/appMetaDataSchema.ts new file mode 100644 index 00000000000000..252f1153894332 --- /dev/null +++ b/packages/app-store/templates/event-type-app-card/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/event-type-location-video-static/appMetaDataSchema.ts b/packages/app-store/templates/event-type-location-video-static/appMetaDataSchema.ts new file mode 100644 index 00000000000000..885c903b47f91a --- /dev/null +++ b/packages/app-store/templates/event-type-location-video-static/appMetaDataSchema.ts @@ -0,0 +1,27 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string().url(), + urlRegExp: z.string(), + }), + }), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/general-app-settings/appMetaDataSchema.ts b/packages/app-store/templates/general-app-settings/appMetaDataSchema.ts new file mode 100644 index 00000000000000..947a2ea9bf34a3 --- /dev/null +++ b/packages/app-store/templates/general-app-settings/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/templates/link-as-an-app/appMetaDataSchema.ts b/packages/app-store/templates/link-as-an-app/appMetaDataSchema.ts new file mode 100644 index 00000000000000..947a2ea9bf34a3 --- /dev/null +++ b/packages/app-store/templates/link-as-an-app/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/twipla/appMetaDataSchema.ts b/packages/app-store/twipla/appMetaDataSchema.ts new file mode 100644 index 00000000000000..96394d53964776 --- /dev/null +++ b/packages/app-store/twipla/appMetaDataSchema.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + appData: z.object({ + tag: z.object({ + scripts: z.array( + z.object({ + content: z.string(), + }) + ), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), +}); + +export { configSchema }; diff --git a/packages/app-store/typeform/appMetaDataSchema.ts b/packages/app-store/typeform/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b62b65a449e0ff --- /dev/null +++ b/packages/app-store/typeform/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + title: z.string().optional(), // Optional title field if required + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/umami/appMetaDataSchema.ts b/packages/app-store/umami/appMetaDataSchema.ts new file mode 100644 index 00000000000000..b78bfbe6e3a804 --- /dev/null +++ b/packages/app-store/umami/appMetaDataSchema.ts @@ -0,0 +1,23 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + extendsFeature: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + imageSrc: z.string(), + __template: z.string(), + dirName: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/vimcal/appMetaDataSchema.ts b/packages/app-store/vimcal/appMetaDataSchema.ts new file mode 100644 index 00000000000000..99560614e06879 --- /dev/null +++ b/packages/app-store/vimcal/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + dependencies: z.array(z.string()), // Added dependency validation + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/weather_in_your_calendar/appMetaDataSchema.ts b/packages/app-store/weather_in_your_calendar/appMetaDataSchema.ts new file mode 100644 index 00000000000000..a1238965544729 --- /dev/null +++ b/packages/app-store/weather_in_your_calendar/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/webex/appMetaDataSchema.ts b/packages/app-store/webex/appMetaDataSchema.ts new file mode 100644 index 00000000000000..e9ed0fefc138f6 --- /dev/null +++ b/packages/app-store/webex/appMetaDataSchema.ts @@ -0,0 +1,30 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + imageSrc: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + }), + }), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + concurrentMeetings: z.boolean(), + isAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/whatsapp/appMetaDataSchema.ts b/packages/app-store/whatsapp/appMetaDataSchema.ts new file mode 100644 index 00000000000000..ec82c56c804810 --- /dev/null +++ b/packages/app-store/whatsapp/appMetaDataSchema.ts @@ -0,0 +1,28 @@ +import { z } from "zod"; + +const configSchema = z.object({ + "/*": z.string(), + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + type: z.string(), + label: z.string(), + linkType: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + isAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/whereby/appMetaDataSchema.ts b/packages/app-store/whereby/appMetaDataSchema.ts new file mode 100644 index 00000000000000..62a5f34e7ed643 --- /dev/null +++ b/packages/app-store/whereby/appMetaDataSchema.ts @@ -0,0 +1,28 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + title: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + appData: z.object({ + location: z.object({ + linkType: z.string(), + type: z.string(), + label: z.string(), + organizerInputPlaceholder: z.string(), + urlRegExp: z.string(), + }), + }), + isAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/wordpress/appMetaDataSchema.ts b/packages/app-store/wordpress/appMetaDataSchema.ts new file mode 100644 index 00000000000000..2276d02c4963c5 --- /dev/null +++ b/packages/app-store/wordpress/appMetaDataSchema.ts @@ -0,0 +1,18 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + __createdUsingCli: z.boolean(), + isAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/zoho-bigin/appMetaDataSchema.ts b/packages/app-store/zoho-bigin/appMetaDataSchema.ts new file mode 100644 index 00000000000000..48247cbaf23c27 --- /dev/null +++ b/packages/app-store/zoho-bigin/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + extendsFeature: z.string(), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string(), + scope: z.string(), + isOAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/zohocalendar/appMetaDataSchema.ts b/packages/app-store/zohocalendar/appMetaDataSchema.ts new file mode 100644 index 00000000000000..3105f41d463c9c --- /dev/null +++ b/packages/app-store/zohocalendar/appMetaDataSchema.ts @@ -0,0 +1,19 @@ +import { z } from "zod"; + +const configSchema = z.object({ + name: z.string(), + description: z.string(), + slug: z.string(), + type: z.string(), + title: z.string(), + variant: z.string(), + category: z.string(), + categories: z.array(z.string()), + logo: z.string(), + publisher: z.string(), + url: z.string().url(), + email: z.string().email(), + isAuth: z.boolean(), +}); + +export { configSchema }; diff --git a/packages/app-store/zohocrm/appMetaDataSchema.ts b/packages/app-store/zohocrm/appMetaDataSchema.ts new file mode 100644 index 00000000000000..59762190908b0f --- /dev/null +++ b/packages/app-store/zohocrm/appMetaDataSchema.ts @@ -0,0 +1,22 @@ +import { z } from "zod"; + +const configSchema = z.object({ + title: z.string().optional(), // Optional title field if required + name: z.string(), + slug: z.string(), + type: z.string(), + logo: z.string(), + url: z.string().url(), + variant: z.string(), + categories: z.array(z.string()), + extendsFeature: z.string(), + publisher: z.string(), + email: z.string().email(), + description: z.string(), + isTemplate: z.boolean(), + __createdUsingCli: z.boolean(), + __template: z.string().optional(), // Optional template field if present + isOAuth: z.boolean(), +}); + +export { configSchema };