Initial commit of eigent-main

This commit is contained in:
puzhen 2025-08-12 01:16:39 +02:00
commit 723df5a03e
1144 changed files with 103478 additions and 0 deletions

View file

@ -0,0 +1,77 @@
// src/interface/crud/contact-channels.ts
import { createCrud } from "../../crud";
import { contactChannelIdSchema, contactChannelIsPrimarySchema, contactChannelIsVerifiedSchema, contactChannelTypeSchema, contactChannelUsedForAuthSchema, contactChannelValueSchema, userIdOrMeSchema, userIdSchema, yupMixed, yupObject } from "../../schema-fields";
var contactChannelsClientReadSchema = yupObject({
user_id: userIdSchema.defined(),
id: contactChannelIdSchema.defined(),
value: contactChannelValueSchema.defined(),
type: contactChannelTypeSchema.defined(),
used_for_auth: contactChannelUsedForAuthSchema.defined(),
is_verified: contactChannelIsVerifiedSchema.defined(),
is_primary: contactChannelIsPrimarySchema.defined()
}).defined();
var contactChannelsCrudClientUpdateSchema = yupObject({
value: contactChannelValueSchema.optional(),
type: contactChannelTypeSchema.optional(),
used_for_auth: contactChannelUsedForAuthSchema.optional(),
is_primary: contactChannelIsPrimarySchema.optional()
}).defined();
var contactChannelsCrudServerUpdateSchema = contactChannelsCrudClientUpdateSchema.concat(yupObject({
is_verified: contactChannelIsVerifiedSchema.optional()
}));
var contactChannelsCrudClientCreateSchema = yupObject({
user_id: userIdOrMeSchema.defined(),
value: contactChannelValueSchema.defined(),
type: contactChannelTypeSchema.defined(),
used_for_auth: contactChannelUsedForAuthSchema.defined(),
is_primary: contactChannelIsPrimarySchema.optional()
}).defined();
var contactChannelsCrudServerCreateSchema = contactChannelsCrudClientCreateSchema.concat(yupObject({
is_verified: contactChannelIsVerifiedSchema.optional()
}));
var contactChannelsCrudClientDeleteSchema = yupMixed();
var contactChannelsCrud = createCrud({
clientReadSchema: contactChannelsClientReadSchema,
clientUpdateSchema: contactChannelsCrudClientUpdateSchema,
clientCreateSchema: contactChannelsCrudClientCreateSchema,
clientDeleteSchema: contactChannelsCrudClientDeleteSchema,
serverUpdateSchema: contactChannelsCrudServerUpdateSchema,
serverCreateSchema: contactChannelsCrudServerCreateSchema,
docs: {
clientRead: {
summary: "Get a contact channel",
description: "Retrieves a specific contact channel by the user ID and the contact channel ID.",
tags: ["Contact Channels"]
},
clientCreate: {
summary: "Create a contact channel",
description: "Add a new contact channel for a user.",
tags: ["Contact Channels"]
},
clientUpdate: {
summary: "Update a contact channel",
description: "Updates an existing contact channel. Only the values provided will be updated.",
tags: ["Contact Channels"]
},
clientDelete: {
summary: "Delete a contact channel",
description: "Removes a contact channel for a given user.",
tags: ["Contact Channels"]
},
clientList: {
summary: "List contact channels",
description: "Retrieves a list of all contact channels for a user.",
tags: ["Contact Channels"]
}
}
});
export {
contactChannelsClientReadSchema,
contactChannelsCrud,
contactChannelsCrudClientCreateSchema,
contactChannelsCrudClientDeleteSchema,
contactChannelsCrudClientUpdateSchema,
contactChannelsCrudServerCreateSchema,
contactChannelsCrudServerUpdateSchema
};
//# sourceMappingURL=contact-channels.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/contact-channels.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { contactChannelIdSchema, contactChannelIsPrimarySchema, contactChannelIsVerifiedSchema, contactChannelTypeSchema, contactChannelUsedForAuthSchema, contactChannelValueSchema, userIdOrMeSchema, userIdSchema, yupMixed, yupObject } from \"../../schema-fields\";\n\nexport const contactChannelsClientReadSchema = yupObject({\n user_id: userIdSchema.defined(),\n id: contactChannelIdSchema.defined(),\n value: contactChannelValueSchema.defined(),\n type: contactChannelTypeSchema.defined(),\n used_for_auth: contactChannelUsedForAuthSchema.defined(),\n is_verified: contactChannelIsVerifiedSchema.defined(),\n is_primary: contactChannelIsPrimarySchema.defined(),\n}).defined();\n\nexport const contactChannelsCrudClientUpdateSchema = yupObject({\n value: contactChannelValueSchema.optional(),\n type: contactChannelTypeSchema.optional(),\n used_for_auth: contactChannelUsedForAuthSchema.optional(),\n is_primary: contactChannelIsPrimarySchema.optional(),\n}).defined();\n\nexport const contactChannelsCrudServerUpdateSchema = contactChannelsCrudClientUpdateSchema.concat(yupObject({\n is_verified: contactChannelIsVerifiedSchema.optional(),\n}));\n\nexport const contactChannelsCrudClientCreateSchema = yupObject({\n user_id: userIdOrMeSchema.defined(),\n value: contactChannelValueSchema.defined(),\n type: contactChannelTypeSchema.defined(),\n used_for_auth: contactChannelUsedForAuthSchema.defined(),\n is_primary: contactChannelIsPrimarySchema.optional(),\n}).defined();\n\nexport const contactChannelsCrudServerCreateSchema = contactChannelsCrudClientCreateSchema.concat(yupObject({\n is_verified: contactChannelIsVerifiedSchema.optional(),\n}));\n\nexport const contactChannelsCrudClientDeleteSchema = yupMixed();\n\nexport const contactChannelsCrud = createCrud({\n clientReadSchema: contactChannelsClientReadSchema,\n clientUpdateSchema: contactChannelsCrudClientUpdateSchema,\n clientCreateSchema: contactChannelsCrudClientCreateSchema,\n clientDeleteSchema: contactChannelsCrudClientDeleteSchema,\n serverUpdateSchema: contactChannelsCrudServerUpdateSchema,\n serverCreateSchema: contactChannelsCrudServerCreateSchema,\n docs: {\n clientRead: {\n summary: \"Get a contact channel\",\n description: \"Retrieves a specific contact channel by the user ID and the contact channel ID.\",\n tags: [\"Contact Channels\"],\n },\n clientCreate: {\n summary: \"Create a contact channel\",\n description: \"Add a new contact channel for a user.\",\n tags: [\"Contact Channels\"],\n },\n clientUpdate: {\n summary: \"Update a contact channel\",\n description: \"Updates an existing contact channel. Only the values provided will be updated.\",\n tags: [\"Contact Channels\"],\n },\n clientDelete: {\n summary: \"Delete a contact channel\",\n description: \"Removes a contact channel for a given user.\",\n tags: [\"Contact Channels\"],\n },\n clientList: {\n summary: \"List contact channels\",\n description: \"Retrieves a list of all contact channels for a user.\",\n tags: [\"Contact Channels\"],\n }\n }\n});\nexport type ContactChannelsCrud = CrudTypeOf<typeof contactChannelsCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,wBAAwB,+BAA+B,gCAAgC,0BAA0B,iCAAiC,2BAA2B,kBAAkB,cAAc,UAAU,iBAAiB;AAE1O,IAAM,kCAAkC,UAAU;AAAA,EACvD,SAAS,aAAa,QAAQ;AAAA,EAC9B,IAAI,uBAAuB,QAAQ;AAAA,EACnC,OAAO,0BAA0B,QAAQ;AAAA,EACzC,MAAM,yBAAyB,QAAQ;AAAA,EACvC,eAAe,gCAAgC,QAAQ;AAAA,EACvD,aAAa,+BAA+B,QAAQ;AAAA,EACpD,YAAY,8BAA8B,QAAQ;AACpD,CAAC,EAAE,QAAQ;AAEJ,IAAM,wCAAwC,UAAU;AAAA,EAC7D,OAAO,0BAA0B,SAAS;AAAA,EAC1C,MAAM,yBAAyB,SAAS;AAAA,EACxC,eAAe,gCAAgC,SAAS;AAAA,EACxD,YAAY,8BAA8B,SAAS;AACrD,CAAC,EAAE,QAAQ;AAEJ,IAAM,wCAAwC,sCAAsC,OAAO,UAAU;AAAA,EAC1G,aAAa,+BAA+B,SAAS;AACvD,CAAC,CAAC;AAEK,IAAM,wCAAwC,UAAU;AAAA,EAC7D,SAAS,iBAAiB,QAAQ;AAAA,EAClC,OAAO,0BAA0B,QAAQ;AAAA,EACzC,MAAM,yBAAyB,QAAQ;AAAA,EACvC,eAAe,gCAAgC,QAAQ;AAAA,EACvD,YAAY,8BAA8B,SAAS;AACrD,CAAC,EAAE,QAAQ;AAEJ,IAAM,wCAAwC,sCAAsC,OAAO,UAAU;AAAA,EAC1G,aAAa,+BAA+B,SAAS;AACvD,CAAC,CAAC;AAEK,IAAM,wCAAwC,SAAS;AAEvD,IAAM,sBAAsB,WAAW;AAAA,EAC5C,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,kBAAkB;AAAA,IAC3B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,kBAAkB;AAAA,IAC3B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,kBAAkB;AAAA,IAC3B;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,kBAAkB;AAAA,IAC3B;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,kBAAkB;AAAA,IAC3B;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,65 @@
// src/interface/crud/current-user.ts
import { createCrud } from "../../crud";
import { yupObject } from "../../schema-fields";
import { teamsCrudClientReadSchema } from "./teams";
import { usersCrudServerDeleteSchema, usersCrudServerReadSchema, usersCrudServerUpdateSchema } from "./users";
var clientUpdateSchema = usersCrudServerUpdateSchema.pick([
"display_name",
"profile_image_url",
"client_metadata",
"selected_team_id",
"totp_secret_base64",
"otp_auth_enabled",
"passkey_auth_enabled"
]).defined();
var serverUpdateSchema = usersCrudServerUpdateSchema;
var clientReadSchema = usersCrudServerReadSchema.pick([
"id",
"primary_email",
"primary_email_verified",
"display_name",
"client_metadata",
"client_read_only_metadata",
"profile_image_url",
"signed_up_at_millis",
"has_password",
"auth_with_email",
"oauth_providers",
"selected_team_id",
"requires_totp_mfa",
"otp_auth_enabled",
"passkey_auth_enabled",
"is_anonymous"
]).concat(yupObject({
selected_team: teamsCrudClientReadSchema.nullable().defined()
})).defined();
var serverReadSchema = usersCrudServerReadSchema.defined();
var clientDeleteSchema = usersCrudServerDeleteSchema;
var currentUserCrud = createCrud({
clientReadSchema,
serverReadSchema,
clientUpdateSchema,
serverUpdateSchema,
clientDeleteSchema,
docs: {
clientRead: {
summary: "Get current user",
description: "Gets the currently authenticated user.",
tags: ["Users"]
},
clientUpdate: {
summary: "Update current user",
description: "Updates the currently authenticated user. Only the values provided will be updated.",
tags: ["Users"]
},
clientDelete: {
summary: "Delete current user",
description: "Deletes the currently authenticated user. Use this with caution.",
tags: ["Users"]
}
}
});
export {
currentUserCrud
};
//# sourceMappingURL=current-user.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/current-user.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupObject } from \"../../schema-fields\";\nimport { teamsCrudClientReadSchema } from \"./teams\";\nimport { usersCrudServerDeleteSchema, usersCrudServerReadSchema, usersCrudServerUpdateSchema } from \"./users\";\n\nconst clientUpdateSchema = usersCrudServerUpdateSchema.pick([\n \"display_name\",\n \"profile_image_url\",\n \"client_metadata\",\n \"selected_team_id\",\n \"totp_secret_base64\",\n \"otp_auth_enabled\",\n \"passkey_auth_enabled\",\n]).defined();\n\nconst serverUpdateSchema = usersCrudServerUpdateSchema;\n\nconst clientReadSchema = usersCrudServerReadSchema.pick([\n \"id\",\n \"primary_email\",\n \"primary_email_verified\",\n \"display_name\",\n \"client_metadata\",\n \"client_read_only_metadata\",\n \"profile_image_url\",\n \"signed_up_at_millis\",\n \"has_password\",\n \"auth_with_email\",\n \"oauth_providers\",\n \"selected_team_id\",\n \"requires_totp_mfa\",\n \"otp_auth_enabled\",\n \"passkey_auth_enabled\",\n \"is_anonymous\",\n]).concat(yupObject({\n selected_team: teamsCrudClientReadSchema.nullable().defined(),\n})).defined();\n\nconst serverReadSchema = usersCrudServerReadSchema.defined();\n\nconst clientDeleteSchema = usersCrudServerDeleteSchema;\n\nexport const currentUserCrud = createCrud({\n clientReadSchema,\n serverReadSchema,\n clientUpdateSchema,\n serverUpdateSchema,\n clientDeleteSchema,\n docs: {\n clientRead: {\n summary: 'Get current user',\n description: 'Gets the currently authenticated user.',\n tags: ['Users'],\n },\n clientUpdate: {\n summary: 'Update current user',\n description: 'Updates the currently authenticated user. Only the values provided will be updated.',\n tags: ['Users'],\n },\n clientDelete: {\n summary: 'Delete current user',\n description: 'Deletes the currently authenticated user. Use this with caution.',\n tags: ['Users'],\n },\n },\n});\nexport type CurrentUserCrud = CrudTypeOf<typeof currentUserCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,iBAAiB;AAC1B,SAAS,iCAAiC;AAC1C,SAAS,6BAA6B,2BAA2B,mCAAmC;AAEpG,IAAM,qBAAqB,4BAA4B,KAAK;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,EAAE,QAAQ;AAEX,IAAM,qBAAqB;AAE3B,IAAM,mBAAmB,0BAA0B,KAAK;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,EAAE,OAAO,UAAU;AAAA,EAClB,eAAe,0BAA0B,SAAS,EAAE,QAAQ;AAC9D,CAAC,CAAC,EAAE,QAAQ;AAEZ,IAAM,mBAAmB,0BAA0B,QAAQ;AAE3D,IAAM,qBAAqB;AAEpB,IAAM,kBAAkB,WAAW;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,52 @@
// src/interface/crud/email-templates.ts
import { createCrud } from "../../crud";
import { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from "../../schema-fields";
var emailTemplateTypes = ["email_verification", "password_reset", "magic_link", "team_invitation"];
var emailTemplateAdminReadSchema = yupObject({
type: yupString().oneOf(emailTemplateTypes).defined(),
subject: yupString().defined(),
content: jsonSchema.defined(),
is_default: yupBoolean().defined()
}).defined();
var emailTemplateCrudAdminUpdateSchema = yupObject({
content: jsonSchema.nonNullable().optional(),
subject: yupString().optional()
}).defined();
var emailTemplateCrudAdminDeleteSchema = yupMixed();
var emailTemplateCrudAdminCreateSchema = yupObject({
type: yupString().oneOf(emailTemplateTypes).defined(),
content: jsonSchema.defined(),
subject: yupString().defined()
}).defined();
var emailTemplateCrud = createCrud({
adminReadSchema: emailTemplateAdminReadSchema,
adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,
adminCreateSchema: emailTemplateCrudAdminCreateSchema,
adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,
docs: {
adminRead: {
hidden: true
},
adminCreate: {
hidden: true
},
adminUpdate: {
hidden: true
},
adminDelete: {
hidden: true
},
adminList: {
hidden: true
}
}
});
export {
emailTemplateAdminReadSchema,
emailTemplateCrud,
emailTemplateCrudAdminCreateSchema,
emailTemplateCrudAdminDeleteSchema,
emailTemplateCrudAdminUpdateSchema,
emailTemplateTypes
};
//# sourceMappingURL=email-templates.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/email-templates.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from \"../../schema-fields\";\n\nexport type EmailTemplateType = typeof emailTemplateTypes[number];\nexport const emailTemplateTypes = ['email_verification', 'password_reset', 'magic_link', 'team_invitation'] as const;\n\nexport const emailTemplateAdminReadSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n subject: yupString().defined(),\n content: jsonSchema.defined(),\n is_default: yupBoolean().defined(),\n}).defined();\n\nexport const emailTemplateCrudAdminUpdateSchema = yupObject({\n content: jsonSchema.nonNullable().optional(),\n subject: yupString().optional(),\n}).defined();\n\nexport const emailTemplateCrudAdminDeleteSchema = yupMixed();\n\nexport const emailTemplateCrudAdminCreateSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n content: jsonSchema.defined(),\n subject: yupString().defined(),\n}).defined();\n\nexport const emailTemplateCrud = createCrud({\n adminReadSchema: emailTemplateAdminReadSchema,\n adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,\n adminCreateSchema: emailTemplateCrudAdminCreateSchema,\n adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n adminList: {\n hidden: true,\n }\n }\n});\nexport type EmailTemplateCrud = CrudTypeOf<typeof emailTemplateCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,YAAY,UAAU,WAAW,iBAAiB;AAGhE,IAAM,qBAAqB,CAAC,sBAAsB,kBAAkB,cAAc,iBAAiB;AAEnG,IAAM,+BAA+B,UAAU;AAAA,EACpD,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,UAAU,EAAE,QAAQ;AAAA,EAC7B,SAAS,WAAW,QAAQ;AAAA,EAC5B,YAAY,WAAW,EAAE,QAAQ;AACnC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,UAAU;AAAA,EAC1D,SAAS,WAAW,YAAY,EAAE,SAAS;AAAA,EAC3C,SAAS,UAAU,EAAE,SAAS;AAChC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,SAAS;AAEpD,IAAM,qCAAqC,UAAU;AAAA,EAC1D,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,WAAW,QAAQ;AAAA,EAC5B,SAAS,UAAU,EAAE,QAAQ;AAC/B,CAAC,EAAE,QAAQ;AAEJ,IAAM,oBAAoB,WAAW;AAAA,EAC1C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,20 @@
// src/interface/crud/emails.ts
import { createCrud } from "../../crud";
import * as fieldSchema from "../../schema-fields";
import { emailConfigWithoutPasswordSchema } from "./projects";
var sentEmailReadSchema = fieldSchema.yupObject({
id: fieldSchema.yupString().defined(),
subject: fieldSchema.yupString().defined(),
sent_at_millis: fieldSchema.yupNumber().defined(),
to: fieldSchema.yupArray(fieldSchema.yupString().defined()),
sender_config: emailConfigWithoutPasswordSchema.defined(),
error: fieldSchema.yupMixed().nullable().optional()
}).defined();
var internalEmailsCrud = createCrud({
adminReadSchema: sentEmailReadSchema
});
export {
internalEmailsCrud,
sentEmailReadSchema
};
//# sourceMappingURL=emails.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/emails.ts"],"sourcesContent":["import { createCrud, CrudTypeOf } from \"../../crud\";\nimport * as fieldSchema from \"../../schema-fields\";\nimport { emailConfigWithoutPasswordSchema } from \"./projects\";\n\n\nexport const sentEmailReadSchema = fieldSchema.yupObject({\n id: fieldSchema.yupString().defined(),\n subject: fieldSchema.yupString().defined(),\n sent_at_millis: fieldSchema.yupNumber().defined(),\n to: fieldSchema.yupArray(fieldSchema.yupString().defined()),\n sender_config: emailConfigWithoutPasswordSchema.defined(),\n error: fieldSchema.yupMixed().nullable().optional(),\n}).defined();\n\nexport const internalEmailsCrud = createCrud({\n adminReadSchema: sentEmailReadSchema,\n});\n\nexport type InternalEmailsCrud = CrudTypeOf<typeof internalEmailsCrud>;\n"],"mappings":";AAAA,SAAS,kBAA8B;AACvC,YAAY,iBAAiB;AAC7B,SAAS,wCAAwC;AAG1C,IAAM,sBAAkC,sBAAU;AAAA,EACvD,IAAgB,sBAAU,EAAE,QAAQ;AAAA,EACpC,SAAqB,sBAAU,EAAE,QAAQ;AAAA,EACzC,gBAA4B,sBAAU,EAAE,QAAQ;AAAA,EAChD,IAAgB,qBAAqB,sBAAU,EAAE,QAAQ,CAAC;AAAA,EAC1D,eAAe,iCAAiC,QAAQ;AAAA,EACxD,OAAmB,qBAAS,EAAE,SAAS,EAAE,SAAS;AACpD,CAAC,EAAE,QAAQ;AAEJ,IAAM,qBAAqB,WAAW;AAAA,EAC3C,iBAAiB;AACnB,CAAC;","names":[]}

View file

@ -0,0 +1,69 @@
// src/interface/crud/internal-api-keys.ts
import { createCrud } from "../../crud";
import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "../../schema-fields";
var baseInternalApiKeysReadSchema = yupObject({
id: yupString().defined(),
description: yupString().defined(),
expires_at_millis: yupNumber().defined(),
manually_revoked_at_millis: yupNumber().optional(),
created_at_millis: yupNumber().defined()
});
var internalApiKeysCreateInputSchema = yupObject({
description: yupString().defined(),
expires_at_millis: yupNumber().defined(),
has_publishable_client_key: yupBoolean().defined(),
has_secret_server_key: yupBoolean().defined(),
has_super_secret_admin_key: yupBoolean().defined()
});
var internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({
publishable_client_key: yupString().optional(),
secret_server_key: yupString().optional(),
super_secret_admin_key: yupString().optional()
}).defined());
var internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({
publishable_client_key: yupObject({
last_four: yupString().defined()
}).optional(),
secret_server_key: yupObject({
last_four: yupString().defined()
}).optional(),
super_secret_admin_key: yupObject({
last_four: yupString().defined()
}).optional()
}));
var internalApiKeysCrudAdminUpdateSchema = yupObject({
description: yupString().optional(),
revoked: yupBoolean().oneOf([true]).optional()
}).defined();
var internalApiKeysCrudAdminDeleteSchema = yupMixed();
var internalApiKeysCrud = createCrud({
adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,
adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,
adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,
docs: {
adminList: {
hidden: true
},
adminRead: {
hidden: true
},
adminCreate: {
hidden: true
},
adminUpdate: {
hidden: true
},
adminDelete: {
hidden: true
}
}
});
export {
internalApiKeysCreateInputSchema,
internalApiKeysCreateOutputSchema,
internalApiKeysCrud,
internalApiKeysCrudAdminDeleteSchema,
internalApiKeysCrudAdminObfuscatedReadSchema,
internalApiKeysCrudAdminUpdateSchema
};
//# sourceMappingURL=internal-api-keys.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/internal-api-keys.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from \"../../schema-fields\";\n\nconst baseInternalApiKeysReadSchema = yupObject({\n id: yupString().defined(),\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n manually_revoked_at_millis: yupNumber().optional(),\n created_at_millis: yupNumber().defined(),\n});\n\n// Used for the result of the create endpoint\nexport const internalApiKeysCreateInputSchema = yupObject({\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n has_publishable_client_key: yupBoolean().defined(),\n has_secret_server_key: yupBoolean().defined(),\n has_super_secret_admin_key: yupBoolean().defined(),\n});\n\nexport const internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupString().optional(),\n secret_server_key: yupString().optional(),\n super_secret_admin_key: yupString().optional(),\n}).defined());\n\n// Used for list, read and update endpoints after the initial creation\nexport const internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n secret_server_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n super_secret_admin_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n}));\n\nexport const internalApiKeysCrudAdminUpdateSchema = yupObject({\n description: yupString().optional(),\n revoked: yupBoolean().oneOf([true]).optional(),\n}).defined();\n\nexport const internalApiKeysCrudAdminDeleteSchema = yupMixed();\n\nexport const internalApiKeysCrud = createCrud({\n adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,\n adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,\n adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,\n docs: {\n adminList: {\n hidden: true,\n },\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n },\n});\nexport type InternalApiKeysCrud = CrudTypeOf<typeof internalApiKeysCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,UAAU,WAAW,WAAW,iBAAiB;AAEtE,IAAM,gCAAgC,UAAU;AAAA,EAC9C,IAAI,UAAU,EAAE,QAAQ;AAAA,EACxB,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,UAAU,EAAE,SAAS;AAAA,EACjD,mBAAmB,UAAU,EAAE,QAAQ;AACzC,CAAC;AAGM,IAAM,mCAAmC,UAAU;AAAA,EACxD,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,WAAW,EAAE,QAAQ;AAAA,EACjD,uBAAuB,WAAW,EAAE,QAAQ;AAAA,EAC5C,4BAA4B,WAAW,EAAE,QAAQ;AACnD,CAAC;AAEM,IAAM,oCAAoC,8BAA8B,OAAO,UAAU;AAAA,EAC9F,wBAAwB,UAAU,EAAE,SAAS;AAAA,EAC7C,mBAAmB,UAAU,EAAE,SAAS;AAAA,EACxC,wBAAwB,UAAU,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ,CAAC;AAGL,IAAM,+CAA+C,8BAA8B,OAAO,UAAU;AAAA,EACzG,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,mBAAmB,UAAU;AAAA,IAC3B,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AACd,CAAC,CAAC;AAEK,IAAM,uCAAuC,UAAU;AAAA,EAC5D,aAAa,UAAU,EAAE,SAAS;AAAA,EAClC,SAAS,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ;AAEJ,IAAM,uCAAuC,SAAS;AAEtD,IAAM,sBAAsB,WAAW;AAAA,EAC5C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,24 @@
// src/interface/crud/oauth.ts
import { createCrud } from "../../crud";
import { yupObject, yupString } from "../../schema-fields";
var connectedAccountAccessTokenReadSchema = yupObject({
access_token: yupString().defined()
}).defined();
var connectedAccountAccessTokenCreateSchema = yupObject({
scope: yupString().optional()
}).defined();
var connectedAccountAccessTokenCrud = createCrud({
clientReadSchema: connectedAccountAccessTokenReadSchema,
clientCreateSchema: connectedAccountAccessTokenCreateSchema,
docs: {
clientCreate: {
hidden: true
}
}
});
export {
connectedAccountAccessTokenCreateSchema,
connectedAccountAccessTokenCrud,
connectedAccountAccessTokenReadSchema
};
//# sourceMappingURL=oauth.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/oauth.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupObject, yupString } from \"../../schema-fields\";\n\nexport const connectedAccountAccessTokenReadSchema = yupObject({\n access_token: yupString().defined(),\n}).defined();\n\nexport const connectedAccountAccessTokenCreateSchema = yupObject({\n scope: yupString().optional(),\n}).defined();\n\nexport const connectedAccountAccessTokenCrud = createCrud({\n clientReadSchema: connectedAccountAccessTokenReadSchema,\n clientCreateSchema: connectedAccountAccessTokenCreateSchema,\n docs: {\n clientCreate: {\n hidden: true,\n }\n },\n});\nexport type ConnectedAccountAccessTokenCrud = CrudTypeOf<typeof connectedAccountAccessTokenCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,WAAW,iBAAiB;AAE9B,IAAM,wCAAwC,UAAU;AAAA,EAC7D,cAAc,UAAU,EAAE,QAAQ;AACpC,CAAC,EAAE,QAAQ;AAEJ,IAAM,0CAA0C,UAAU;AAAA,EAC/D,OAAO,UAAU,EAAE,SAAS;AAC9B,CAAC,EAAE,QAAQ;AAEJ,IAAM,kCAAkC,WAAW;AAAA,EACxD,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,cAAc;AAAA,MACZ,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,98 @@
// src/interface/crud/project-api-keys.ts
import { createCrud } from "../../crud";
import { userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from "../../schema-fields";
import { typedFromEntries } from "../../utils/objects";
function createApiKeyCrud(type, idFieldName, idSchema) {
const projectApiKeysReadSchema = yupObject({
id: yupString().defined(),
description: yupString().defined(),
expires_at_millis: yupNumber().optional(),
manually_revoked_at_millis: yupNumber().optional(),
created_at_millis: yupNumber().defined(),
is_public: yupBoolean().defined(),
value: yupObject({
last_four: yupString().defined()
}).defined(),
type: yupString().oneOf([type]).defined(),
...typedFromEntries([[idFieldName, idSchema]])
});
const projectApiKeysUpdateSchema = yupObject({
description: yupString().optional(),
revoked: yupBoolean().oneOf([true]).optional()
}).defined();
const projectApiKeysCrud = createCrud({
clientReadSchema: projectApiKeysReadSchema,
clientUpdateSchema: projectApiKeysUpdateSchema,
docs: {
clientCreate: {
description: `Create a new ${type} API key`,
displayName: `Create ${type} API key`,
tags: ["API Keys"],
summary: `Create ${type} API key`
},
clientList: {
description: `List all ${type} API keys for the project with their metadata and status`,
displayName: `List ${type} API keys`,
summary: `List ${type} API keys`,
tags: ["API Keys"]
},
clientRead: {
description: `Get details of a specific ${type} API key`,
displayName: `Get ${type} API key`,
summary: `Get ${type} API key details`,
tags: ["API Keys"]
},
clientUpdate: {
description: `Update an ${type} API key`,
displayName: `Update ${type} API key`,
summary: `Update ${type} API key`,
tags: ["API Keys"]
},
serverDelete: {
description: `Delete an ${type} API key`,
displayName: `Delete ${type} API key`,
summary: `Delete ${type} API key`,
tags: ["API Keys"]
}
}
});
const projectApiKeysCreateInputSchema = yupObject({
description: yupString().defined(),
expires_at_millis: yupNumber().nullable().defined(),
is_public: yupBoolean().optional(),
/*
prefix: yupString().optional().nonEmpty().test("prefix", "Prefix must contain only alphanumeric characters and underscores", (value) => {
if (!value) return true;
return /^[a-zA-Z0-9_]+$/.test(value);
}),
*/
...typedFromEntries([[idFieldName, idSchema]])
});
const projectApiKeysCreateOutputSchema = projectApiKeysReadSchema.omit(["value"]).concat(yupObject({
value: yupString().defined()
}));
return {
crud: projectApiKeysCrud,
createInputSchema: projectApiKeysCreateInputSchema,
createOutputSchema: projectApiKeysCreateOutputSchema
};
}
var {
crud: userApiKeysCrud,
createInputSchema: userApiKeysCreateInputSchema,
createOutputSchema: userApiKeysCreateOutputSchema
} = createApiKeyCrud("user", "user_id", userIdOrMeSchema.defined());
var {
crud: teamApiKeysCrud,
createInputSchema: teamApiKeysCreateInputSchema,
createOutputSchema: teamApiKeysCreateOutputSchema
} = createApiKeyCrud("team", "team_id", yupString().defined());
export {
teamApiKeysCreateInputSchema,
teamApiKeysCreateOutputSchema,
teamApiKeysCrud,
userApiKeysCreateInputSchema,
userApiKeysCreateOutputSchema,
userApiKeysCrud
};
//# sourceMappingURL=project-api-keys.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,113 @@
// src/interface/crud/project-permissions.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupMixed, yupObject } from "../../schema-fields";
var projectPermissionsCrudClientReadSchema = yupObject({
id: schemaFields.permissionDefinitionIdSchema.defined(),
user_id: schemaFields.userIdSchema.defined()
}).defined();
var projectPermissionsCrudServerCreateSchema = yupObject({}).defined();
var projectPermissionsCrudServerDeleteSchema = yupMixed();
var projectPermissionsCrud = createCrud({
clientReadSchema: projectPermissionsCrudClientReadSchema,
serverCreateSchema: projectPermissionsCrudServerCreateSchema,
serverDeleteSchema: projectPermissionsCrudServerDeleteSchema,
docs: {
clientList: {
summary: "List project permissions",
description: "List global permissions of the current user. `user_id=me` must be set for client requests. `(user_id, permission_id)` together uniquely identify a permission.",
tags: ["Permissions"]
},
serverList: {
summary: "List project permissions",
description: "Query and filter the permission with `user_id` and `permission_id`. `(user_id, permission_id)` together uniquely identify a permission.",
tags: ["Permissions"]
},
serverCreate: {
summary: "Grant a global permission to a user",
description: "Grant a global permission to a user (the permission must be created first on the Stack dashboard)",
tags: ["Permissions"]
},
serverDelete: {
summary: "Revoke a global permission from a user",
description: "Revoke a global permission from a user",
tags: ["Permissions"]
}
}
});
var projectPermissionCreatedWebhookEvent = {
type: "project_permission.created",
schema: projectPermissionsCrud.server.readSchema,
metadata: {
summary: "Project Permission Created",
description: "This event is triggered when a project permission is created.",
tags: ["Users"]
}
};
var projectPermissionDeletedWebhookEvent = {
type: "project_permission.deleted",
schema: projectPermissionsCrud.server.readSchema,
metadata: {
summary: "Project Permission Deleted",
description: "This event is triggered when a project permission is deleted.",
tags: ["Users"]
}
};
var projectPermissionDefinitionsCrudAdminReadSchema = yupObject({
id: schemaFields.permissionDefinitionIdSchema.defined(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined()
}).defined();
var projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({
id: schemaFields.customPermissionDefinitionIdSchema.defined(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
}).defined();
var projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
id: schemaFields.customPermissionDefinitionIdSchema.optional(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
}).defined();
var projectPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();
var projectPermissionDefinitionsCrud = createCrud({
adminReadSchema: projectPermissionDefinitionsCrudAdminReadSchema,
adminCreateSchema: projectPermissionDefinitionsCrudAdminCreateSchema,
adminUpdateSchema: projectPermissionDefinitionsCrudAdminUpdateSchema,
adminDeleteSchema: projectPermissionDefinitionsCrudAdminDeleteSchema,
docs: {
adminList: {
summary: "List project permission definitions",
description: "Query and filter project permission definitions (the equivalent of listing permissions on the Stack dashboard)",
tags: ["Permissions"]
},
adminCreate: {
summary: "Create a new project permission definition",
description: "Create a new project permission definition (the equivalent of creating a new permission on the Stack dashboard)",
tags: ["Permissions"]
},
adminUpdate: {
summary: "Update a project permission definition",
description: "Update a project permission definition (the equivalent of updating a permission on the Stack dashboard)",
tags: ["Permissions"]
},
adminDelete: {
summary: "Delete a project permission definition",
description: "Delete a project permission definition (the equivalent of deleting a permission on the Stack dashboard)",
tags: ["Permissions"]
}
}
});
export {
projectPermissionCreatedWebhookEvent,
projectPermissionDefinitionsCrud,
projectPermissionDefinitionsCrudAdminCreateSchema,
projectPermissionDefinitionsCrudAdminDeleteSchema,
projectPermissionDefinitionsCrudAdminReadSchema,
projectPermissionDefinitionsCrudAdminUpdateSchema,
projectPermissionDeletedWebhookEvent,
projectPermissionsCrud,
projectPermissionsCrudClientReadSchema,
projectPermissionsCrudServerCreateSchema,
projectPermissionsCrudServerDeleteSchema
};
//# sourceMappingURL=project-permissions.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,181 @@
// src/interface/crud/projects.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupArray, yupObject, yupString } from "../../schema-fields";
var teamPermissionSchema = yupObject({
id: yupString().defined()
}).defined();
var oauthProviderSchema = yupObject({
id: schemaFields.oauthIdSchema.defined(),
type: schemaFields.oauthTypeSchema.defined(),
client_id: schemaFields.yupDefinedAndNonEmptyWhen(
schemaFields.oauthClientIdSchema,
{ type: "standard" }
),
client_secret: schemaFields.yupDefinedAndNonEmptyWhen(
schemaFields.oauthClientSecretSchema,
{ type: "standard" }
),
// extra params
facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),
microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional()
});
var enabledOAuthProviderSchema = yupObject({
id: schemaFields.oauthIdSchema.defined()
});
var emailConfigSchema = yupObject({
type: schemaFields.emailTypeSchema.defined(),
host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {
type: "standard"
}),
port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {
type: "standard"
}),
username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {
type: "standard"
}),
password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {
type: "standard"
}),
sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {
type: "standard"
}),
sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {
type: "standard"
})
});
var emailConfigWithoutPasswordSchema = emailConfigSchema.pick(["type", "host", "port", "username", "sender_name", "sender_email"]);
var domainSchema = yupObject({
domain: schemaFields.urlSchema.defined().matches(/^https?:\/\//, "URL must start with http:// or https://").meta({ openapiField: { description: "URL. Must start with http:// or https://", exampleValue: "https://example.com" } }),
handler_path: schemaFields.handlerPathSchema.defined()
});
var projectsCrudAdminReadSchema = yupObject({
id: schemaFields.projectIdSchema.defined(),
display_name: schemaFields.projectDisplayNameSchema.defined(),
description: schemaFields.projectDescriptionSchema.nonNullable().defined(),
created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),
user_count: schemaFields.projectUserCountSchema.defined(),
is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),
/** @deprecated */
config: yupObject({
allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
// TODO: remove this
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
allow_user_api_keys: schemaFields.yupBoolean().defined(),
allow_team_api_keys: schemaFields.yupBoolean().defined(),
oauth_providers: yupArray(oauthProviderSchema.defined()).defined(),
enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),
domains: yupArray(domainSchema.defined()).defined(),
email_config: emailConfigSchema.defined(),
create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),
team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined()
}).defined().meta({ openapiField: { hidden: true } })
}).defined();
var projectsCrudClientReadSchema = yupObject({
id: schemaFields.projectIdSchema.defined(),
display_name: schemaFields.projectDisplayNameSchema.defined(),
config: yupObject({
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
allow_user_api_keys: schemaFields.yupBoolean().defined(),
allow_team_api_keys: schemaFields.yupBoolean().defined(),
enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } })
}).defined().meta({ openapiField: { hidden: true } })
}).defined();
var projectsCrudAdminUpdateSchema = yupObject({
display_name: schemaFields.projectDisplayNameSchema.optional(),
description: schemaFields.projectDescriptionSchema.optional(),
is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),
config: yupObject({
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),
credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),
allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),
allow_user_api_keys: schemaFields.yupBoolean().optional(),
allow_team_api_keys: schemaFields.yupBoolean().optional(),
email_config: emailConfigSchema.optional().default(void 0),
domains: yupArray(domainSchema.defined()).optional().default(void 0),
oauth_providers: yupArray(oauthProviderSchema.defined()).optional().default(void 0),
create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),
team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional()
}).optional().default(void 0)
}).defined();
var projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({
display_name: schemaFields.projectDisplayNameSchema.defined()
}).defined());
var projectsCrudAdminDeleteSchema = schemaFields.yupMixed();
var clientProjectsCrud = createCrud({
clientReadSchema: projectsCrudClientReadSchema,
docs: {
clientRead: {
summary: "Get the current project",
description: "Get the current project information including display name, OAuth providers and authentication methods. Useful for display the available login options to the user.",
tags: ["Projects"]
}
}
});
var projectsCrud = createCrud({
adminReadSchema: projectsCrudAdminReadSchema,
adminUpdateSchema: projectsCrudAdminUpdateSchema,
adminDeleteSchema: projectsCrudAdminDeleteSchema,
docs: {
adminRead: {
summary: "Get the current project",
description: "Get the current project information and configuration including display name, OAuth providers, email configuration, etc.",
tags: ["Projects"]
},
adminUpdate: {
summary: "Update the current project",
description: "Update the current project information and configuration including display name, OAuth providers, email configuration, etc.",
tags: ["Projects"]
},
adminDelete: {
summary: "Delete the current project",
description: "Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.",
tags: ["Projects"]
}
}
});
var adminUserProjectsCrud = createCrud({
clientReadSchema: projectsCrudAdminReadSchema,
clientCreateSchema: projectsCrudAdminCreateSchema,
docs: {
clientList: {
hidden: true
},
clientCreate: {
hidden: true
}
}
});
export {
adminUserProjectsCrud,
clientProjectsCrud,
emailConfigSchema,
emailConfigWithoutPasswordSchema,
projectsCrud,
projectsCrudAdminCreateSchema,
projectsCrudAdminDeleteSchema,
projectsCrudAdminReadSchema,
projectsCrudAdminUpdateSchema,
projectsCrudClientReadSchema
};
//# sourceMappingURL=projects.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,62 @@
// src/interface/crud/sessions.ts
import { createCrud } from "../../crud";
import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "../../schema-fields";
import { geoInfoSchema } from "../../utils/geo";
var sessionsCrudServerCreateSchema = yupObject({
user_id: yupString().uuid().defined(),
expires_in_millis: yupNumber().max(1e3 * 60 * 60 * 24 * 367).default(1e3 * 60 * 60 * 24 * 365),
is_impersonation: yupBoolean().default(false)
}).defined();
var sessionsCreateOutputSchema = yupObject({
refresh_token: yupString().defined(),
access_token: yupString().defined()
}).defined();
var sessionsCrudReadSchema = yupObject({
id: yupString().defined(),
user_id: yupString().uuid().defined(),
created_at: yupNumber().defined(),
is_impersonation: yupBoolean().defined(),
last_used_at: yupNumber().optional(),
is_current_session: yupBoolean(),
// TODO move this to a shared type
// TODO: what about if not trusted?
last_used_at_end_user_ip_info: geoInfoSchema.optional()
}).defined();
var sessionsCrudDeleteSchema = yupMixed();
var sessionsCrud = createCrud({
// serverCreateSchema: sessionsCrudServerCreateSchema,
serverReadSchema: sessionsCrudReadSchema,
serverDeleteSchema: sessionsCrudDeleteSchema,
clientReadSchema: sessionsCrudReadSchema,
clientDeleteSchema: sessionsCrudDeleteSchema,
docs: {
serverList: {
summary: "List sessions",
description: "List all sessions for the current user.",
tags: ["Sessions"]
},
serverDelete: {
summary: "Delete session",
description: "Delete a session by ID.",
tags: ["Sessions"]
},
clientList: {
summary: "List sessions",
description: "List all sessions for the current user.",
tags: ["Sessions"]
},
clientDelete: {
summary: "Delete session",
description: "Delete a session by ID.",
tags: ["Sessions"]
}
}
});
export {
sessionsCreateOutputSchema,
sessionsCrud,
sessionsCrudDeleteSchema,
sessionsCrudReadSchema,
sessionsCrudServerCreateSchema
};
//# sourceMappingURL=sessions.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/sessions.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from \"../../schema-fields\";\nimport { geoInfoSchema } from \"../../utils/geo\";\n\n\n// Create\nexport const sessionsCrudServerCreateSchema = yupObject({\n user_id: yupString().uuid().defined(),\n expires_in_millis: yupNumber().max(1000 * 60 * 60 * 24 * 367).default(1000 * 60 * 60 * 24 * 365),\n is_impersonation: yupBoolean().default(false),\n}).defined();\n\n\nexport const sessionsCreateOutputSchema = yupObject({\n refresh_token: yupString().defined(),\n access_token: yupString().defined(),\n}).defined();\n\n\nexport const sessionsCrudReadSchema = yupObject({\n id: yupString().defined(),\n user_id: yupString().uuid().defined(),\n created_at: yupNumber().defined(),\n is_impersonation: yupBoolean().defined(),\n last_used_at: yupNumber().optional(),\n is_current_session: yupBoolean(),\n // TODO move this to a shared type\n // TODO: what about if not trusted?\n last_used_at_end_user_ip_info: geoInfoSchema.optional(),\n}).defined();\n\n\n// Delete\nexport const sessionsCrudDeleteSchema = yupMixed();\n\n\nexport const sessionsCrud = createCrud({\n // serverCreateSchema: sessionsCrudServerCreateSchema,\n serverReadSchema: sessionsCrudReadSchema,\n serverDeleteSchema: sessionsCrudDeleteSchema,\n clientReadSchema: sessionsCrudReadSchema,\n clientDeleteSchema: sessionsCrudDeleteSchema,\n docs: {\n serverList: {\n summary: \"List sessions\",\n description: \"List all sessions for the current user.\",\n tags: [\"Sessions\"],\n },\n serverDelete: {\n summary: \"Delete session\",\n description: \"Delete a session by ID.\",\n tags: [\"Sessions\"],\n },\n clientList: {\n summary: \"List sessions\",\n description: \"List all sessions for the current user.\",\n tags: [\"Sessions\"],\n },\n clientDelete: {\n summary: \"Delete session\",\n description: \"Delete a session by ID.\",\n tags: [\"Sessions\"],\n },\n },\n});\nexport type SessionsCrud = CrudTypeOf<typeof sessionsCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,UAAU,WAAW,WAAW,iBAAiB;AACtE,SAAS,qBAAqB;AAIvB,IAAM,iCAAiC,UAAU;AAAA,EACtD,SAAS,UAAU,EAAE,KAAK,EAAE,QAAQ;AAAA,EACpC,mBAAmB,UAAU,EAAE,IAAI,MAAO,KAAK,KAAK,KAAK,GAAG,EAAE,QAAQ,MAAO,KAAK,KAAK,KAAK,GAAG;AAAA,EAC/F,kBAAkB,WAAW,EAAE,QAAQ,KAAK;AAC9C,CAAC,EAAE,QAAQ;AAGJ,IAAM,6BAA6B,UAAU;AAAA,EAClD,eAAe,UAAU,EAAE,QAAQ;AAAA,EACnC,cAAc,UAAU,EAAE,QAAQ;AACpC,CAAC,EAAE,QAAQ;AAGJ,IAAM,yBAAyB,UAAU;AAAA,EAC9C,IAAI,UAAU,EAAE,QAAQ;AAAA,EACxB,SAAS,UAAU,EAAE,KAAK,EAAE,QAAQ;AAAA,EACpC,YAAY,UAAU,EAAE,QAAQ;AAAA,EAChC,kBAAkB,WAAW,EAAE,QAAQ;AAAA,EACvC,cAAc,UAAU,EAAE,SAAS;AAAA,EACnC,oBAAoB,WAAW;AAAA;AAAA;AAAA,EAG/B,+BAA+B,cAAc,SAAS;AACxD,CAAC,EAAE,QAAQ;AAIJ,IAAM,2BAA2B,SAAS;AAG1C,IAAM,eAAe,WAAW;AAAA;AAAA,EAErC,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,UAAU;AAAA,IACnB;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,22 @@
// src/interface/crud/svix-token.ts
import { createCrud } from "../../crud";
import { yupObject, yupString } from "../../schema-fields";
var svixTokenAdminReadSchema = yupObject({
token: yupString().defined()
}).defined();
var svixTokenAdminCreateSchema = yupObject({}).defined();
var svixTokenCrud = createCrud({
adminReadSchema: svixTokenAdminReadSchema,
adminCreateSchema: svixTokenAdminCreateSchema,
docs: {
adminCreate: {
hidden: true
}
}
});
export {
svixTokenAdminCreateSchema,
svixTokenAdminReadSchema,
svixTokenCrud
};
//# sourceMappingURL=svix-token.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/svix-token.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupObject, yupString } from \"../../schema-fields\";\n\nexport const svixTokenAdminReadSchema = yupObject({\n token: yupString().defined(),\n}).defined();\n\nexport const svixTokenAdminCreateSchema = yupObject({}).defined();\n\nexport const svixTokenCrud = createCrud({\n adminReadSchema: svixTokenAdminReadSchema,\n adminCreateSchema: svixTokenAdminCreateSchema,\n docs: {\n adminCreate: {\n hidden: true,\n },\n }\n});\nexport type SvixTokenCrud = CrudTypeOf<typeof svixTokenCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,WAAW,iBAAiB;AAE9B,IAAM,2BAA2B,UAAU;AAAA,EAChD,OAAO,UAAU,EAAE,QAAQ;AAC7B,CAAC,EAAE,QAAQ;AAEJ,IAAM,6BAA6B,UAAU,CAAC,CAAC,EAAE,QAAQ;AAEzD,IAAM,gBAAgB,WAAW;AAAA,EACtC,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,23 @@
// src/interface/crud/team-invitation-details.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupObject } from "../../schema-fields";
var teamInvitationDetailsClientReadSchema = yupObject({
team_id: schemaFields.teamIdSchema.defined(),
team_display_name: schemaFields.teamDisplayNameSchema.defined()
}).defined();
var teamInvitationDetailsCrud = createCrud({
clientReadSchema: teamInvitationDetailsClientReadSchema,
docs: {
clientRead: {
summary: "Get the team details with invitation code",
description: "",
tags: ["Teams"]
}
}
});
export {
teamInvitationDetailsClientReadSchema,
teamInvitationDetailsCrud
};
//# sourceMappingURL=team-invitation-details.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/team-invitation-details.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupObject } from \"../../schema-fields\";\n\n\nexport const teamInvitationDetailsClientReadSchema = yupObject({\n team_id: schemaFields.teamIdSchema.defined(),\n team_display_name: schemaFields.teamDisplayNameSchema.defined(),\n}).defined();\n\nexport const teamInvitationDetailsCrud = createCrud({\n clientReadSchema: teamInvitationDetailsClientReadSchema,\n docs: {\n clientRead: {\n summary: \"Get the team details with invitation code\",\n description: \"\",\n tags: [\"Teams\"],\n },\n },\n});\n\nexport type TeamInvitationDetailsCrud = CrudTypeOf<typeof teamInvitationDetailsCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,YAAY,kBAAkB;AAC9B,SAAS,iBAAiB;AAGnB,IAAM,wCAAwC,UAAU;AAAA,EAC7D,SAAsB,0BAAa,QAAQ;AAAA,EAC3C,mBAAgC,mCAAsB,QAAQ;AAChE,CAAC,EAAE,QAAQ;AAEJ,IAAM,4BAA4B,WAAW;AAAA,EAClD,kBAAkB;AAAA,EAClB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,36 @@
// src/interface/crud/team-invitation.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupObject } from "../../schema-fields";
var teamInvitationDetailsClientReadSchema = yupObject({
id: schemaFields.yupString().uuid().defined(),
team_id: schemaFields.teamIdSchema.defined(),
expires_at_millis: schemaFields.yupNumber().defined(),
recipient_email: schemaFields.emailSchema.defined()
}).defined();
var teamInvitationCrud = createCrud({
clientReadSchema: teamInvitationDetailsClientReadSchema,
clientDeleteSchema: schemaFields.yupMixed(),
docs: {
clientRead: {
summary: "Get the team details with invitation code",
description: "",
tags: ["Teams"]
},
clientList: {
summary: "List team invitations",
description: "",
tags: ["Teams"]
},
clientDelete: {
summary: "Delete a team invitation",
description: "",
tags: ["Teams"]
}
}
});
export {
teamInvitationCrud,
teamInvitationDetailsClientReadSchema
};
//# sourceMappingURL=team-invitation.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/team-invitation.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupObject } from \"../../schema-fields\";\n\nexport const teamInvitationDetailsClientReadSchema = yupObject({\n id: schemaFields.yupString().uuid().defined(),\n team_id: schemaFields.teamIdSchema.defined(),\n expires_at_millis: schemaFields.yupNumber().defined(),\n recipient_email: schemaFields.emailSchema.defined(),\n}).defined();\n\nexport const teamInvitationCrud = createCrud({\n clientReadSchema: teamInvitationDetailsClientReadSchema,\n clientDeleteSchema: schemaFields.yupMixed(),\n docs: {\n clientRead: {\n summary: \"Get the team details with invitation code\",\n description: \"\",\n tags: [\"Teams\"],\n },\n clientList: {\n summary: \"List team invitations\",\n description: \"\",\n tags: [\"Teams\"],\n },\n clientDelete: {\n summary: \"Delete a team invitation\",\n description: \"\",\n tags: [\"Teams\"],\n },\n },\n});\n\nexport type TeamInvitationCrud = CrudTypeOf<typeof teamInvitationCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,YAAY,kBAAkB;AAC9B,SAAS,iBAAiB;AAEnB,IAAM,wCAAwC,UAAU;AAAA,EAC7D,IAAiB,uBAAU,EAAE,KAAK,EAAE,QAAQ;AAAA,EAC5C,SAAsB,0BAAa,QAAQ;AAAA,EAC3C,mBAAgC,uBAAU,EAAE,QAAQ;AAAA,EACpD,iBAA8B,yBAAY,QAAQ;AACpD,CAAC,EAAE,QAAQ;AAEJ,IAAM,qBAAqB,WAAW;AAAA,EAC3C,kBAAkB;AAAA,EAClB,oBAAiC,sBAAS;AAAA,EAC1C,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,62 @@
// src/interface/crud/team-member-profiles.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupObject } from "../../schema-fields";
import { usersCrudServerReadSchema } from "./users";
var teamMemberProfilesCrudClientReadSchema = yupObject({
team_id: schemaFields.teamIdSchema.defined(),
user_id: schemaFields.userIdSchema.defined(),
display_name: schemaFields.teamMemberDisplayNameSchema.nullable().defined(),
profile_image_url: schemaFields.teamMemberProfileImageUrlSchema.nullable().defined()
}).defined();
var teamMemberProfilesCrudServerReadSchema = teamMemberProfilesCrudClientReadSchema.concat(yupObject({
user: usersCrudServerReadSchema.defined()
})).defined();
var teamMemberProfilesCrudClientUpdateSchema = yupObject({
display_name: schemaFields.teamMemberDisplayNameSchema.optional(),
profile_image_url: schemaFields.teamMemberProfileImageUrlSchema.nullable().optional()
}).defined();
var teamMemberProfilesCrud = createCrud({
clientReadSchema: teamMemberProfilesCrudClientReadSchema,
serverReadSchema: teamMemberProfilesCrudServerReadSchema,
clientUpdateSchema: teamMemberProfilesCrudClientUpdateSchema,
docs: {
clientList: {
summary: "List team members profiles",
description: "List team members profiles. You always need to specify a `team_id` that your are a member of on the client. You can always filter for your own profile by setting `me` as the `user_id` in the path parameters. If you want list all the profiles in a team, you need to have the `$read_members` permission in that team.",
tags: ["Teams"]
},
serverList: {
summary: "List team members profiles",
description: "List team members profiles and filter by team ID and user ID",
tags: ["Teams"]
},
clientRead: {
summary: "Get a team member profile",
description: "Get a team member profile. you can always get your own profile by setting `me` as the `user_id` in the path parameters on the client. If you want to get someone else's profile in a team, you need to have the `$read_members` permission in that team.",
tags: ["Teams"]
},
serverRead: {
summary: "Get a team member profile",
description: "Get a team member profile by user ID",
tags: ["Teams"]
},
clientUpdate: {
summary: "Update your team member profile",
description: "Update your own team member profile. `user_id` must be `me` in the path parameters on the client.",
tags: ["Teams"]
},
serverUpdate: {
summary: "Update a team member profile",
description: "Update a team member profile by user ID",
tags: ["Teams"]
}
}
});
export {
teamMemberProfilesCrud,
teamMemberProfilesCrudClientReadSchema,
teamMemberProfilesCrudClientUpdateSchema,
teamMemberProfilesCrudServerReadSchema
};
//# sourceMappingURL=team-member-profiles.js.map

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/team-member-profiles.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupObject } from \"../../schema-fields\";\nimport { usersCrudServerReadSchema } from \"./users\";\n\n\nexport const teamMemberProfilesCrudClientReadSchema = yupObject({\n team_id: schemaFields.teamIdSchema.defined(),\n user_id: schemaFields.userIdSchema.defined(),\n display_name: schemaFields.teamMemberDisplayNameSchema.nullable().defined(),\n profile_image_url: schemaFields.teamMemberProfileImageUrlSchema.nullable().defined(),\n}).defined();\n\nexport const teamMemberProfilesCrudServerReadSchema = teamMemberProfilesCrudClientReadSchema.concat(yupObject({\n user: usersCrudServerReadSchema.defined(),\n})).defined();\n\nexport const teamMemberProfilesCrudClientUpdateSchema = yupObject({\n display_name: schemaFields.teamMemberDisplayNameSchema.optional(),\n profile_image_url: schemaFields.teamMemberProfileImageUrlSchema.nullable().optional(),\n}).defined();\n\nexport const teamMemberProfilesCrud = createCrud({\n clientReadSchema: teamMemberProfilesCrudClientReadSchema,\n serverReadSchema: teamMemberProfilesCrudServerReadSchema,\n clientUpdateSchema: teamMemberProfilesCrudClientUpdateSchema,\n docs: {\n clientList: {\n summary: \"List team members profiles\",\n description: \"List team members profiles. You always need to specify a `team_id` that your are a member of on the client. You can always filter for your own profile by setting `me` as the `user_id` in the path parameters. If you want list all the profiles in a team, you need to have the `$read_members` permission in that team.\",\n tags: [\"Teams\"],\n },\n serverList: {\n summary: \"List team members profiles\",\n description: \"List team members profiles and filter by team ID and user ID\",\n tags: [\"Teams\"],\n },\n clientRead: {\n summary: \"Get a team member profile\",\n description: \"Get a team member profile. you can always get your own profile by setting `me` as the `user_id` in the path parameters on the client. If you want to get someone else's profile in a team, you need to have the `$read_members` permission in that team.\",\n tags: [\"Teams\"],\n },\n serverRead: {\n summary: \"Get a team member profile\",\n description: \"Get a team member profile by user ID\",\n tags: [\"Teams\"],\n },\n clientUpdate: {\n summary: \"Update your team member profile\",\n description: \"Update your own team member profile. `user_id` must be `me` in the path parameters on the client.\",\n tags: [\"Teams\"],\n },\n serverUpdate: {\n summary: \"Update a team member profile\",\n description: \"Update a team member profile by user ID\",\n tags: [\"Teams\"],\n },\n },\n});\n\nexport type TeamMemberProfilesCrud = CrudTypeOf<typeof teamMemberProfilesCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,YAAY,kBAAkB;AAC9B,SAAS,iBAAiB;AAC1B,SAAS,iCAAiC;AAGnC,IAAM,yCAAyC,UAAU;AAAA,EAC9D,SAAsB,0BAAa,QAAQ;AAAA,EAC3C,SAAsB,0BAAa,QAAQ;AAAA,EAC3C,cAA2B,yCAA4B,SAAS,EAAE,QAAQ;AAAA,EAC1E,mBAAgC,6CAAgC,SAAS,EAAE,QAAQ;AACrF,CAAC,EAAE,QAAQ;AAEJ,IAAM,yCAAyC,uCAAuC,OAAO,UAAU;AAAA,EAC5G,MAAM,0BAA0B,QAAQ;AAC1C,CAAC,CAAC,EAAE,QAAQ;AAEL,IAAM,2CAA2C,UAAU;AAAA,EAChE,cAA2B,yCAA4B,SAAS;AAAA,EAChE,mBAAgC,6CAAgC,SAAS,EAAE,SAAS;AACtF,CAAC,EAAE,QAAQ;AAEJ,IAAM,yBAAyB,WAAW;AAAA,EAC/C,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,EACF;AACF,CAAC;","names":[]}

