feat: organization endpoints (#5076)

Co-authored-by: Dhruwang <dhruwangjariwala18@gmail.com>
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
This commit is contained in:
victorvhs017
2025-04-05 08:54:21 -03:00
committed by GitHub
parent cbf2343143
commit c03e60ac0b
74 changed files with 3492 additions and 390 deletions

View File

@@ -2,18 +2,25 @@ import { contactAttributeKeyPaths } from "@/modules/api/v2/management/contact-at
import { contactAttributePaths } from "@/modules/api/v2/management/contact-attributes/lib/openapi";
import { contactPaths } from "@/modules/api/v2/management/contacts/lib/openapi";
import { responsePaths } from "@/modules/api/v2/management/responses/lib/openapi";
import { rolePaths } from "@/modules/api/v2/management/roles/lib/openapi";
import { surveyPaths } from "@/modules/api/v2/management/surveys/lib/openapi";
import { webhookPaths } from "@/modules/api/v2/management/webhooks/lib/openapi";
import { mePaths } from "@/modules/api/v2/me/lib/openapi";
import { projectTeamPaths } from "@/modules/api/v2/organizations/[organizationId]/project-teams/lib/openapi";
import { teamPaths } from "@/modules/api/v2/organizations/[organizationId]/teams/lib/openapi";
import { rolePaths } from "@/modules/api/v2/roles/lib/openapi";
import { bulkContactPaths } from "@/modules/ee/contacts/api/v2/management/contacts/bulk/lib/openapi";
import * as yaml from "yaml";
import { z } from "zod";
import { createDocument, extendZodWithOpenApi } from "zod-openapi";
import { ZApiKeyData } from "@formbricks/database/zod/api-keys";
import { ZContact } from "@formbricks/database/zod/contact";
import { ZContactAttributeKey } from "@formbricks/database/zod/contact-attribute-keys";
import { ZContactAttribute } from "@formbricks/database/zod/contact-attributes";
import { ZProjectTeam } from "@formbricks/database/zod/project-teams";
import { ZResponse } from "@formbricks/database/zod/responses";
import { ZRoles } from "@formbricks/database/zod/roles";
import { ZSurveyWithoutQuestionType } from "@formbricks/database/zod/surveys";
import { ZTeam } from "@formbricks/database/zod/teams";
import { ZWebhook } from "@formbricks/database/zod/webhooks";
extendZodWithOpenApi(z);
@@ -26,6 +33,8 @@ const document = createDocument({
version: "2.0.0",
},
paths: {
...rolePaths,
...mePaths,
...responsePaths,
...bulkContactPaths,
...contactPaths,
@@ -33,7 +42,8 @@ const document = createDocument({
...contactAttributeKeyPaths,
...surveyPaths,
...webhookPaths,
...rolePaths,
...teamPaths,
...projectTeamPaths,
},
servers: [
{
@@ -42,6 +52,14 @@ const document = createDocument({
},
],
tags: [
{
name: "Roles",
description: "Operations for managing roles.",
},
{
name: "Me",
description: "Operations for managing your API key.",
},
{
name: "Management API > Responses",
description: "Operations for managing responses.",
@@ -67,8 +85,12 @@ const document = createDocument({
description: "Operations for managing webhooks.",
},
{
name: "Management API > Roles",
description: "Operations for managing roles.",
name: "Organizations API > Teams",
description: "Operations for managing teams.",
},
{
name: "Organizations API > Project Teams",
description: "Operations for managing project teams.",
},
],
components: {
@@ -81,13 +103,16 @@ const document = createDocument({
},
},
schemas: {
role: ZRoles,
me: ZApiKeyData,
response: ZResponse,
contact: ZContact,
contactAttribute: ZContactAttribute,
contactAttributeKey: ZContactAttributeKey,
survey: ZSurveyWithoutQuestionType,
webhook: ZWebhook,
role: z.array(z.string()),
team: ZTeam,
projectTeam: ZProjectTeam,
},
},
security: [