mirror of
https://github.com/eigent-ai/eigent.git
synced 2026-04-29 04:00:09 +00:00
Initial commit of eigent-main
This commit is contained in:
commit
723df5a03e
1144 changed files with 103478 additions and 0 deletions
244
package/@stackframe/stack-shared/dist/esm/interface/adminInterface.js
vendored
Normal file
244
package/@stackframe/stack-shared/dist/esm/interface/adminInterface.js
vendored
Normal file
|
|
@ -0,0 +1,244 @@
|
|||
// src/interface/adminInterface.ts
|
||||
import { StackServerInterface } from "./serverInterface";
|
||||
var StackAdminInterface = class extends StackServerInterface {
|
||||
constructor(options) {
|
||||
super(options);
|
||||
this.options = options;
|
||||
}
|
||||
async sendAdminRequest(path, options, session, requestType = "admin") {
|
||||
return await this.sendServerRequest(
|
||||
path,
|
||||
{
|
||||
...options,
|
||||
headers: {
|
||||
"x-stack-super-secret-admin-key": "superSecretAdminKey" in this.options ? this.options.superSecretAdminKey : "",
|
||||
...options.headers
|
||||
}
|
||||
},
|
||||
session,
|
||||
requestType
|
||||
);
|
||||
}
|
||||
async getProject() {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/internal/projects/current",
|
||||
{
|
||||
method: "GET"
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async updateProject(update) {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/internal/projects/current",
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(update)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async createInternalApiKey(options) {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/internal/api-keys",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(options)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async listInternalApiKeys() {
|
||||
const response = await this.sendAdminRequest("/internal/api-keys", {}, null);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async revokeInternalApiKeyById(id) {
|
||||
await this.sendAdminRequest(
|
||||
`/internal/api-keys/${id}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({
|
||||
revoked: true
|
||||
})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async getInternalApiKey(id, session) {
|
||||
const response = await this.sendAdminRequest(`/internal/api-keys/${id}`, {}, session);
|
||||
return await response.json();
|
||||
}
|
||||
async listEmailTemplates() {
|
||||
const response = await this.sendAdminRequest(`/email-templates`, {}, null);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async updateEmailTemplate(type, data) {
|
||||
const result = await this.sendAdminRequest(
|
||||
`/email-templates/${type}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await result.json();
|
||||
}
|
||||
async resetEmailTemplate(type) {
|
||||
await this.sendAdminRequest(
|
||||
`/email-templates/${type}`,
|
||||
{ method: "DELETE" },
|
||||
null
|
||||
);
|
||||
}
|
||||
// Team permission definitions methods
|
||||
async listTeamPermissionDefinitions() {
|
||||
const response = await this.sendAdminRequest(`/team-permission-definitions`, {}, null);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async createTeamPermissionDefinition(data) {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/team-permission-definitions",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async updateTeamPermissionDefinition(permissionId, data) {
|
||||
const response = await this.sendAdminRequest(
|
||||
`/team-permission-definitions/${permissionId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteTeamPermissionDefinition(permissionId) {
|
||||
await this.sendAdminRequest(
|
||||
`/team-permission-definitions/${permissionId}`,
|
||||
{ method: "DELETE" },
|
||||
null
|
||||
);
|
||||
}
|
||||
async listProjectPermissionDefinitions() {
|
||||
const response = await this.sendAdminRequest(`/project-permission-definitions`, {}, null);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async createProjectPermissionDefinition(data) {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/project-permission-definitions",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async updateProjectPermissionDefinition(permissionId, data) {
|
||||
const response = await this.sendAdminRequest(
|
||||
`/project-permission-definitions/${permissionId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteProjectPermissionDefinition(permissionId) {
|
||||
await this.sendAdminRequest(
|
||||
`/project-permission-definitions/${permissionId}`,
|
||||
{ method: "DELETE" },
|
||||
null
|
||||
);
|
||||
}
|
||||
async getSvixToken() {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/webhooks/svix-token",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteProject() {
|
||||
await this.sendAdminRequest(
|
||||
"/internal/projects/current",
|
||||
{
|
||||
method: "DELETE"
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async getMetrics() {
|
||||
const response = await this.sendAdminRequest(
|
||||
"/internal/metrics",
|
||||
{
|
||||
method: "GET"
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async sendTestEmail(data) {
|
||||
const response = await this.sendAdminRequest(`/internal/send-test-email`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
}, null);
|
||||
return await response.json();
|
||||
}
|
||||
async listSentEmails() {
|
||||
const response = await this.sendAdminRequest("/internal/emails", {
|
||||
method: "GET"
|
||||
}, null);
|
||||
return await response.json();
|
||||
}
|
||||
};
|
||||
export {
|
||||
StackAdminInterface
|
||||
};
|
||||
//# sourceMappingURL=adminInterface.js.map
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/adminInterface.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/adminInterface.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2043
package/@stackframe/stack-shared/dist/esm/interface/clientInterface.js
vendored
Normal file
2043
package/@stackframe/stack-shared/dist/esm/interface/clientInterface.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
package/@stackframe/stack-shared/dist/esm/interface/clientInterface.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/clientInterface.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
77
package/@stackframe/stack-shared/dist/esm/interface/crud/contact-channels.js
vendored
Normal file
77
package/@stackframe/stack-shared/dist/esm/interface/crud/contact-channels.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/contact-channels.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/contact-channels.js.map
vendored
Normal 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":[]}
|
||||
65
package/@stackframe/stack-shared/dist/esm/interface/crud/current-user.js
vendored
Normal file
65
package/@stackframe/stack-shared/dist/esm/interface/crud/current-user.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/current-user.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/current-user.js.map
vendored
Normal 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":[]}
|
||||
52
package/@stackframe/stack-shared/dist/esm/interface/crud/email-templates.js
vendored
Normal file
52
package/@stackframe/stack-shared/dist/esm/interface/crud/email-templates.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/email-templates.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/email-templates.js.map
vendored
Normal 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":[]}
|
||||
20
package/@stackframe/stack-shared/dist/esm/interface/crud/emails.js
vendored
Normal file
20
package/@stackframe/stack-shared/dist/esm/interface/crud/emails.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/emails.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/emails.js.map
vendored
Normal 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":[]}
|
||||
69
package/@stackframe/stack-shared/dist/esm/interface/crud/internal-api-keys.js
vendored
Normal file
69
package/@stackframe/stack-shared/dist/esm/interface/crud/internal-api-keys.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/internal-api-keys.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/internal-api-keys.js.map
vendored
Normal 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":[]}
|
||||
24
package/@stackframe/stack-shared/dist/esm/interface/crud/oauth.js
vendored
Normal file
24
package/@stackframe/stack-shared/dist/esm/interface/crud/oauth.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/oauth.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/oauth.js.map
vendored
Normal 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":[]}
|
||||
98
package/@stackframe/stack-shared/dist/esm/interface/crud/project-api-keys.js
vendored
Normal file
98
package/@stackframe/stack-shared/dist/esm/interface/crud/project-api-keys.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/project-api-keys.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/project-api-keys.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
113
package/@stackframe/stack-shared/dist/esm/interface/crud/project-permissions.js
vendored
Normal file
113
package/@stackframe/stack-shared/dist/esm/interface/crud/project-permissions.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/project-permissions.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/project-permissions.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
181
package/@stackframe/stack-shared/dist/esm/interface/crud/projects.js
vendored
Normal file
181
package/@stackframe/stack-shared/dist/esm/interface/crud/projects.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/projects.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/projects.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
62
package/@stackframe/stack-shared/dist/esm/interface/crud/sessions.js
vendored
Normal file
62
package/@stackframe/stack-shared/dist/esm/interface/crud/sessions.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/sessions.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/sessions.js.map
vendored
Normal 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":[]}
|
||||
22
package/@stackframe/stack-shared/dist/esm/interface/crud/svix-token.js
vendored
Normal file
22
package/@stackframe/stack-shared/dist/esm/interface/crud/svix-token.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/svix-token.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/svix-token.js.map
vendored
Normal 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":[]}
|
||||
23
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation-details.js
vendored
Normal file
23
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation-details.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation-details.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation-details.js.map
vendored
Normal 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":[]}
|
||||
36
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation.js
vendored
Normal file
36
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-invitation.js.map
vendored
Normal 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":[]}
|
||||
62
package/@stackframe/stack-shared/dist/esm/interface/crud/team-member-profiles.js
vendored
Normal file
62
package/@stackframe/stack-shared/dist/esm/interface/crud/team-member-profiles.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-member-profiles.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-member-profiles.js.map
vendored
Normal 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":[]}
|
||||
60
package/@stackframe/stack-shared/dist/esm/interface/crud/team-memberships.js
vendored
Normal file
60
package/@stackframe/stack-shared/dist/esm/interface/crud/team-memberships.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-memberships.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-memberships.js.map
vendored
Normal 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":[]}
|
||||
114
package/@stackframe/stack-shared/dist/esm/interface/crud/team-permissions.js
vendored
Normal file
114
package/@stackframe/stack-shared/dist/esm/interface/crud/team-permissions.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-permissions.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/team-permissions.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
143
package/@stackframe/stack-shared/dist/esm/interface/crud/teams.js
vendored
Normal file
143
package/@stackframe/stack-shared/dist/esm/interface/crud/teams.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/teams.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/teams.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
139
package/@stackframe/stack-shared/dist/esm/interface/crud/users.js
vendored
Normal file
139
package/@stackframe/stack-shared/dist/esm/interface/crud/users.js
vendored
Normal 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
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/crud/users.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/crud/users.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
511
package/@stackframe/stack-shared/dist/esm/interface/serverInterface.js
vendored
Normal file
511
package/@stackframe/stack-shared/dist/esm/interface/serverInterface.js
vendored
Normal file
|
|
@ -0,0 +1,511 @@
|
|||
// src/interface/serverInterface.ts
|
||||
import { KnownErrors } from "../known-errors";
|
||||
import { StackAssertionError } from "../utils/errors";
|
||||
import { filterUndefined } from "../utils/objects";
|
||||
import { Result } from "../utils/results";
|
||||
import { urlString } from "../utils/urls";
|
||||
import {
|
||||
StackClientInterface
|
||||
} from "./clientInterface";
|
||||
var StackServerInterface = class extends StackClientInterface {
|
||||
constructor(options) {
|
||||
super(options);
|
||||
this.options = options;
|
||||
}
|
||||
async sendServerRequest(path, options, session, requestType = "server") {
|
||||
return await this.sendClientRequest(
|
||||
path,
|
||||
{
|
||||
...options,
|
||||
headers: {
|
||||
"x-stack-secret-server-key": "secretServerKey" in this.options ? this.options.secretServerKey : "",
|
||||
...options.headers
|
||||
}
|
||||
},
|
||||
session,
|
||||
requestType
|
||||
);
|
||||
}
|
||||
async sendServerRequestAndCatchKnownError(path, requestOptions, tokenStoreOrNull, errorsToCatch) {
|
||||
try {
|
||||
return Result.ok(await this.sendServerRequest(path, requestOptions, tokenStoreOrNull));
|
||||
} catch (e) {
|
||||
for (const errorType of errorsToCatch) {
|
||||
if (errorType.isInstance(e)) {
|
||||
return Result.error(e);
|
||||
}
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
async createServerUser(data) {
|
||||
const response = await this.sendServerRequest(
|
||||
"/users",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async getServerUserByToken(session) {
|
||||
const responseOrError = await this.sendServerRequestAndCatchKnownError(
|
||||
"/users/me",
|
||||
{},
|
||||
session,
|
||||
[KnownErrors.CannotGetOwnUserWithoutUser]
|
||||
);
|
||||
if (responseOrError.status === "error") {
|
||||
if (KnownErrors.CannotGetOwnUserWithoutUser.isInstance(responseOrError.error)) {
|
||||
return null;
|
||||
} else {
|
||||
throw new StackAssertionError("Unexpected uncaught error", { cause: responseOrError.error });
|
||||
}
|
||||
}
|
||||
const response = responseOrError.data;
|
||||
const user = await response.json();
|
||||
if (!user) throw new StackAssertionError("User endpoint returned null; this should never happen");
|
||||
return user;
|
||||
}
|
||||
async getServerUserById(userId) {
|
||||
const responseOrError = await this.sendServerRequestAndCatchKnownError(
|
||||
urlString`/users/${userId}`,
|
||||
{},
|
||||
null,
|
||||
[KnownErrors.UserNotFound]
|
||||
);
|
||||
if (responseOrError.status === "error") {
|
||||
return Result.error(responseOrError.error);
|
||||
}
|
||||
const user = await responseOrError.data.json();
|
||||
return Result.ok(user);
|
||||
}
|
||||
async listServerTeamInvitations(options) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/team-invitations?team_id=${options.teamId}`,
|
||||
{},
|
||||
null
|
||||
);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async revokeServerTeamInvitation(invitationId, teamId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/team-invitations/${invitationId}?team_id=${teamId}`,
|
||||
{ method: "DELETE" },
|
||||
null
|
||||
);
|
||||
}
|
||||
async listServerTeamMemberProfiles(options) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/team-member-profiles?team_id=${options.teamId}`,
|
||||
{},
|
||||
null
|
||||
);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async getServerTeamMemberProfile(options) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/team-member-profiles/${options.teamId}/${options.userId}`,
|
||||
{},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async listServerTeamPermissions(options, session) {
|
||||
const response = await this.sendServerRequest(
|
||||
`/team-permissions?${new URLSearchParams(filterUndefined({
|
||||
user_id: options.userId,
|
||||
team_id: options.teamId,
|
||||
recursive: options.recursive.toString()
|
||||
}))}`,
|
||||
{},
|
||||
session
|
||||
);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async listServerProjectPermissions(options, session) {
|
||||
const response = await this.sendServerRequest(
|
||||
`/project-permissions?${new URLSearchParams(filterUndefined({
|
||||
user_id: options.userId,
|
||||
recursive: options.recursive.toString()
|
||||
}))}`,
|
||||
{},
|
||||
session
|
||||
);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async listServerUsers(options) {
|
||||
const searchParams = new URLSearchParams(filterUndefined({
|
||||
cursor: options.cursor,
|
||||
limit: options.limit?.toString(),
|
||||
desc: options.desc?.toString(),
|
||||
...options.orderBy ? {
|
||||
order_by: {
|
||||
signedUpAt: "signed_up_at"
|
||||
}[options.orderBy]
|
||||
} : {},
|
||||
...options.query ? {
|
||||
query: options.query
|
||||
} : {}
|
||||
}));
|
||||
const response = await this.sendServerRequest("/users?" + searchParams.toString(), {}, null);
|
||||
return await response.json();
|
||||
}
|
||||
async listServerTeams(options) {
|
||||
const response = await this.sendServerRequest(
|
||||
`/teams?${new URLSearchParams(filterUndefined({
|
||||
user_id: options?.userId
|
||||
}))}`,
|
||||
{},
|
||||
null
|
||||
);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
async getServerTeam(teamId) {
|
||||
const response = await this.sendServerRequest(
|
||||
`/teams/${teamId}`,
|
||||
{},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async listServerTeamUsers(teamId) {
|
||||
const response = await this.sendServerRequest(`/users?team_id=${teamId}`, {}, null);
|
||||
const result = await response.json();
|
||||
return result.items;
|
||||
}
|
||||
/* when passing a session, the user will be added to the team */
|
||||
async createServerTeam(data) {
|
||||
const response = await this.sendServerRequest(
|
||||
"/teams",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async updateServerTeam(teamId, data) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/teams/${teamId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteServerTeam(teamId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/teams/${teamId}`,
|
||||
{ method: "DELETE" },
|
||||
null
|
||||
);
|
||||
}
|
||||
async addServerUserToTeam(options) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/team-memberships/${options.teamId}/${options.userId}`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async removeServerUserFromTeam(options) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/team-memberships/${options.teamId}/${options.userId}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async updateServerUser(userId, update) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/users/${userId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(update)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async createServerProviderAccessToken(userId, provider, scope) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/connected-accounts/${userId}/${provider}/access-token`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({ scope })
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async createServerUserSession(userId, expiresInMillis, isImpersonation) {
|
||||
const response = await this.sendServerRequest(
|
||||
"/auth/sessions",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({
|
||||
user_id: userId,
|
||||
expires_in_millis: expiresInMillis,
|
||||
is_impersonation: isImpersonation
|
||||
})
|
||||
},
|
||||
null
|
||||
);
|
||||
const result = await response.json();
|
||||
return {
|
||||
accessToken: result.access_token,
|
||||
refreshToken: result.refresh_token
|
||||
};
|
||||
}
|
||||
async leaveServerTeam(options) {
|
||||
await this.sendClientRequest(
|
||||
urlString`/team-memberships/${options.teamId}/${options.userId}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async updateServerTeamMemberProfile(options) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/team-member-profiles/${options.teamId}/${options.userId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(options.profile)
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async grantServerTeamUserPermission(teamId, userId, permissionId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/team-permissions/${teamId}/${userId}/${permissionId}`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async grantServerProjectPermission(userId, permissionId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/project-permissions/${userId}/${permissionId}`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async revokeServerTeamUserPermission(teamId, userId, permissionId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/team-permissions/${teamId}/${userId}/${permissionId}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async revokeServerProjectPermission(userId, permissionId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/project-permissions/${userId}/${permissionId}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async deleteServerUser(userId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/users/${userId}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async createServerContactChannel(data) {
|
||||
const response = await this.sendServerRequest(
|
||||
"/contact-channels",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async updateServerContactChannel(userId, contactChannelId, data) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/contact-channels/${userId}/${contactChannelId}`,
|
||||
{
|
||||
method: "PATCH",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteServerContactChannel(userId, contactChannelId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/contact-channels/${userId}/${contactChannelId}`,
|
||||
{
|
||||
method: "DELETE"
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async listServerContactChannels(userId) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/contact-channels?user_id=${userId}`,
|
||||
{
|
||||
method: "GET"
|
||||
},
|
||||
null
|
||||
);
|
||||
const json = await response.json();
|
||||
return json.items;
|
||||
}
|
||||
async sendServerContactChannelVerificationEmail(userId, contactChannelId, callbackUrl) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/contact-channels/${userId}/${contactChannelId}/send-verification-code`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"content-type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({ callback_url: callbackUrl })
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async listServerSessions(userId) {
|
||||
const response = await this.sendServerRequest(
|
||||
urlString`/auth/sessions?user_id=${userId}`,
|
||||
{
|
||||
method: "GET"
|
||||
},
|
||||
null
|
||||
);
|
||||
return await response.json();
|
||||
}
|
||||
async deleteServerSession(sessionId) {
|
||||
await this.sendServerRequest(
|
||||
urlString`/auth/sessions/${sessionId}`,
|
||||
{
|
||||
method: "DELETE"
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async sendServerTeamInvitation(options) {
|
||||
await this.sendServerRequest(
|
||||
"/team-invitations/send-code",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({
|
||||
email: options.email,
|
||||
team_id: options.teamId,
|
||||
callback_url: options.callbackUrl
|
||||
})
|
||||
},
|
||||
null
|
||||
);
|
||||
}
|
||||
async updatePassword(options) {
|
||||
const res = await this.sendServerRequestAndCatchKnownError(
|
||||
"/auth/password/update",
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({
|
||||
old_password: options.oldPassword,
|
||||
new_password: options.newPassword
|
||||
})
|
||||
},
|
||||
null,
|
||||
[KnownErrors.PasswordConfirmationMismatch, KnownErrors.PasswordRequirementsNotMet]
|
||||
);
|
||||
if (res.status === "error") {
|
||||
return res.error;
|
||||
}
|
||||
}
|
||||
};
|
||||
export {
|
||||
StackServerInterface
|
||||
};
|
||||
//# sourceMappingURL=serverInterface.js.map
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/serverInterface.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/serverInterface.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
21
package/@stackframe/stack-shared/dist/esm/interface/webhooks.js
vendored
Normal file
21
package/@stackframe/stack-shared/dist/esm/interface/webhooks.js
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// src/interface/webhooks.ts
|
||||
import { teamMembershipCreatedWebhookEvent, teamMembershipDeletedWebhookEvent } from "./crud/team-memberships";
|
||||
import { teamPermissionCreatedWebhookEvent, teamPermissionDeletedWebhookEvent } from "./crud/team-permissions";
|
||||
import { teamCreatedWebhookEvent, teamDeletedWebhookEvent, teamUpdatedWebhookEvent } from "./crud/teams";
|
||||
import { userCreatedWebhookEvent, userDeletedWebhookEvent, userUpdatedWebhookEvent } from "./crud/users";
|
||||
var webhookEvents = [
|
||||
userCreatedWebhookEvent,
|
||||
userUpdatedWebhookEvent,
|
||||
userDeletedWebhookEvent,
|
||||
teamCreatedWebhookEvent,
|
||||
teamUpdatedWebhookEvent,
|
||||
teamDeletedWebhookEvent,
|
||||
teamMembershipCreatedWebhookEvent,
|
||||
teamMembershipDeletedWebhookEvent,
|
||||
teamPermissionCreatedWebhookEvent,
|
||||
teamPermissionDeletedWebhookEvent
|
||||
];
|
||||
export {
|
||||
webhookEvents
|
||||
};
|
||||
//# sourceMappingURL=webhooks.js.map
|
||||
1
package/@stackframe/stack-shared/dist/esm/interface/webhooks.js.map
vendored
Normal file
1
package/@stackframe/stack-shared/dist/esm/interface/webhooks.js.map
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../src/interface/webhooks.ts"],"sourcesContent":["import * as yup from \"yup\";\nimport { teamMembershipCreatedWebhookEvent, teamMembershipDeletedWebhookEvent } from \"./crud/team-memberships\";\nimport { teamPermissionCreatedWebhookEvent, teamPermissionDeletedWebhookEvent } from \"./crud/team-permissions\";\nimport { teamCreatedWebhookEvent, teamDeletedWebhookEvent, teamUpdatedWebhookEvent } from \"./crud/teams\";\nimport { userCreatedWebhookEvent, userDeletedWebhookEvent, userUpdatedWebhookEvent } from \"./crud/users\";\n\nexport type WebhookEvent<S extends yup.Schema> = {\n type: string,\n schema: S,\n metadata: {\n summary: string,\n description: string,\n tags?: string[],\n },\n};\n\nexport const webhookEvents = [\n userCreatedWebhookEvent,\n userUpdatedWebhookEvent,\n userDeletedWebhookEvent,\n teamCreatedWebhookEvent,\n teamUpdatedWebhookEvent,\n teamDeletedWebhookEvent,\n teamMembershipCreatedWebhookEvent,\n teamMembershipDeletedWebhookEvent,\n teamPermissionCreatedWebhookEvent,\n teamPermissionDeletedWebhookEvent,\n] as const;\n"],"mappings":";AACA,SAAS,mCAAmC,yCAAyC;AACrF,SAAS,mCAAmC,yCAAyC;AACrF,SAAS,yBAAyB,yBAAyB,+BAA+B;AAC1F,SAAS,yBAAyB,yBAAyB,+BAA+B;AAYnF,IAAM,gBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
||||
Loading…
Add table
Add a link
Reference in a new issue