View file

@ -0,0 +1,60 @@
// 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

View file

@ -0,0 +1 @@
{"version":3,"sources":["../../../../src/interface/crud/team-memberships.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupMixed, yupObject, yupString } from \"../../schema-fields\";\nimport { WebhookEvent } from \"../webhooks\";\n\nexport const teamMembershipsCrudClientReadSchema = yupObject({\n team_id: yupString().defined(),\n user_id: yupString().defined(),\n}).defined();\nexport const teamMembershipsCrudServerCreateSchema = yupObject({}).defined();\nexport const teamMembershipsCrudClientDeleteSchema = yupMixed();\n\nexport const teamMembershipsCrud = createCrud({\n // Client\n clientReadSchema: teamMembershipsCrudClientReadSchema,\n clientDeleteSchema: teamMembershipsCrudClientDeleteSchema,\n // Server\n serverCreateSchema: teamMembershipsCrudServerCreateSchema,\n docs: {\n serverCreate: {\n summary: \"Add a user to a team\",\n description: \"\",\n tags: [\"Teams\"],\n },\n clientDelete: {\n summary: \"Remove a user from a team\",\n 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.\",\n tags: [\"Teams\"],\n },\n serverDelete: {\n summary: \"Remove a user from a team\",\n description: \"\",\n tags: [\"Teams\"],\n },\n },\n});\nexport type TeamMembershipsCrud = CrudTypeOf<typeof teamMembershipsCrud>;\n\nexport const teamMembershipCreatedWebhookEvent = {\n type: \"team_membership.created\",\n schema: teamMembershipsCrud.server.readSchema,\n metadata: {\n summary: \"Team Membership Created\",\n description: \"This event is triggered when a user is added to a team.\",\n tags: [\"Teams\"],\n },\n} satisfies WebhookEvent<typeof teamMembershipsCrud.server.readSchema>;\n\nexport const teamMembershipDeletedWebhookEvent = {\n type: \"team_membership.deleted\",\n schema: teamMembershipsCrud.server.readSchema,\n metadata: {\n summary: \"Team Membership Deleted\",\n description: \"This event is triggered when a user is removed from a team.\",\n tags: [\"Teams\"],\n },\n} satisfies WebhookEvent<typeof teamMembershipsCrud.server.readSchema>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,UAAU,WAAW,iBAAiB;AAGxC,IAAM,sCAAsC,UAAU;AAAA,EAC3D,SAAS,UAAU,EAAE,QAAQ;AAAA,EAC7B,SAAS,UAAU,EAAE,QAAQ;AAC/B,CAAC,EAAE,QAAQ;AACJ,IAAM,wCAAwC,UAAU,CAAC,CAAC,EAAE,QAAQ;AACpE,IAAM,wCAAwC,SAAS;AAEvD,IAAM,sBAAsB,WAAW;AAAA;AAAA,EAE5C,kBAAkB;AAAA,EAClB,oBAAoB;AAAA;AAAA,EAEpB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,EACF;AACF,CAAC;AAGM,IAAM,oCAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,QAAQ,oBAAoB,OAAO;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;AAEO,IAAM,oCAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,QAAQ,oBAAoB,OAAO;AAAA,EACnC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;","names":[]}

View file

@ -0,0 +1,114 @@
// src/interface/crud/team-permissions.ts
import { createCrud } from "../../crud";
import * as schemaFields from "../../schema-fields";
import { yupMixed, yupObject } from "../../schema-fields";
var teamPermissionsCrudClientReadSchema = yupObject({
id: schemaFields.permissionDefinitionIdSchema.defined(),
user_id: schemaFields.userIdSchema.defined(),
team_id: schemaFields.teamIdSchema.defined()
}).defined();
var teamPermissionsCrudServerCreateSchema = yupObject({}).defined();
var teamPermissionsCrudServerDeleteSchema = yupMixed();
var teamPermissionsCrud = createCrud({
clientReadSchema: teamPermissionsCrudClientReadSchema,
serverCreateSchema: teamPermissionsCrudServerCreateSchema,
serverDeleteSchema: teamPermissionsCrudServerDeleteSchema,
docs: {
clientList: {
summary: "List team permissions",
description: "List team permissions of the current user. `user_id=me` must be set for client requests. Note that this might contain the permissions with the same permission ID across different teams. `(team_id, user_id, permission_id)` together uniquely identify a permission.",
tags: ["Permissions"]
},
serverList: {
summary: "List team permissions of a user",
description: "Query and filter the permission with `team_id`, `user_id`, and `permission_id`. Note that this might contain the permissions with the same permission ID across different teams and users. `(team_id, user_id, permission_id)` together uniquely identify a permission.",
tags: ["Permissions"]
},
serverCreate: {
summary: "Grant a team permission to a user",
description: "Grant a team permission to a user (the team permission must be created first on the Stack dashboard)",
tags: ["Permissions"]
},
serverDelete: {
summary: "Revoke a team permission from a user",
description: "Revoke a team permission from a user",
tags: ["Permissions"]
}
}
});
var teamPermissionCreatedWebhookEvent = {
type: "team_permission.created",
schema: teamPermissionsCrud.server.readSchema,
metadata: {
summary: "Team Permission Created",
description: "This event is triggered when a team permission is created.",
tags: ["Teams"]
}
};
var teamPermissionDeletedWebhookEvent = {
type: "team_permission.deleted",
schema: teamPermissionsCrud.server.readSchema,
metadata: {
summary: "Team Permission Deleted",
description: "This event is triggered when a team permission is deleted.",
tags: ["Teams"]
}
};
var teamPermissionDefinitionsCrudAdminReadSchema = yupObject({
id: schemaFields.permissionDefinitionIdSchema.defined(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined()
}).defined();
var teamPermissionDefinitionsCrudAdminCreateSchema = yupObject({
id: schemaFields.customPermissionDefinitionIdSchema.defined(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
}).defined();
var teamPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
id: schemaFields.customPermissionDefinitionIdSchema.optional(),
description: schemaFields.teamPermissionDescriptionSchema.optional(),
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
}).defined();
var teamPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();
var teamPermissionDefinitionsCrud = createCrud({
adminReadSchema: teamPermissionDefinitionsCrudAdminReadSchema,
adminCreateSchema: teamPermissionDefinitionsCrudAdminCreateSchema,
adminUpdateSchema: teamPermissionDefinitionsCrudAdminUpdateSchema,
adminDeleteSchema: teamPermissionDefinitionsCrudAdminDeleteSchema,
docs: {
adminList: {
summary: "List team permission definitions",
description: "Query and filter the permission with team_id, user_id, and permission_id (the equivalent of listing permissions on the Stack dashboard)",
tags: ["Permissions"]
},
adminCreate: {
summary: "Create a new team permission definition",
description: "Create a new permission definition (the equivalent of creating a new permission on the Stack dashboard)",
tags: ["Permissions"]
},
adminUpdate: {
summary: "Update a team permission definition",
description: "Update a permission definition (the equivalent of updating a permission on the Stack dashboard)",
tags: ["Permissions"]
},
adminDelete: {
summary: "Delete a team permission definition",
description: "Delete a permission definition (the equivalent of deleting a permission on the Stack dashboard)",
tags: ["Permissions"]
}
}
});
export {
teamPermissionCreatedWebhookEvent,
teamPermissionDefinitionsCrud,
teamPermissionDefinitionsCrudAdminCreateSchema,
teamPermissionDefinitionsCrudAdminDeleteSchema,
teamPermissionDefinitionsCrudAdminReadSchema,
teamPermissionDefinitionsCrudAdminUpdateSchema,
teamPermissionDeletedWebhookEvent,
teamPermissionsCrud,
teamPermissionsCrudClientReadSchema,
teamPermissionsCrudServerCreateSchema,
teamPermissionsCrudServerDeleteSchema
};
//# sourceMappingURL=team-permissions.js.map

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,143 @@
// 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

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,139 @@
// src/interface/crud/users.ts
import { createCrud } from "../../crud";
import * as fieldSchema from "../../schema-fields";
import { teamsCrudServerReadSchema } from "./teams";
var usersCrudServerUpdateSchema = fieldSchema.yupObject({
display_name: fieldSchema.userDisplayNameSchema.optional(),
profile_image_url: fieldSchema.profileImageUrlSchema.nullable().optional(),
client_metadata: fieldSchema.userClientMetadataSchema.optional(),
client_read_only_metadata: fieldSchema.userClientReadOnlyMetadataSchema.optional(),
server_metadata: fieldSchema.userServerMetadataSchema.optional(),
primary_email: fieldSchema.primaryEmailSchema.nullable().optional().nonEmpty(),
primary_email_verified: fieldSchema.primaryEmailVerifiedSchema.optional(),
primary_email_auth_enabled: fieldSchema.primaryEmailAuthEnabledSchema.optional(),
passkey_auth_enabled: fieldSchema.userOtpAuthEnabledSchema.optional(),
password: fieldSchema.userPasswordMutationSchema.optional(),
password_hash: fieldSchema.userPasswordHashMutationSchema.optional(),
otp_auth_enabled: fieldSchema.userOtpAuthEnabledMutationSchema.optional(),
totp_secret_base64: fieldSchema.userTotpSecretMutationSchema.optional(),
selected_team_id: fieldSchema.selectedTeamIdSchema.nullable().optional(),
is_anonymous: fieldSchema.yupBoolean().oneOf([false]).optional()
}).defined();
var usersCrudServerReadSchema = fieldSchema.yupObject({
id: fieldSchema.userIdSchema.defined(),
primary_email: fieldSchema.primaryEmailSchema.nullable().defined(),
primary_email_verified: fieldSchema.primaryEmailVerifiedSchema.defined(),
primary_email_auth_enabled: fieldSchema.primaryEmailAuthEnabledSchema.defined(),
display_name: fieldSchema.userDisplayNameSchema.nullable().defined(),
selected_team: teamsCrudServerReadSchema.nullable().defined(),
selected_team_id: fieldSchema.selectedTeamIdSchema.nullable().defined(),
profile_image_url: fieldSchema.profileImageUrlSchema.nullable().defined(),
signed_up_at_millis: fieldSchema.signedUpAtMillisSchema.defined(),
has_password: fieldSchema.userHasPasswordSchema.defined(),
otp_auth_enabled: fieldSchema.userOtpAuthEnabledSchema.defined(),
passkey_auth_enabled: fieldSchema.userOtpAuthEnabledSchema.defined(),
client_metadata: fieldSchema.userClientMetadataSchema,
client_read_only_metadata: fieldSchema.userClientReadOnlyMetadataSchema,
server_metadata: fieldSchema.userServerMetadataSchema,
last_active_at_millis: fieldSchema.userLastActiveAtMillisSchema.nonNullable().defined(),
is_anonymous: fieldSchema.yupBoolean().defined(),
oauth_providers: fieldSchema.yupArray(fieldSchema.yupObject({
id: fieldSchema.yupString().defined(),
account_id: fieldSchema.yupString().defined(),
email: fieldSchema.yupString().nullable()
}).defined()).defined().meta({ openapiField: { hidden: true } }),
/**
* @deprecated
*/
auth_with_email: fieldSchema.yupBoolean().defined().meta({ openapiField: { hidden: true, description: "Whether the user can authenticate with their primary e-mail. If set to true, the user can log-in with credentials and/or magic link, if enabled in the project settings.", exampleValue: true } }),
/**
* @deprecated
*/
requires_totp_mfa: fieldSchema.yupBoolean().defined().meta({ openapiField: { hidden: true, description: "Whether the user is required to use TOTP MFA to sign in", exampleValue: false } })
}).defined();
var usersCrudServerCreateSchema = usersCrudServerUpdateSchema.omit(["selected_team_id"]).concat(fieldSchema.yupObject({
oauth_providers: fieldSchema.yupArray(fieldSchema.yupObject({
id: fieldSchema.yupString().defined(),
account_id: fieldSchema.yupString().defined(),
email: fieldSchema.yupString().nullable().defined().default(null)
}).defined()).optional().meta({ openapiField: { hidden: true } }),
is_anonymous: fieldSchema.yupBoolean().optional()
}).defined());
var usersCrudServerDeleteSchema = fieldSchema.yupMixed();
var usersCrud = createCrud({
serverReadSchema: usersCrudServerReadSchema,
serverUpdateSchema: usersCrudServerUpdateSchema,
serverCreateSchema: usersCrudServerCreateSchema,
serverDeleteSchema: usersCrudServerDeleteSchema,
docs: {
serverCreate: {
tags: ["Users"],
summary: "Create user",
description: "Creates a new user. E-mail authentication is always enabled, and no password is set, meaning the only way to authenticate the newly created user is through magic link."
},
serverRead: {
tags: ["Users"],
summary: "Get user",
description: "Gets a user by user ID."
},
serverUpdate: {
tags: ["Users"],
summary: "Update user",
description: "Updates a user. Only the values provided will be updated."
},
serverDelete: {
tags: ["Users"],
summary: "Delete user",
description: "Deletes a user. Use this with caution."
},
serverList: {
tags: ["Users"],
summary: "List users",
description: "Lists all the users in the project."
}
}
});
var userCreatedWebhookEvent = {
type: "user.created",
schema: usersCrud.server.readSchema,
metadata: {
summary: "User Created",
description: "This event is triggered when a user is created.",
tags: ["Users"]
}
};
var userUpdatedWebhookEvent = {
type: "user.updated",
schema: usersCrud.server.readSchema,
metadata: {
summary: "User Updated",
description: "This event is triggered when a user is updated.",
tags: ["Users"]
}
};
var webhookUserDeletedSchema = fieldSchema.yupObject({
id: fieldSchema.userIdSchema.defined(),
teams: fieldSchema.yupArray(fieldSchema.yupObject({
id: fieldSchema.yupString().defined()
})).defined()
}).defined();
var userDeletedWebhookEvent = {
type: "user.deleted",
schema: webhookUserDeletedSchema,
metadata: {
summary: "User Deleted",
description: "This event is triggered when a user is deleted.",
tags: ["Users"]
}
};
export {
userCreatedWebhookEvent,
userDeletedWebhookEvent,
userUpdatedWebhookEvent,
usersCrud,
usersCrudServerCreateSchema,
usersCrudServerDeleteSchema,
usersCrudServerReadSchema,
usersCrudServerUpdateSchema
};
//# sourceMappingURL=users.js.map

File diff suppressed because one or more lines are too long