/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { RbacPolicyGroup } from './RbacPolicyGroup'; import type { RbacUser } from './RbacUser'; import type { RoleEnum } from './RoleEnum'; /** * Serializer for mentor-specific RBAC policies using ModelSerializer pattern. * Accepts mentor_id and role, generates resources and role internally. */ export type MentorPolicy = { readonly id: number; /** * Policy name. If not supplied, defaults to a UUID4 */ readonly name: string; /** * Platform key where the mentor belongs */ platform_key: string; /** * ID of the mentor to manage access for */ mentor_id: number; /** * Role for accessing this mentor * * * `viewer` - viewer * * `editor` - editor * * `chat` - chat * * `analytics_viewer` - analytics_viewer * * `dataset_curator` - dataset_curator */ role: RoleEnum; /** * List of resources this policy applies to */ readonly resources: any; readonly users: Array; readonly groups: Array; /** * List of group IDs to grant access to this mentor */ groups_to_add?: Array; /** * List of group IDs to revoke access from this mentor */ groups_to_remove?: Array; /** * List of user IDs to grant access to this mentor */ users_to_add?: Array; /** * List of usernames to grant access to this mentor */ usernames_to_add?: Array; /** * List of user emails to grant access to this mentor */ emails_to_add?: Array; /** * List of user IDs to revoke access from this mentor */ users_to_remove?: Array; };