Meerkit
Meerkit
HomeDocsComponentsAPI
GitHub

Getting Started

5
IntroductionInstallationProject StructureThemingDeployment

CLI

6
CLI Overviewinit & setupstart, stop & openstatus, check, env & logsdbadd, test & update

Core Concepts

5
AuthenticationRoles & PermissionsData ModelLogin LockoutSecurity

Guides

3
Protect a pageAdd a roleCall your own API

Components

24

사용자 화면12

Login FormSignup FormEmail VerificationTerms AgreementGoogle LoginPassword ResetProfile & PasswordNicknameAuth DialogProfile ImageUser AvatarUser Menu

관리자 화면6

Member TableMember DirectoryMember AI UsageMember AI Usage HistoryRole ManagerRole Select

공통5

Address FieldFile DropzoneLoadingDateRoute Guards

AI Components

4
AI Prompt InputThinking IndicatorAPI Key InputVoice

API

6
OverviewHealthAuthUsers · 내 정보Users · 관리자LLM

Reference

2
Hooks & StateFAQ

Role Select

관리자용 컴포넌트관리자(MASTER)만 쓰는 화면에 쓰입니다.

유저의 역할을 바꾸는 선택 상자입니다.

shadcn/ui · Checkbox
역할의 의미와 위험한 변경을 확인시켜 주는 창이 필요하다면 RoleAssignDialog를 쓰세요 (Role Manager 페이지).

역할 4종을 켜고 끄는 체크박스 묶음입니다. 한 사람이 여러 역할을 가질 수 있고, 값은 역할 이름 목록(RoleName[])입니다. 마지막 하나는 끌 수 없습니다.

When to use

  • 관리자 화면에서 한 사용자의 역할을 바꿀 때 (MemberTable 안에서 쓰입니다)
  • 초대, 사용자 생성 화면에서 역할을 고르게 할 때

Preview

선택: VIEWER, WRITER
tsx
<RoleSelect value={["VIEWER", "WRITER"]} onChange={(roles) => update(roles)} />

Disabled

Props

PropType설명
value필수RoleName[]현재 가진 역할 이름 목록.
onChange필수(roles: RoleName[]) => void체크가 바뀌면 새 역할 목록을 전달합니다.
disabledboolean잠금 여부.
idPrefixstring체크박스 id 앞부분. 한 화면에 여러 개를 둘 때 겹치지 않게 합니다.

선택지는 src/meerkit/roles.ts의 ROLES에서 만들어지므로, 역할이 바뀌면 그 파일만 고치면 됩니다.

Usage

tsx
<RoleSelect
  value={member.roles.map((r) => r.name)}
  disabled={!!member.deactivated_at}
  onChange={(roles) => updateRoles.mutate({ id: member.id, roles })}  // PUT /users/{id}/roles
/>

Options

idvalue(이름)설명
1MASTER시스템 전체 관리자
2OWNER자신이 소유한 데이터 관리
3VIEWER조회 전용 사용자
4WRITER데이터 작성 및 수정 사용자

Customization

shadcn Checkbox로 만들었습니다. 역할 설명과 C·R·U·D를 함께 보여 주는 확인 창이 필요하면 RoleAssignDialog를 쓰세요.

자기 자신의 역할을 낮추거나 마지막 관리자를 바꾸는 경우의 제한은 서버 정책으로 막는 것을 권장합니다.

Related API

이 컴포넌트가 호출하는 API입니다. 누르면 요청·응답 명세로 이동합니다.

GET/api/users/roles역할 목록PUT/api/users/{user_id}/roles역할 변경
Role ManagerAddress Field
© Meerkit. All rights reserved.GitHub