eigent/package/@stackframe/stack-shared/dist/esm/interface/crud/teams.js

143 lines
5.1 KiB
JavaScript

// src/interface/crud/teams.ts
import { createCrud } from "../../crud";
import * as fieldSchema from "../../schema-fields";
import { yupObject as yupObject2 } from "../../schema-fields";
var teamsCrudClientReadSchema = yupObject2({
id: fieldSchema.teamIdSchema.defined(),
display_name: fieldSchema.teamDisplayNameSchema.defined(),
profile_image_url: fieldSchema.teamProfileImageUrlSchema.nullable().defined(),
client_metadata: fieldSchema.teamClientMetadataSchema.optional(),
client_read_only_metadata: fieldSchema.teamClientReadOnlyMetadataSchema.optional()
}).defined();
var teamsCrudServerReadSchema = teamsCrudClientReadSchema.concat(yupObject2({
created_at_millis: fieldSchema.teamCreatedAtMillisSchema.defined(),
server_metadata: fieldSchema.teamServerMetadataSchema.optional()
}).defined());
var teamsCrudClientUpdateSchema = yupObject2({
display_name: fieldSchema.teamDisplayNameSchema.optional(),
profile_image_url: fieldSchema.teamProfileImageUrlSchema.nullable().optional(),
client_metadata: fieldSchema.teamClientMetadataSchema.optional()
}).defined();
var teamsCrudServerUpdateSchema = teamsCrudClientUpdateSchema.concat(yupObject2({
client_read_only_metadata: fieldSchema.teamClientReadOnlyMetadataSchema.optional(),
server_metadata: fieldSchema.teamServerMetadataSchema.optional()
}).defined());
var teamsCrudClientCreateSchema = teamsCrudClientUpdateSchema.concat(yupObject2({
display_name: fieldSchema.teamDisplayNameSchema.defined(),
creator_user_id: fieldSchema.teamCreatorUserIdSchema.optional()
}).defined());
var teamsCrudServerCreateSchema = teamsCrudServerUpdateSchema.concat(yupObject2({
display_name: fieldSchema.teamDisplayNameSchema.defined(),
creator_user_id: fieldSchema.teamCreatorUserIdSchema.optional()
}).defined());
var teamsCrudClientDeleteSchema = fieldSchema.yupMixed();
var teamsCrudServerDeleteSchema = teamsCrudClientDeleteSchema;
var teamsCrud = createCrud({
// Client
clientReadSchema: teamsCrudClientReadSchema,
clientUpdateSchema: teamsCrudClientUpdateSchema,
clientCreateSchema: teamsCrudClientCreateSchema,
clientDeleteSchema: teamsCrudClientDeleteSchema,
// Server
serverReadSchema: teamsCrudServerReadSchema,
serverUpdateSchema: teamsCrudServerUpdateSchema,
serverCreateSchema: teamsCrudServerCreateSchema,
serverDeleteSchema: teamsCrudServerDeleteSchema,
docs: {
clientList: {
summary: "List teams",
description: "List all the teams that the current user is a member of. `user_id=me` must be passed in the query parameters.",
tags: ["Teams"]
},
clientCreate: {
summary: "Create a team",
description: "Create a new team and optionally add the current user as a member.",
tags: ["Teams"]
},
clientRead: {
summary: "Get a team",
description: "Get a team that the current user is a member of.",
tags: ["Teams"]
},
clientUpdate: {
summary: "Update a team",
description: "Update the team information. Only allowed if the current user is a member of the team and has the `$update_team` permission.",
tags: ["Teams"]
},
clientDelete: {
summary: "Delete a team",
description: "Delete a team. Only allowed if the current user is a member of the team and has the `$delete_team` permission.",
tags: ["Teams"]
},
serverCreate: {
summary: "Create a team",
description: "Create a new team and optionally add the current user as a member.",
tags: ["Teams"]
},
serverList: {
summary: "List teams",
description: "List all the teams in the project.",
tags: ["Teams"]
},
serverRead: {
summary: "Get a team",
description: "Get a team by ID.",
tags: ["Teams"]
},
serverUpdate: {
summary: "Update a team",
description: "Update the team information by ID.",
tags: ["Teams"]
},
serverDelete: {
summary: "Delete a team",
description: "Delete a team by ID.",
tags: ["Teams"]
}
}
});
var teamCreatedWebhookEvent = {
type: "team.created",
schema: teamsCrud.server.readSchema,
metadata: {
summary: "Team Created",
description: "This event is triggered when a team is created.",
tags: ["Teams"]
}
};
var teamUpdatedWebhookEvent = {
type: "team.updated",
schema: teamsCrud.server.readSchema,
metadata: {
summary: "Team Updated",
description: "This event is triggered when a team is updated.",
tags: ["Teams"]
}
};
var webhookTeamDeletedSchema = fieldSchema.yupObject({
id: fieldSchema.userIdSchema.defined()
}).defined();
var teamDeletedWebhookEvent = {
type: "team.deleted",
schema: webhookTeamDeletedSchema,
metadata: {
summary: "Team Deleted",
description: "This event is triggered when a team is deleted.",
tags: ["Teams"]
}
};
export {
teamCreatedWebhookEvent,
teamDeletedWebhookEvent,
teamUpdatedWebhookEvent,
teamsCrud,
teamsCrudClientCreateSchema,
teamsCrudClientDeleteSchema,
teamsCrudClientReadSchema,
teamsCrudClientUpdateSchema,
teamsCrudServerCreateSchema,
teamsCrudServerDeleteSchema,
teamsCrudServerReadSchema,
teamsCrudServerUpdateSchema
};
//# sourceMappingURL=teams.js.map