Commit c6f68231 by Finley Ge Committed by GitHub

fix resource permission schema (#2116)

* fix: resource permission schema

* fix: ResorceType
parent 991398b8
import { TeamMemberWithUserSchema } from '../user/team/type';
import { AuthUserTypeEnum, PermissionKeyEnum } from './constant';
import { AuthUserTypeEnum, PermissionKeyEnum, PerResourceTypeEnum } from './constant';
// PermissionValueType, the type of permission's value is a number, which is a bit field actually.
// It is spired by the permission system in Linux.
// The lowest 3 bits present the permission of reading, writing and managing.
// The higher bits are advanced permissions or extended permissions, which could be customized.
export type PermissionValueType = number;
export type ResourceType = `${PerResourceTypeEnum}`;
export type PermissionListType<T = {}> = Record<
T | PermissionKeyEnum,
{
......
......@@ -2,10 +2,10 @@ import {
TeamCollectionName,
TeamMemberCollectionName
} from '@fastgpt/global/support/user/team/constant';
import { Model, connectionMongo, getMongoModel } from '../../common/mongo';
import { connectionMongo, getMongoModel } from '../../common/mongo';
import type { ResourcePermissionType } from '@fastgpt/global/support/permission/type';
import { PerResourceTypeEnum } from '@fastgpt/global/support/permission/constant';
const { Schema, model, models } = connectionMongo;
const { Schema } = connectionMongo;
export const ResourcePermissionCollectionName = 'resource_permission';
......@@ -19,7 +19,8 @@ export const ResourcePermissionSchema = new Schema({
ref: TeamMemberCollectionName
},
resourceType: {
type: Object.values(PerResourceTypeEnum),
type: String,
enum: Object.values(PerResourceTypeEnum),
required: true
},
permission: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment