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

60 lines
2.1 KiB
JavaScript

// src/interface/crud/team-memberships.ts
import { createCrud } from "../../crud";
import { yupMixed, yupObject, yupString } from "../../schema-fields";
var teamMembershipsCrudClientReadSchema = yupObject({
team_id: yupString().defined(),
user_id: yupString().defined()
}).defined();
var teamMembershipsCrudServerCreateSchema = yupObject({}).defined();
var teamMembershipsCrudClientDeleteSchema = yupMixed();
var teamMembershipsCrud = createCrud({
// Client
clientReadSchema: teamMembershipsCrudClientReadSchema,
clientDeleteSchema: teamMembershipsCrudClientDeleteSchema,
// Server
serverCreateSchema: teamMembershipsCrudServerCreateSchema,
docs: {
serverCreate: {
summary: "Add a user to a team",
description: "",
tags: ["Teams"]
},
clientDelete: {
summary: "Remove a user from a team",
description: "All the users are allowed to remove themselves from a team (`user_id=me`). Only the users who have the `$remove_members` permission are allowed to remove other users from a team. `team_id` is must an ID of a team that the user is a member of.",
tags: ["Teams"]
},
serverDelete: {
summary: "Remove a user from a team",
description: "",
tags: ["Teams"]
}
}
});
var teamMembershipCreatedWebhookEvent = {
type: "team_membership.created",
schema: teamMembershipsCrud.server.readSchema,
metadata: {
summary: "Team Membership Created",
description: "This event is triggered when a user is added to a team.",
tags: ["Teams"]
}
};
var teamMembershipDeletedWebhookEvent = {
type: "team_membership.deleted",
schema: teamMembershipsCrud.server.readSchema,
metadata: {
summary: "Team Membership Deleted",
description: "This event is triggered when a user is removed from a team.",
tags: ["Teams"]
}
};
export {
teamMembershipCreatedWebhookEvent,
teamMembershipDeletedWebhookEvent,
teamMembershipsCrud,
teamMembershipsCrudClientDeleteSchema,
teamMembershipsCrudClientReadSchema,
teamMembershipsCrudServerCreateSchema
};
//# sourceMappingURL=team-memberships.js.map