mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
rename all
This commit is contained in:
parent
fc4892b1cf
commit
566ea01465
@ -2,12 +2,12 @@ import { createPermissionDefinition, deletePermissionDefinition, listPermissionD
|
||||
import { retryTransaction } from "@/prisma-client";
|
||||
import { createCrudHandlers } from "@/route-handlers/crud-handler";
|
||||
import { projectPermissionDefinitionsCrud } from '@stackframe/stack-shared/dist/interface/crud/project-permissions';
|
||||
import { teamPermissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { permissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
|
||||
|
||||
export const projectPermissionDefinitionsCrudHandlers = createLazyProxy(() => createCrudHandlers(projectPermissionDefinitionsCrud, {
|
||||
paramsSchema: yupObject({
|
||||
permission_id: teamPermissionDefinitionIdSchema.defined(),
|
||||
permission_id: permissionDefinitionIdSchema.defined(),
|
||||
}),
|
||||
async onCreate({ auth, data }) {
|
||||
return await retryTransaction(async (tx) => {
|
||||
|
||||
@ -6,19 +6,19 @@ import { createCrudHandlers } from "@/route-handlers/crud-handler";
|
||||
import { runAsynchronouslyAndWaitUntil } from "@/utils/vercel";
|
||||
import { KnownErrors } from "@stackframe/stack-shared";
|
||||
import { projectPermissionsCrud } from '@stackframe/stack-shared/dist/interface/crud/project-permissions';
|
||||
import { teamPermissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
|
||||
|
||||
export const projectPermissionsCrudHandlers = createLazyProxy(() => createCrudHandlers(projectPermissionsCrud, {
|
||||
querySchema: yupObject({
|
||||
user_id: userIdOrMeSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the user ID. If set, only the permissions this user has will be returned. Client request must set `user_id=me`', exampleValue: 'me' } }),
|
||||
permission_id: teamPermissionDefinitionIdSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the permission ID. If set, only the permissions with this specific ID will be returned', exampleValue: '16399452-c4f3-4554-8e44-c2d67bb60360' } }),
|
||||
permission_id: permissionDefinitionIdSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the permission ID. If set, only the permissions with this specific ID will be returned', exampleValue: '16399452-c4f3-4554-8e44-c2d67bb60360' } }),
|
||||
recursive: yupString().oneOf(['true', 'false']).optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Whether to list permissions recursively. If set to `false`, only the permission the users directly have will be listed. If set to `true` all the direct and indirect permissions will be listed.', exampleValue: 'true' } }),
|
||||
}),
|
||||
paramsSchema: yupObject({
|
||||
user_id: userIdOrMeSchema.defined(),
|
||||
permission_id: teamPermissionDefinitionIdSchema.defined(),
|
||||
permission_id: permissionDefinitionIdSchema.defined(),
|
||||
}),
|
||||
async onCreate({ auth, params }) {
|
||||
const result = await retryTransaction(async (tx) => {
|
||||
|
||||
@ -2,12 +2,12 @@ import { createPermissionDefinition, deletePermissionDefinition, listPermissionD
|
||||
import { retryTransaction } from "@/prisma-client";
|
||||
import { createCrudHandlers } from "@/route-handlers/crud-handler";
|
||||
import { teamPermissionDefinitionsCrud } from '@stackframe/stack-shared/dist/interface/crud/team-permissions';
|
||||
import { teamPermissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { permissionDefinitionIdSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
|
||||
|
||||
export const teamPermissionDefinitionsCrudHandlers = createLazyProxy(() => createCrudHandlers(teamPermissionDefinitionsCrud, {
|
||||
paramsSchema: yupObject({
|
||||
permission_id: teamPermissionDefinitionIdSchema.defined(),
|
||||
permission_id: permissionDefinitionIdSchema.defined(),
|
||||
}),
|
||||
async onCreate({ auth, data }) {
|
||||
return await retryTransaction(async (tx) => {
|
||||
|
||||
@ -6,7 +6,7 @@ import { createCrudHandlers } from "@/route-handlers/crud-handler";
|
||||
import { runAsynchronouslyAndWaitUntil } from "@/utils/vercel";
|
||||
import { KnownErrors } from "@stackframe/stack-shared";
|
||||
import { teamPermissionsCrud } from '@stackframe/stack-shared/dist/interface/crud/team-permissions';
|
||||
import { teamPermissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { permissionDefinitionIdSchema, userIdOrMeSchema, yupObject, yupString } from "@stackframe/stack-shared/dist/schema-fields";
|
||||
import { StatusError, throwErr } from "@stackframe/stack-shared/dist/utils/errors";
|
||||
import { createLazyProxy } from "@stackframe/stack-shared/dist/utils/proxies";
|
||||
|
||||
@ -14,13 +14,13 @@ export const teamPermissionsCrudHandlers = createLazyProxy(() => createCrudHandl
|
||||
querySchema: yupObject({
|
||||
team_id: yupString().uuid().optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the team ID. If set, only the permissions of the members in a specific team will be returned.', exampleValue: 'cce084a3-28b7-418e-913e-c8ee6d802ea4' } }),
|
||||
user_id: userIdOrMeSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the user ID. If set, only the permissions this user has will be returned. Client request must set `user_id=me`', exampleValue: 'me' } }),
|
||||
permission_id: teamPermissionDefinitionIdSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the permission ID. If set, only the permissions with this specific ID will be returned', exampleValue: '16399452-c4f3-4554-8e44-c2d67bb60360' } }),
|
||||
permission_id: permissionDefinitionIdSchema.optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Filter with the permission ID. If set, only the permissions with this specific ID will be returned', exampleValue: '16399452-c4f3-4554-8e44-c2d67bb60360' } }),
|
||||
recursive: yupString().oneOf(['true', 'false']).optional().meta({ openapiField: { onlyShowInOperations: [ 'List' ], description: 'Whether to list permissions recursively. If set to `false`, only the permission the users directly have will be listed. If set to `true` all the direct and indirect permissions will be listed.', exampleValue: 'true' } }),
|
||||
}),
|
||||
paramsSchema: yupObject({
|
||||
team_id: yupString().uuid().defined(),
|
||||
user_id: userIdOrMeSchema.defined(),
|
||||
permission_id: teamPermissionDefinitionIdSchema.defined(),
|
||||
permission_id: permissionDefinitionIdSchema.defined(),
|
||||
}),
|
||||
async onCreate({ auth, params }) {
|
||||
const result = await retryTransaction(async (tx) => {
|
||||
|
||||
@ -6,7 +6,7 @@ import { WebhookEvent } from "../webhooks";
|
||||
// =============== Project permissions =================
|
||||
|
||||
export const projectPermissionsCrudClientReadSchema = yupObject({
|
||||
id: schemaFields.teamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
||||
user_id: schemaFields.userIdSchema.defined(),
|
||||
}).defined();
|
||||
|
||||
@ -67,19 +67,19 @@ export const projectPermissionDeletedWebhookEvent = {
|
||||
// =============== Project permission definitions =================
|
||||
|
||||
export const projectPermissionDefinitionsCrudAdminReadSchema = yupObject({
|
||||
id: schemaFields.teamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined(),
|
||||
}).defined();
|
||||
|
||||
export const projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({
|
||||
id: schemaFields.customTeamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.customPermissionDefinitionIdSchema.defined(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),
|
||||
}).defined();
|
||||
|
||||
export const projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
|
||||
id: schemaFields.customTeamPermissionDefinitionIdSchema.optional(),
|
||||
id: schemaFields.customPermissionDefinitionIdSchema.optional(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),
|
||||
}).defined();
|
||||
|
||||
@ -6,7 +6,7 @@ import { WebhookEvent } from "../webhooks";
|
||||
// =============== Team permissions =================
|
||||
|
||||
export const teamPermissionsCrudClientReadSchema = yupObject({
|
||||
id: schemaFields.teamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
||||
user_id: schemaFields.userIdSchema.defined(),
|
||||
team_id: schemaFields.teamIdSchema.defined(),
|
||||
}).defined();
|
||||
@ -68,19 +68,19 @@ export const teamPermissionDeletedWebhookEvent = {
|
||||
// =============== Team permission definitions =================
|
||||
|
||||
export const teamPermissionDefinitionsCrudAdminReadSchema = yupObject({
|
||||
id: schemaFields.teamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined(),
|
||||
}).defined();
|
||||
|
||||
export const teamPermissionDefinitionsCrudAdminCreateSchema = yupObject({
|
||||
id: schemaFields.customTeamPermissionDefinitionIdSchema.defined(),
|
||||
id: schemaFields.customPermissionDefinitionIdSchema.defined(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),
|
||||
}).defined();
|
||||
|
||||
export const teamPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
|
||||
id: schemaFields.customTeamPermissionDefinitionIdSchema.optional(),
|
||||
id: schemaFields.customPermissionDefinitionIdSchema.optional(),
|
||||
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
||||
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),
|
||||
}).defined();
|
||||
|
||||
@ -359,7 +359,7 @@ export const teamSystemPermissions = [
|
||||
'$remove_members',
|
||||
'$invite_members',
|
||||
] as const;
|
||||
export const teamPermissionDefinitionIdSchema = yupString()
|
||||
export const permissionDefinitionIdSchema = yupString()
|
||||
.matches(/^\$?[a-z0-9_:]+$/, 'Only lowercase letters, numbers, ":", "_" and optional "$" at the beginning are allowed')
|
||||
.test('is-system-permission', 'System permissions must start with a dollar sign', (value, ctx) => {
|
||||
if (!value) return true;
|
||||
@ -369,11 +369,11 @@ export const teamPermissionDefinitionIdSchema = yupString()
|
||||
return true;
|
||||
})
|
||||
.meta({ openapiField: { description: `The permission ID used to uniquely identify a permission. Can either be a custom permission with lowercase letters, numbers, \`:\`, and \`_\` characters, or one of the system permissions: ${teamSystemPermissions.map(x => `\`${x}\``).join(', ')}`, exampleValue: 'read_secret_info' } });
|
||||
export const customTeamPermissionDefinitionIdSchema = yupString()
|
||||
export const customPermissionDefinitionIdSchema = yupString()
|
||||
.matches(/^[a-z0-9_:]+$/, 'Only lowercase letters, numbers, ":", "_" are allowed')
|
||||
.meta({ openapiField: { description: 'The permission ID used to uniquely identify a permission. Can only contain lowercase letters, numbers, ":", and "_" characters', exampleValue: 'read_secret_info' } });
|
||||
export const teamPermissionDescriptionSchema = yupString().meta({ openapiField: { description: 'A human-readable description of the permission', exampleValue: 'Read secret information' } });
|
||||
export const containedPermissionIdsSchema = yupArray(teamPermissionDefinitionIdSchema.defined()).meta({ openapiField: { description: 'The IDs of the permissions that are contained in this permission', exampleValue: ['read_public_info'] } });
|
||||
export const containedPermissionIdsSchema = yupArray(permissionDefinitionIdSchema.defined()).meta({ openapiField: { description: 'The IDs of the permissions that are contained in this permission', exampleValue: ['read_public_info'] } });
|
||||
|
||||
// Teams
|
||||
export const teamIdSchema = yupString().uuid().meta({ openapiField: { description: _idDescription('team'), exampleValue: 'ad962777-8244-496a-b6a2-e0c6a449c79e' } });
|
||||
|
||||
Loading…
Reference in New Issue
Block a user