API 레퍼런스에 요청 예시(raw HTTP)·응답 예시(envelope 전문)를 표준 포맷에 편입하고, 전 대상(코어+전 모듈+전 플러그인)에 방출했다. 예시 결함 8종 (multipart·Host 마스킹·write 실측·path 치환·현실적 바디·query 반영·중복 제거·민감값 마스킹)을 스캐폴더/프로브 공용 수정으로 근본 해소했다. 추가로 검증에서 드러난 결함을 마감했다: - 응답 예시 body 의 절대 URL(페이지네이터·콜백) 호스트를 placeholder 로 마스킹(maskResponseHost) — 요청 Host 헤더만 마스킹되던 누락 보완, 확장 39건 정정 - api:docgen 커맨드 통합 테스트 신설(라우트 수집·확장 라우팅·rules 추출· 멱등 재생성·check drift) - module-routing.md URL 스킴 오류 정정(/api/admin → /api/modules) - README·cheatsheet·api-documentation 에 API 문서 커맨드/레퍼런스 진입점 반영 전 대상 3칸 완료로 api-doc-coverage 룰을 warn→error 승격.
457 KiB
Roles API 레퍼런스
소유: 코어 · 생성:
php artisan api:docgen(실측 기반). @generated 블록은 재생성 시 갱신되며, 사람이 작성한 설명은 보존됩니다.
TL;DR (5초 요약)
1. 이 문서는 실제 API 호출로 실측한 Roles 엔드포인트 레퍼런스입니다
2. 각 엔드포인트: 메서드/URI/권한 + 요청 파라미터 표 + 실측 응답 필드 표
3. 응답 필드의 예시값은 실제 호출 응답에서 관측된 값입니다
4. 갱신: 코드 변경 후 php artisan api:docgen 재실행
5. 설명(TODO) 칸은 사람이 채웁니다
GET /api/admin/roles
- 라우트명:
api.admin.roles.index - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@index - 인증/권한:
auth:sanctum+permission:core.permissions.read
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| page | query | integer | 아니오 | min 1 | 조회할 페이지 번호 (1부터 시작) |
| per_page | query | integer | 아니오 | min 1, max 100 | 페이지당 항목 수 |
| search | query | string | 아니오 | max 255 | 검색어 (지정한 검색 대상 필드에서 부분 일치) |
| is_active | query | boolean | 아니오 | — | 활성 여부 (true 활성 / false 비활성) |
요청 예시
GET /api/admin/roles?page=1&per_page=1&search=%EC%98%88%EC%8B%9C%EA%B0%92&is_active=1 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
응답 필드 (data 내부)
목록 응답: data.data[] 배열 항목의 필드 + data.pagination.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 23 |
기본 키 (내부 식별자) |
| identifier | string | sirsoft-board.archive.manager |
역할명 (예: admin, user, manager) |
| name | string | 아카이브 게시판 관리자 |
역할 이름 (다국어 JSON) |
| name_raw | object | {"ko":"아카이브 게시판 관리자","en":"Archive Board Manager"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 아카이브 게시판의 관리자 역할 |
역할 설명 (다국어 JSON) |
| description_raw | object | {"ko":"아카이브 게시판의 관리자 역할","en":"Manager role for Archive b… |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | string | module |
확장 소유 타입: core(코어), module(모듈), plugin(플러그인), NULL(사용자 정의) |
| extension_identifier | string | sirsoft-board |
확장 식별자 (예: core, sirsoft-board, sirsoft-payment) |
| extension_name | string | 게시판 |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | false |
deletable 여부 |
| is_active | boolean | true |
active 여부 |
| users_count | integer | 1 |
users 개수 (집계) |
| permission_ids | array | [312,313,314,315,316,317,318,319,320,321,322,323,324,325,… |
permission 식별자 배열 (연관 리소스 참조) |
| permission_values | array | [{"id":312,"scope_type":null},{"id":313,"scope_type":null… |
할당된 각 권한의 id와 적용 범위만 담은 경량 목록 (원소 id/scope_type — 역할-권한 pivot 파생). scope_type: null=전체, role=역할 범위, self=본인 범위 |
| permissions | array | [{"id":85,"parent_id":null,"identifier":"sirsoft-board","… |
연결된 권한 목록 (id/identifier/name — 역할 경유 권한 관계 파생) |
| created_at | string | 2026-06-04 09:35:35 |
생성 일시 |
| updated_at | string | 2026-06-04 09:35:35 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할 정보를 성공적으로 가져왔습니다.",
"data": {
"data": [
{
"id": 6,
"identifier": "manager",
"name": "매니저",
"name_raw": {
"ko": "매니저",
"en": "Manager"
},
"description": "콘텐츠 및 사용자 관리 권한을 가진 관리자입니다.",
"description_raw": {
"ko": "콘텐츠 및 사용자 관리 권한을 가진 관리자입니다.",
"en": "Manager with content and user management permissions."
},
"extension_type": "core",
"extension_identifier": "core",
"extension_name": null,
"is_deletable": false,
"is_active": true,
"users_count": 0,
"permission_ids": [
117,
118,
119,
122,
123,
124,
149,
176,
177,
179,
182,
185,
186,
187
],
"permission_values": [
{
"id": 117,
"scope_type": "self"
},
{
"id": 118,
"scope_type": null
},
{
"id": 119,
"scope_type": "self"
},
{
"id": 122,
"scope_type": null
},
{
"id": 123,
"scope_type": null
},
{
"id": 124,
"scope_type": null
},
{
"id": 149,
"scope_type": "self"
},
{
"id": 176,
"scope_type": null
},
{
"id": 177,
"scope_type": null
},
{
"id": 179,
"scope_type": null
},
{
"id": 182,
"scope_type": "self"
},
{
"id": 185,
"scope_type": null
},
{
"id": 186,
"scope_type": "self"
},
{
"id": 187,
"scope_type": "self"
}
],
"permissions": [
{
"id": 115,
"parent_id": null,
"identifier": "core",
"name": "코어",
"name_raw": {
"ko": "코어",
"en": "Core"
},
"description": "코어 시스템 권한",
"description_raw": {
"ko": "코어 시스템 권한",
"en": "Core system permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 116,
"parent_id": 115,
"identifier": "core.users",
"name": "사용자 관리",
"name_raw": {
"ko": "사용자 관리",
"en": "User Management"
},
"description": "사용자 관리 권한",
"description_raw": {
"ko": "사용자 관리 권한",
"en": "User management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 117,
"parent_id": 116,
"identifier": "core.users.read",
"name": "사용자 조회",
"name_raw": {
"ko": "사용자 조회",
"en": "View Users"
},
"description": "사용자 목록 및 상세 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "사용자 목록 및 상세 정보를 조회할 수 있습니다.",
"en": "Can view user list and details."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "user",
"owner_key": "id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
},
{
"id": 118,
"parent_id": 116,
"identifier": "core.users.create",
"name": "사용자 생성",
"name_raw": {
"ko": "사용자 생성",
"en": "Create Users"
},
"description": "새로운 사용자를 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 사용자를 생성할 수 있습니다.",
"en": "Can create new users."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 119,
"parent_id": 116,
"identifier": "core.users.update",
"name": "사용자 수정",
"name_raw": {
"ko": "사용자 수정",
"en": "Update Users"
},
"description": "사용자 정보를 수정할 수 있습니다.",
"description_raw": {
"ko": "사용자 정보를 수정할 수 있습니다.",
"en": "Can update user information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "user",
"owner_key": "id",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
}
]
},
{
"id": 121,
"parent_id": 115,
"identifier": "core.menus",
"name": "메뉴 관리",
"name_raw": {
"ko": "메뉴 관리",
"en": "Menu Management"
},
"description": "메뉴 관리 권한",
"description_raw": {
"ko": "메뉴 관리 권한",
"en": "Menu management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 122,
"parent_id": 121,
"identifier": "core.menus.read",
"name": "메뉴 조회",
"name_raw": {
"ko": "메뉴 조회",
"en": "View Menus"
},
"description": "메뉴 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "메뉴 목록을 조회할 수 있습니다.",
"en": "Can view menu list."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "menu",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 123,
"parent_id": 121,
"identifier": "core.menus.create",
"name": "메뉴 생성",
"name_raw": {
"ko": "메뉴 생성",
"en": "Create Menus"
},
"description": "새로운 메뉴를 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 메뉴를 생성할 수 있습니다.",
"en": "Can create new menus."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 124,
"parent_id": 121,
"identifier": "core.menus.update",
"name": "메뉴 수정",
"name_raw": {
"ko": "메뉴 수정",
"en": "Update Menus"
},
"description": "메뉴 정보를 수정할 수 있습니다.",
"description_raw": {
"ko": "메뉴 정보를 수정할 수 있습니다.",
"en": "Can update menu information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "menu",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 148,
"parent_id": 115,
"identifier": "core.notification-logs",
"name": "알림 발송 이력",
"name_raw": {
"ko": "알림 발송 이력",
"en": "Notification Logs"
},
"description": "알림 발송 이력 관리 권한",
"description_raw": {
"ko": "알림 발송 이력 관리 권한",
"en": "Notification log management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 149,
"parent_id": 148,
"identifier": "core.notification-logs.read",
"name": "발송 이력 조회",
"name_raw": {
"ko": "발송 이력 조회",
"en": "View Notification Logs"
},
"description": "알림 발송 이력을 조회할 수 있습니다.",
"description_raw": {
"ko": "알림 발송 이력을 조회할 수 있습니다.",
"en": "Can view notification logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
}
]
},
{
"id": 175,
"parent_id": 115,
"identifier": "core.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "대시보드 접근 권한",
"description_raw": {
"ko": "대시보드 접근 권한",
"en": "Dashboard access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 176,
"parent_id": 175,
"identifier": "core.dashboard.read",
"name": "대시보드 조회",
"name_raw": {
"ko": "대시보드 조회",
"en": "View Dashboard"
},
"description": "대시보드 통계 및 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "대시보드 통계 및 정보를 조회할 수 있습니다.",
"en": "Can view dashboard statistics and information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 177,
"parent_id": 175,
"identifier": "core.dashboard.system-status",
"name": "시스템 상태",
"name_raw": {
"ko": "시스템 상태",
"en": "System Status"
},
"description": "시스템 상태 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "시스템 상태 정보를 조회할 수 있습니다.",
"en": "Can view system status information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 179,
"parent_id": 175,
"identifier": "core.dashboard.activities",
"name": "최근 활동",
"name_raw": {
"ko": "최근 활동",
"en": "Recent Activities"
},
"description": "최근 활동 이력을 조회할 수 있습니다.",
"description_raw": {
"ko": "최근 활동 이력을 조회할 수 있습니다.",
"en": "Can view recent activity history."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "activityLog",
"owner_key": "user_id",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 181,
"parent_id": 115,
"identifier": "core.activities",
"name": "활동 로그",
"name_raw": {
"ko": "활동 로그",
"en": "Activity Logs"
},
"description": "활동 로그 조회 권한",
"description_raw": {
"ko": "활동 로그 조회 권한",
"en": "Activity log access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 182,
"parent_id": 181,
"identifier": "core.activities.read",
"name": "활동 로그 조회",
"name_raw": {
"ko": "활동 로그 조회",
"en": "View Activity Logs"
},
"description": "활동 로그를 조회할 수 있습니다.",
"description_raw": {
"ko": "활동 로그를 조회할 수 있습니다.",
"en": "Can view activity logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "activityLog",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
}
]
},
{
"id": 184,
"parent_id": 115,
"identifier": "core.attachments",
"name": "첨부파일 관리",
"name_raw": {
"ko": "첨부파일 관리",
"en": "Attachment Management"
},
"description": "첨부파일 관리 권한",
"description_raw": {
"ko": "첨부파일 관리 권한",
"en": "Attachment management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 11,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 185,
"parent_id": 184,
"identifier": "core.attachments.create",
"name": "첨부파일 업로드",
"name_raw": {
"ko": "첨부파일 업로드",
"en": "Upload Attachments"
},
"description": "첨부파일을 업로드할 수 있습니다.",
"description_raw": {
"ko": "첨부파일을 업로드할 수 있습니다.",
"en": "Can upload attachments."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 186,
"parent_id": 184,
"identifier": "core.attachments.update",
"name": "첨부파일 수정",
"name_raw": {
"ko": "첨부파일 수정",
"en": "Update Attachments"
},
"description": "첨부파일 정보 및 순서를 수정할 수 있습니다.",
"description_raw": {
"ko": "첨부파일 정보 및 순서를 수정할 수 있습니다.",
"en": "Can update attachment information and order."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "attachment",
"owner_key": "created_by",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
},
{
"id": 187,
"parent_id": 184,
"identifier": "core.attachments.delete",
"name": "첨부파일 삭제",
"name_raw": {
"ko": "첨부파일 삭제",
"en": "Delete Attachments"
},
"description": "첨부파일을 삭제할 수 있습니다.",
"description_raw": {
"ko": "첨부파일을 삭제할 수 있습니다.",
"en": "Can delete attachments."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "attachment",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": "self"
}
]
}
]
}
],
"created_at": "2026-07-08 10:47:51",
"updated_at": "2026-07-08 10:47:51",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
},
{
"id": 5,
"identifier": "sirsoft-ecommerce.manager",
"name": "이커머스 관리자",
"name_raw": {
"ko": "이커머스 관리자",
"en": "Ecommerce Manager"
},
"description": "이커머스 관리 권한을 가진 역할",
"description_raw": {
"ko": "이커머스 관리 권한을 가진 역할",
"en": "Role with ecommerce management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"extension_name": "이커머스",
"is_deletable": false,
"is_active": true,
"users_count": 0,
"permission_ids": [
23,
24,
25,
26,
28,
29,
31,
32,
33,
34,
36,
37,
38,
39,
41,
42,
43,
44,
46,
47,
48,
49,
51,
52,
54,
55,
56,
57,
59,
60,
61,
62,
64,
65,
66,
67,
72,
73,
74,
76,
77,
79,
81,
83,
84,
85,
87,
89,
90,
92,
94
],
"permission_values": [
{
"id": 23,
"scope_type": null
},
{
"id": 24,
"scope_type": null
},
{
"id": 25,
"scope_type": null
},
{
"id": 26,
"scope_type": null
},
{
"id": 28,
"scope_type": null
},
{
"id": 29,
"scope_type": null
},
{
"id": 31,
"scope_type": null
},
{
"id": 32,
"scope_type": null
},
{
"id": 33,
"scope_type": null
},
{
"id": 34,
"scope_type": null
},
{
"id": 36,
"scope_type": null
},
{
"id": 37,
"scope_type": null
},
{
"id": 38,
"scope_type": null
},
{
"id": 39,
"scope_type": null
},
{
"id": 41,
"scope_type": null
},
{
"id": 42,
"scope_type": null
},
{
"id": 43,
"scope_type": null
},
{
"id": 44,
"scope_type": null
},
{
"id": 46,
"scope_type": null
},
{
"id": 47,
"scope_type": null
},
{
"id": 48,
"scope_type": null
},
{
"id": 49,
"scope_type": null
},
{
"id": 51,
"scope_type": null
},
{
"id": 52,
"scope_type": null
},
{
"id": 54,
"scope_type": null
},
{
"id": 55,
"scope_type": null
},
{
"id": 56,
"scope_type": null
},
{
"id": 57,
"scope_type": null
},
{
"id": 59,
"scope_type": null
},
{
"id": 60,
"scope_type": null
},
{
"id": 61,
"scope_type": null
},
{
"id": 62,
"scope_type": null
},
{
"id": 64,
"scope_type": null
},
{
"id": 65,
"scope_type": null
},
{
"id": 66,
"scope_type": null
},
{
"id": 67,
"scope_type": null
},
{
"id": 72,
"scope_type": null
},
{
"id": 73,
"scope_type": null
},
{
"id": 74,
"scope_type": null
},
{
"id": 76,
"scope_type": null
},
{
"id": 77,
"scope_type": null
},
{
"id": 79,
"scope_type": null
},
{
"id": 81,
"scope_type": null
},
{
"id": 83,
"scope_type": null
},
{
"id": 84,
"scope_type": null
},
{
"id": 85,
"scope_type": null
},
{
"id": 87,
"scope_type": null
},
{
"id": 89,
"scope_type": null
},
{
"id": 90,
"scope_type": null
},
{
"id": 92,
"scope_type": null
},
{
"id": 94,
"scope_type": null
}
],
"permissions": [
{
"id": 21,
"parent_id": null,
"identifier": "sirsoft-ecommerce",
"name": "이커머스",
"name_raw": {
"ko": "이커머스",
"en": "Ecommerce"
},
"description": "이커머스 모듈 권한",
"description_raw": {
"ko": "이커머스 모듈 권한",
"en": "Ecommerce module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 22,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.products",
"name": "상품 관리",
"name_raw": {
"ko": "상품 관리",
"en": "Product Management"
},
"description": "상품 관리 권한",
"description_raw": {
"ko": "상품 관리 권한",
"en": "Product management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 23,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.read",
"name": "상품 조회",
"name_raw": {
"ko": "상품 조회",
"en": "Read Products"
},
"description": "상품 목록 및 상세 조회",
"description_raw": {
"ko": "상품 목록 및 상세 조회",
"en": "Read product list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 24,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.create",
"name": "상품 생성",
"name_raw": {
"ko": "상품 생성",
"en": "Create Product"
},
"description": "새 상품 등록",
"description_raw": {
"ko": "새 상품 등록",
"en": "Create new product"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 25,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.update",
"name": "상품 수정",
"name_raw": {
"ko": "상품 수정",
"en": "Update Product"
},
"description": "상품 정보 수정",
"description_raw": {
"ko": "상품 정보 수정",
"en": "Update product information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 26,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.delete",
"name": "상품 삭제",
"name_raw": {
"ko": "상품 삭제",
"en": "Delete Product"
},
"description": "상품 삭제",
"description_raw": {
"ko": "상품 삭제",
"en": "Delete product"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 27,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.orders",
"name": "주문 관리",
"name_raw": {
"ko": "주문 관리",
"en": "Order Management"
},
"description": "주문 관리 권한",
"description_raw": {
"ko": "주문 관리 권한",
"en": "Order management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 28,
"parent_id": 27,
"identifier": "sirsoft-ecommerce.orders.read",
"name": "주문 조회",
"name_raw": {
"ko": "주문 조회",
"en": "Read Orders"
},
"description": "주문 목록 및 상세 조회",
"description_raw": {
"ko": "주문 목록 및 상세 조회",
"en": "Read order list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "order",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 29,
"parent_id": 27,
"identifier": "sirsoft-ecommerce.orders.update",
"name": "주문 수정",
"name_raw": {
"ko": "주문 수정",
"en": "Update Order"
},
"description": "주문 상태 변경",
"description_raw": {
"ko": "주문 상태 변경",
"en": "Update order status"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "order",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 30,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.categories",
"name": "카테고리 관리",
"name_raw": {
"ko": "카테고리 관리",
"en": "Category Management"
},
"description": "카테고리 관리 권한",
"description_raw": {
"ko": "카테고리 관리 권한",
"en": "Category management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 31,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.read",
"name": "카테고리 조회",
"name_raw": {
"ko": "카테고리 조회",
"en": "Read Categories"
},
"description": "카테고리 목록 및 상세 조회",
"description_raw": {
"ko": "카테고리 목록 및 상세 조회",
"en": "Read category list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 32,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.create",
"name": "카테고리 생성",
"name_raw": {
"ko": "카테고리 생성",
"en": "Create Category"
},
"description": "카테고리 생성",
"description_raw": {
"ko": "카테고리 생성",
"en": "Create category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 33,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.update",
"name": "카테고리 수정",
"name_raw": {
"ko": "카테고리 수정",
"en": "Update Category"
},
"description": "카테고리 수정",
"description_raw": {
"ko": "카테고리 수정",
"en": "Update category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 34,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.delete",
"name": "카테고리 삭제",
"name_raw": {
"ko": "카테고리 삭제",
"en": "Delete Category"
},
"description": "카테고리 삭제",
"description_raw": {
"ko": "카테고리 삭제",
"en": "Delete category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 35,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.brands",
"name": "브랜드 관리",
"name_raw": {
"ko": "브랜드 관리",
"en": "Brand Management"
},
"description": "브랜드 관리 권한",
"description_raw": {
"ko": "브랜드 관리 권한",
"en": "Brand management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 36,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.read",
"name": "브랜드 조회",
"name_raw": {
"ko": "브랜드 조회",
"en": "Read Brands"
},
"description": "브랜드 목록 및 상세 조회",
"description_raw": {
"ko": "브랜드 목록 및 상세 조회",
"en": "Read brand list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 37,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.create",
"name": "브랜드 생성",
"name_raw": {
"ko": "브랜드 생성",
"en": "Create Brand"
},
"description": "브랜드 생성",
"description_raw": {
"ko": "브랜드 생성",
"en": "Create brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 38,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.update",
"name": "브랜드 수정",
"name_raw": {
"ko": "브랜드 수정",
"en": "Update Brand"
},
"description": "브랜드 수정",
"description_raw": {
"ko": "브랜드 수정",
"en": "Update brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 39,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.delete",
"name": "브랜드 삭제",
"name_raw": {
"ko": "브랜드 삭제",
"en": "Delete Brand"
},
"description": "브랜드 삭제",
"description_raw": {
"ko": "브랜드 삭제",
"en": "Delete brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 40,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-notice-templates",
"name": "상품정보제공고시 관리",
"name_raw": {
"ko": "상품정보제공고시 관리",
"en": "Product Notice Template Management"
},
"description": "상품정보제공고시 템플릿 관리 권한",
"description_raw": {
"ko": "상품정보제공고시 템플릿 관리 권한",
"en": "Product notice template management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 41,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.read",
"name": "조회",
"name_raw": {
"ko": "조회",
"en": "Read"
},
"description": "상품정보제공고시 조회",
"description_raw": {
"ko": "상품정보제공고시 조회",
"en": "Read product notice templates"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 42,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.create",
"name": "생성",
"name_raw": {
"ko": "생성",
"en": "Create"
},
"description": "상품정보제공고시 생성",
"description_raw": {
"ko": "상품정보제공고시 생성",
"en": "Create product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 43,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.update",
"name": "수정",
"name_raw": {
"ko": "수정",
"en": "Update"
},
"description": "상품정보제공고시 수정",
"description_raw": {
"ko": "상품정보제공고시 수정",
"en": "Update product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 44,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.delete",
"name": "삭제",
"name_raw": {
"ko": "삭제",
"en": "Delete"
},
"description": "상품정보제공고시 삭제",
"description_raw": {
"ko": "상품정보제공고시 삭제",
"en": "Delete product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 45,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-common-infos",
"name": "공통정보 관리",
"name_raw": {
"ko": "공통정보 관리",
"en": "Product Common Info Management"
},
"description": "상품 공통정보 관리 권한",
"description_raw": {
"ko": "상품 공통정보 관리 권한",
"en": "Product common info management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 46,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.read",
"name": "조회",
"name_raw": {
"ko": "조회",
"en": "Read"
},
"description": "공통정보 조회",
"description_raw": {
"ko": "공통정보 조회",
"en": "Read product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 47,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.create",
"name": "생성",
"name_raw": {
"ko": "생성",
"en": "Create"
},
"description": "공통정보 생성",
"description_raw": {
"ko": "공통정보 생성",
"en": "Create product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 48,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.update",
"name": "수정",
"name_raw": {
"ko": "수정",
"en": "Update"
},
"description": "공통정보 수정",
"description_raw": {
"ko": "공통정보 수정",
"en": "Update product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 49,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.delete",
"name": "삭제",
"name_raw": {
"ko": "삭제",
"en": "Delete"
},
"description": "공통정보 삭제",
"description_raw": {
"ko": "공통정보 삭제",
"en": "Delete product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 50,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "이커머스 환경설정 권한",
"description_raw": {
"ko": "이커머스 환경설정 권한",
"en": "Ecommerce settings permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 51,
"parent_id": 50,
"identifier": "sirsoft-ecommerce.settings.read",
"name": "환경설정 조회",
"name_raw": {
"ko": "환경설정 조회",
"en": "View Settings"
},
"description": "이커머스 환경설정 조회",
"description_raw": {
"ko": "이커머스 환경설정 조회",
"en": "View ecommerce settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 52,
"parent_id": 50,
"identifier": "sirsoft-ecommerce.settings.update",
"name": "환경설정 수정",
"name_raw": {
"ko": "환경설정 수정",
"en": "Update Settings"
},
"description": "이커머스 환경설정 수정",
"description_raw": {
"ko": "이커머스 환경설정 수정",
"en": "Update ecommerce settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 53,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.promotion-coupon",
"name": "쿠폰 관리",
"name_raw": {
"ko": "쿠폰 관리",
"en": "Coupon Management"
},
"description": "쿠폰 관리 권한",
"description_raw": {
"ko": "쿠폰 관리 권한",
"en": "Coupon management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 54,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.read",
"name": "쿠폰 조회",
"name_raw": {
"ko": "쿠폰 조회",
"en": "Read Coupons"
},
"description": "쿠폰 목록 및 상세 조회",
"description_raw": {
"ko": "쿠폰 목록 및 상세 조회",
"en": "Read coupon list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 55,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.create",
"name": "쿠폰 생성",
"name_raw": {
"ko": "쿠폰 생성",
"en": "Create Coupon"
},
"description": "새 쿠폰 등록",
"description_raw": {
"ko": "새 쿠폰 등록",
"en": "Create new coupon"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 56,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.update",
"name": "쿠폰 수정",
"name_raw": {
"ko": "쿠폰 수정",
"en": "Update Coupon"
},
"description": "쿠폰 정보 수정",
"description_raw": {
"ko": "쿠폰 정보 수정",
"en": "Update coupon information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 57,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.delete",
"name": "쿠폰 삭제",
"name_raw": {
"ko": "쿠폰 삭제",
"en": "Delete Coupon"
},
"description": "쿠폰 삭제",
"description_raw": {
"ko": "쿠폰 삭제",
"en": "Delete coupon"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 58,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.shipping-policies",
"name": "배송정책 관리",
"name_raw": {
"ko": "배송정책 관리",
"en": "Shipping Policy Management"
},
"description": "배송정책 관리 권한",
"description_raw": {
"ko": "배송정책 관리 권한",
"en": "Shipping policy management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 59,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.read",
"name": "배송정책 조회",
"name_raw": {
"ko": "배송정책 조회",
"en": "Read Shipping Policies"
},
"description": "배송정책 목록 및 상세 조회",
"description_raw": {
"ko": "배송정책 목록 및 상세 조회",
"en": "Read shipping policy list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 60,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.create",
"name": "배송정책 생성",
"name_raw": {
"ko": "배송정책 생성",
"en": "Create Shipping Policy"
},
"description": "새 배송정책 등록",
"description_raw": {
"ko": "새 배송정책 등록",
"en": "Create new shipping policy"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 61,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.update",
"name": "배송정책 수정",
"name_raw": {
"ko": "배송정책 수정",
"en": "Update Shipping Policy"
},
"description": "배송정책 정보 수정",
"description_raw": {
"ko": "배송정책 정보 수정",
"en": "Update shipping policy information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 62,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.delete",
"name": "배송정책 삭제",
"name_raw": {
"ko": "배송정책 삭제",
"en": "Delete Shipping Policy"
},
"description": "배송정책 삭제",
"description_raw": {
"ko": "배송정책 삭제",
"en": "Delete shipping policy"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 63,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-labels",
"name": "상품 라벨 관리",
"name_raw": {
"ko": "상품 라벨 관리",
"en": "Product Label Management"
},
"description": "상품 라벨 관리 권한",
"description_raw": {
"ko": "상품 라벨 관리 권한",
"en": "Product label management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 64,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.read",
"name": "상품 라벨 조회",
"name_raw": {
"ko": "상품 라벨 조회",
"en": "Read Product Labels"
},
"description": "상품 라벨 목록 및 상세 조회",
"description_raw": {
"ko": "상품 라벨 목록 및 상세 조회",
"en": "Read product label list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 65,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.create",
"name": "상품 라벨 생성",
"name_raw": {
"ko": "상품 라벨 생성",
"en": "Create Product Label"
},
"description": "새 상품 라벨 등록",
"description_raw": {
"ko": "새 상품 라벨 등록",
"en": "Create new product label"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 66,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.update",
"name": "상품 라벨 수정",
"name_raw": {
"ko": "상품 라벨 수정",
"en": "Update Product Label"
},
"description": "상품 라벨 정보 수정",
"description_raw": {
"ko": "상품 라벨 정보 수정",
"en": "Update product label information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 67,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.delete",
"name": "상품 라벨 삭제",
"name_raw": {
"ko": "상품 라벨 삭제",
"en": "Delete Product Label"
},
"description": "상품 라벨 삭제",
"description_raw": {
"ko": "상품 라벨 삭제",
"en": "Delete product label"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 71,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.reviews",
"name": "리뷰 관리",
"name_raw": {
"ko": "리뷰 관리",
"en": "Review Management"
},
"description": "상품 리뷰 관리 권한",
"description_raw": {
"ko": "상품 리뷰 관리 권한",
"en": "Product review management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 12,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 72,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.read",
"name": "리뷰 조회",
"name_raw": {
"ko": "리뷰 조회",
"en": "Read Reviews"
},
"description": "리뷰 목록 및 상세 조회",
"description_raw": {
"ko": "리뷰 목록 및 상세 조회",
"en": "Read review list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 73,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.update",
"name": "리뷰 처리",
"name_raw": {
"ko": "리뷰 처리",
"en": "Manage Review"
},
"description": "리뷰 상태 변경, 답변 등록/수정/삭제, 일괄 처리",
"description_raw": {
"ko": "리뷰 상태 변경, 답변 등록/수정/삭제, 일괄 처리",
"en": "Update review status, manage replies, bulk actions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 74,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.delete",
"name": "리뷰 삭제",
"name_raw": {
"ko": "리뷰 삭제",
"en": "Delete Review"
},
"description": "리뷰 삭제",
"description_raw": {
"ko": "리뷰 삭제",
"en": "Delete review"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 75,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.inquiries",
"name": "문의 관리",
"name_raw": {
"ko": "문의 관리",
"en": "Inquiry Management"
},
"description": "상품 1:1 문의 관리 권한",
"description_raw": {
"ko": "상품 1:1 문의 관리 권한",
"en": "Product inquiry management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 13,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 76,
"parent_id": 75,
"identifier": "sirsoft-ecommerce.inquiries.update",
"name": "문의 처리",
"name_raw": {
"ko": "문의 처리",
"en": "Manage Inquiry"
},
"description": "답변 등록/수정/삭제, 비밀글 내용 열람",
"description_raw": {
"ko": "답변 등록/수정/삭제, 비밀글 내용 열람",
"en": "Create, update, and delete inquiry replies; view secret inquiry contents"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 77,
"parent_id": 75,
"identifier": "sirsoft-ecommerce.inquiries.delete",
"name": "문의 삭제",
"name_raw": {
"ko": "문의 삭제",
"en": "Delete Inquiry"
},
"description": "고객이 작성한 문의 자체를 삭제",
"description_raw": {
"ko": "고객이 작성한 문의 자체를 삭제",
"en": "Delete inquiries submitted by customers"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 78,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "관리자 대시보드 이커머스 영역 조회 권한",
"description_raw": {
"ko": "관리자 대시보드 이커머스 영역 조회 권한",
"en": "Admin dashboard commerce area view permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 14,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 79,
"parent_id": 78,
"identifier": "sirsoft-ecommerce.dashboard.view",
"name": "대시보드 조회",
"name_raw": {
"ko": "대시보드 조회",
"en": "View Dashboard"
},
"description": "관리자 대시보드의 이커머스 판매 현황/리뷰/문의 위젯 조회",
"description_raw": {
"ko": "관리자 대시보드의 이커머스 판매 현황/리뷰/문의 위젯 조회",
"en": "View commerce sales/review/inquiry widgets on the admin dashboard"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 80,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-products",
"name": "사용자 상품",
"name_raw": {
"ko": "사용자 상품",
"en": "User Products"
},
"description": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"en": "User product access permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 15,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 81,
"parent_id": 80,
"identifier": "sirsoft-ecommerce.user-products.read",
"name": "상품 조회",
"name_raw": {
"ko": "상품 조회",
"en": "View Products"
},
"description": "상품 목록 및 상세 조회",
"description_raw": {
"ko": "상품 목록 및 상세 조회",
"en": "View product list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 82,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-orders",
"name": "사용자 주문",
"name_raw": {
"ko": "사용자 주문",
"en": "User Orders"
},
"description": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"en": "User order permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 16,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 83,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.create",
"name": "주문하기",
"name_raw": {
"ko": "주문하기",
"en": "Create Order"
},
"description": "주문 생성",
"description_raw": {
"ko": "주문 생성",
"en": "Create a new order"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 84,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.cancel",
"name": "주문 취소",
"name_raw": {
"ko": "주문 취소",
"en": "Cancel Order"
},
"description": "주문 취소 요청",
"description_raw": {
"ko": "주문 취소 요청",
"en": "Request order cancellation"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 85,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.confirm",
"name": "구매확정",
"name_raw": {
"ko": "구매확정",
"en": "Confirm Purchase"
},
"description": "주문 상품 구매확정",
"description_raw": {
"ko": "주문 상품 구매확정",
"en": "Confirm purchase of order item"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 86,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-reviews",
"name": "사용자 리뷰",
"name_raw": {
"ko": "사용자 리뷰",
"en": "User Reviews"
},
"description": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"en": "User review permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 17,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 87,
"parent_id": 86,
"identifier": "sirsoft-ecommerce.user-reviews.write",
"name": "리뷰 작성",
"name_raw": {
"ko": "리뷰 작성",
"en": "Write Review"
},
"description": "상품 리뷰 작성",
"description_raw": {
"ko": "상품 리뷰 작성",
"en": "Write product review"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 88,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.mileage",
"name": "마일리지 관리",
"name_raw": {
"ko": "마일리지 관리",
"en": "Mileage Management"
},
"description": "마일리지 내역 조회 및 수동 지급/차감 권한",
"description_raw": {
"ko": "마일리지 내역 조회 및 수동 지급/차감 권한",
"en": "Mileage history and manual grant/deduct permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 18,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 89,
"parent_id": 88,
"identifier": "sirsoft-ecommerce.mileage.read",
"name": "마일리지 내역 조회",
"name_raw": {
"ko": "마일리지 내역 조회",
"en": "Read Mileage"
},
"description": "마일리지 내역 목록 및 상세 조회",
"description_raw": {
"ko": "마일리지 내역 목록 및 상세 조회",
"en": "Read mileage history list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "mileage-transaction",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 90,
"parent_id": 88,
"identifier": "sirsoft-ecommerce.mileage.manage",
"name": "마일리지 수동 처리",
"name_raw": {
"ko": "마일리지 수동 처리",
"en": "Manage Mileage"
},
"description": "마일리지 수동 지급/차감 및 일괄 유효기간 연장",
"description_raw": {
"ko": "마일리지 수동 지급/차감 및 일괄 유효기간 연장",
"en": "Manual grant/deduct and bulk expiry extension"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "mileage-transaction",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 91,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-currency",
"name": "회원 결제 통화 관리",
"name_raw": {
"ko": "회원 결제 통화 관리",
"en": "User Currency Management"
},
"description": "관리자가 회원별 결제 통화를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 결제 통화를 변경하는 권한",
"en": "Permission for admins to change a user's payment currency"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 19,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 92,
"parent_id": 91,
"identifier": "sirsoft-ecommerce.user-currency.manage",
"name": "회원 결제 통화 변경",
"name_raw": {
"ko": "회원 결제 통화 변경",
"en": "Manage User Currency"
},
"description": "회원별 결제 통화 변경",
"description_raw": {
"ko": "회원별 결제 통화 변경",
"en": "Change a user's payment currency"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 93,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-shipping-country",
"name": "회원 배송국가 관리",
"name_raw": {
"ko": "회원 배송국가 관리",
"en": "User Shipping Country Management"
},
"description": "관리자가 회원별 배송국가를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 배송국가를 변경하는 권한",
"en": "Permission for admins to change a user's shipping country"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 20,
"is_assigned": false,
"is_assignable": false,
"children": [
{
"id": 94,
"parent_id": 93,
"identifier": "sirsoft-ecommerce.user-shipping-country.manage",
"name": "회원 배송국가 변경",
"name_raw": {
"ko": "회원 배송국가 변경",
"en": "Manage User Shipping Country"
},
"description": "회원별 배송국가 변경",
"description_raw": {
"ko": "회원별 배송국가 변경",
"en": "Change a user's shipping country"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
}
]
}
],
"created_at": "2026-07-08 10:43:31",
"updated_at": "2026-07-08 10:43:31",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
},
"... (총 6건 중 2건 표시)"
],
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true
},
"pagination": {
"current_page": 1,
"last_page": 1,
"per_page": 25,
"total": 6,
"from": 1,
"to": 6,
"has_more_pages": false
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.read)이 없는 경우 |
| 422 | Unprocessable Entity | 요청 파라미터가 검증 규칙을 위반한 경우 (error.errors 에 필드별 메시지) |
설명
역할 관리 화면(admin_role_list.json)의 목록 데이터를 제공하는 페이지네이션 조회 엔드포인트다. search(identifier/name 텍스트 검색)와 is_active(활성 여부)로 필터링하며 per_page 로 페이지 크기를 조절한다. 응답에는 각 역할의 할당 권한(permission_ids/permission_values/permissions), 소유 확장 정보, 사용자 수, 현재 사용자의 조작 가능 여부(abilities)가 포함된다. core.permissions.read 권한이 필요하다.
POST /api/admin/roles
- 라우트명:
api.admin.roles.store - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@store - 인증/권한:
auth:sanctum+permission:core.permissions.create
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| identifier | body | string | 예 | max 100 | 대상 확장/리소스의 식별자 |
| name | body | string | 예 | — | 대상의 이름/명칭 |
| description | body | string | 아니오 | — | 설명 |
| is_active | body | boolean | 아니오 | — | 활성 여부 (true 활성 / false 비활성) |
| permissions | body | array | 아니오 | — | 역할에 부여할 권한 목록. 각 원소는 {id, scope_type} (id=권한 식별자, scope_type=적용 범위: null 전체 / role 역할 범위 / self 본인 범위). 전달된 목록 기준으로 역할의 권한 집합이 재설정됨 |
이 엔드포인트는 확장이 파라미터를 추가할 수 있습니다 (
core.role.store_validation_rules).
요청 예시
POST /api/admin/roles HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
Content-Type: application/json
{
"identifier": "example-key",
"name": "예시 이름",
"description": "예시 내용입니다.",
"is_active": true,
"permissions": [
"예시값"
]
}
응답 필드 (data 내부)
단건 응답: data 객체의 필드.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 14 |
기본 키 (내부 식별자) |
| identifier | string | probe_6a4dc0a720350 |
역할명 (예: admin, user, manager) |
| name | string | 실측 예시값 |
대상의 이름/명칭 (다국어 필드는 로케일별 값 객체) |
| name_raw | object | {"ko":"실측 예시값","en":"실측 예시값","fr":"실측 예시값"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 실측 예시값 |
설명 (다국어 필드는 로케일별 값 객체) |
| description_raw | object | {"ko":"실측 예시값","en":"실측 예시값","fr":"실측 예시값"} |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | null | null |
이 리소스를 소유한 확장의 타입 (core/module/plugin/template) |
| extension_identifier | null | null |
이 리소스를 소유한 확장의 식별자 |
| extension_name | null | null |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | true |
deletable 여부 |
| is_active | boolean | true |
active 여부 |
| created_at | string | 2026-07-08 12:14:47 |
생성 일시 |
| updated_at | string | 2026-07-08 12:14:47 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 201
{
"success": true,
"message": "역할이 성공적으로 생성되었습니다.",
"data": {
"id": 14,
"identifier": "probe_6a4dc0a720350",
"name": "실측 예시값",
"name_raw": {
"ko": "실측 예시값",
"en": "실측 예시값",
"fr": "실측 예시값"
},
"description": "실측 예시값",
"description_raw": {
"ko": "실측 예시값",
"en": "실측 예시값",
"fr": "실측 예시값"
},
"extension_type": null,
"extension_identifier": null,
"extension_name": null,
"is_deletable": true,
"is_active": true,
"created_at": "2026-07-08 12:14:47",
"updated_at": "2026-07-08 12:14:47",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.create)이 없는 경우 |
| 422 | Unprocessable Entity | 요청 파라미터가 검증 규칙을 위반한 경우 (error.errors 에 필드별 메시지) |
설명
새 역할을 생성한다. identifier 는 소문자로 시작하는 영숫자·언더스코어 형식(^[a-z][a-z0-9_]*$)이어야 하고 전역 고유해야 한다. name·description 은 다국어 필드로, 문자열로 보내면 설정된 로케일 전체에 동일 값이 채워지고 객체({"ko":..., "en":...})로도 보낼 수 있다. permissions 는 [{id, scope_type}] 형식으로 부여할 권한과 각 권한의 적용 범위(scope_type: null=전체, role, self)를 지정한다. 검증 규칙은 core.role.store_validation_rules 필터 훅으로 확장이 확장할 수 있다. core.permissions.create 권한이 필요하며 성공 시 201 로 생성된 역할을 반환한다.
GET /api/admin/roles/active
- 라우트명:
api.admin.roles.active - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@active - 인증/권한:
auth:sanctum
요청 파라미터
요청 파라미터 없음.
요청 예시
GET /api/admin/roles/active HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
응답 필드 (data 내부)
목록 응답: data.data[] 배열 항목의 필드.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 1 |
기본 키 (내부 식별자) |
| identifier | string | admin |
역할명 (예: admin, user, manager) |
| name | string | 관리자 |
역할 이름 (다국어 JSON) |
| name_raw | object | {"ko":"관리자","en":"Administrator"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 시스템의 모든 기능에 접근할 수 있는 최고 관리자입니다. |
역할 설명 (다국어 JSON) |
| description_raw | object | {"ko":"시스템의 모든 기능에 접근할 수 있는 최고 관리자입니다.","en":"Super admin… |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | string | core |
확장 소유 타입: core(코어), module(모듈), plugin(플러그인), NULL(사용자 정의) |
| extension_identifier | string | core |
확장 식별자 (예: core, sirsoft-board, sirsoft-payment) |
| extension_name | string | 이커머스 |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | false |
deletable 여부 |
| is_active | boolean | true |
active 여부 |
| created_at | string | 2026-05-27 15:20:18 |
생성 일시 |
| updated_at | string | 2026-06-30 13:41:48 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할 정보를 성공적으로 가져왔습니다.",
"data": {
"data": [
{
"id": 1,
"identifier": "admin",
"name": "관리자",
"name_raw": {
"ko": "관리자",
"en": "Administrator"
},
"description": "시스템의 모든 기능에 접근할 수 있는 최고 관리자입니다.",
"description_raw": {
"ko": "시스템의 모든 기능에 접근할 수 있는 최고 관리자입니다.",
"en": "Super administrator with access to all system features."
},
"extension_type": "core",
"extension_identifier": "core",
"extension_name": null,
"is_deletable": false,
"is_active": true,
"created_at": "2026-07-07 16:38:39",
"updated_at": "2026-07-08 10:47:51",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
},
{
"id": 2,
"identifier": "user",
"name": "일반 사용자",
"name_raw": {
"ko": "일반 사용자",
"en": "User"
},
"description": "기본 사용자 역할입니다.",
"description_raw": {
"ko": "기본 사용자 역할입니다.",
"en": "Default user role."
},
"extension_type": "core",
"extension_identifier": "core",
"extension_name": null,
"is_deletable": false,
"is_active": true,
"created_at": "2026-07-07 16:38:39",
"updated_at": "2026-07-08 10:47:51",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
},
"... (총 6건 중 2건 표시)"
],
"abilities": {
"can_assign_roles": true
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
설명
셀렉트 UI(사용자 폼·메뉴 편집의 역할 선택 등)에 채울 활성 역할 목록을 제공한다. 별도 권한 미들웨어가 없어 인증만 되면 호출 가능하지만, 내부에서 권한에 따라 범위가 갈린다. core.permissions.read 권한 보유자는 전체 활성 역할을 받고(사용자에게 역할을 부여하는 관리 용도), 미보유자는 자신에게 부여된 활성 역할만 받는다(자기 정보 폼 표시 용도). 응답의 abilities.can_assign_roles 는 core.permissions.update 권한 보유 여부를 나타낸다.
DELETE /api/admin/roles/{role}
- 라우트명:
api.admin.roles.destroy - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@destroy - 인증/권한:
auth:sanctum+permission:core.permissions.delete
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| role | path | string | 예 | — | 대상 role의 식별자 |
요청 예시
DELETE /api/admin/roles/4 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
응답 필드 (data 내부)
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할이 성공적으로 삭제되었습니다.",
"data": null
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.delete)이 없는 경우 |
| 404 | Not Found | path 파라미터에 해당하는 리소스가 없는 경우 |
설명
역할을 삭제한다. 코어 소유 역할(admin/user 등)은 403(role.system_role_delete_error)으로, 모듈·플러그인이 소유한 확장 역할은 403(role.extension_owned_role_delete_error)으로 거부된다. 삭제 가능한(사용자 정의) 역할만 제거되며, CASCADE 에 의존하지 않고 권한·메뉴·사용자 매핑을 명시적으로 해제한 뒤 역할을 삭제한다. core.permissions.delete 권한이 필요하다.
GET /api/admin/roles/{role}
- 라우트명:
api.admin.roles.show - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@show - 인증/권한:
auth:sanctum+permission:core.permissions.read
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| role | path | string | 예 | — | 대상 role의 식별자 |
요청 예시
GET /api/admin/roles/4 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
응답 필드 (data 내부)
단건 응답: data 객체의 필드.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 66 |
기본 키 (내부 식별자) |
| identifier | string | apidoc-sample-role |
역할명 (예: admin, user, manager) |
| name | string | API 문서 샘플 역할 |
역할 이름 (다국어 JSON) |
| name_raw | object | {"ko":"API 문서 샘플 역할","en":"API Doc Sample Role"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 문서 실측용 역할 |
역할 설명 (다국어 JSON) |
| description_raw | object | {"ko":"문서 실측용 역할","en":"Sample role for API docs"} |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | null | null |
확장 소유 타입: core(코어), module(모듈), plugin(플러그인), NULL(사용자 정의) |
| extension_identifier | null | null |
확장 식별자 (예: core, sirsoft-board, sirsoft-payment) |
| extension_name | null | null |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | true |
deletable 여부 |
| is_active | boolean | true |
active 여부 |
| users_count | integer | 0 |
users 개수 (집계) |
| permission_ids | array | [1,85,100] |
permission 식별자 배열 (연관 리소스 참조) |
| permission_values | array | [{"id":1,"scope_type":null},{"id":85,"scope_type":null},{… |
할당된 각 권한의 id와 적용 범위만 담은 경량 목록 (원소 id/scope_type — 역할-권한 pivot 파생). scope_type: null=전체, role=역할 범위, self=본인 범위 |
| permissions | array | [{"id":1,"parent_id":null,"identifier":"core","name":"코어"… |
연결된 권한 목록 (id/identifier/name — 역할 경유 권한 관계 파생) |
| created_at | string | 2026-07-06 19:15:16 |
생성 일시 |
| updated_at | string | 2026-07-06 19:15:16 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할 정보를 성공적으로 가져왔습니다.",
"data": {
"id": 4,
"identifier": "apidoc-sample-role",
"name": "API 문서 샘플 역할",
"name_raw": {
"ko": "API 문서 샘플 역할",
"en": "API Doc Sample Role"
},
"description": "문서 실측용 역할",
"description_raw": {
"ko": "문서 실측용 역할",
"en": "Sample role for API docs"
},
"extension_type": null,
"extension_identifier": null,
"extension_name": null,
"is_deletable": true,
"is_active": true,
"users_count": 1,
"permission_ids": [
1,
2,
3,
4,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148,
149,
150,
151,
152,
153,
154,
155,
156,
157,
158,
159,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
184,
185,
186,
187,
188,
189,
190,
191,
192,
193,
194,
195,
196,
197,
198
],
"permission_values": [
{
"id": 1,
"scope_type": null
},
{
"id": 2,
"scope_type": null
},
{
"id": 3,
"scope_type": null
},
{
"id": 4,
"scope_type": null
},
{
"id": 21,
"scope_type": null
},
{
"id": 22,
"scope_type": null
},
{
"id": 23,
"scope_type": null
},
{
"id": 24,
"scope_type": null
},
{
"id": 25,
"scope_type": null
},
{
"id": 26,
"scope_type": null
},
{
"id": 27,
"scope_type": null
},
{
"id": 28,
"scope_type": null
},
{
"id": 29,
"scope_type": null
},
{
"id": 30,
"scope_type": null
},
{
"id": 31,
"scope_type": null
},
{
"id": 32,
"scope_type": null
},
{
"id": 33,
"scope_type": null
},
{
"id": 34,
"scope_type": null
},
{
"id": 35,
"scope_type": null
},
{
"id": 36,
"scope_type": null
},
{
"id": 37,
"scope_type": null
},
{
"id": 38,
"scope_type": null
},
{
"id": 39,
"scope_type": null
},
{
"id": 40,
"scope_type": null
},
{
"id": 41,
"scope_type": null
},
{
"id": 42,
"scope_type": null
},
{
"id": 43,
"scope_type": null
},
{
"id": 44,
"scope_type": null
},
{
"id": 45,
"scope_type": null
},
{
"id": 46,
"scope_type": null
},
{
"id": 47,
"scope_type": null
},
{
"id": 48,
"scope_type": null
},
{
"id": 49,
"scope_type": null
},
{
"id": 50,
"scope_type": null
},
{
"id": 51,
"scope_type": null
},
{
"id": 52,
"scope_type": null
},
{
"id": 53,
"scope_type": null
},
{
"id": 54,
"scope_type": null
},
{
"id": 55,
"scope_type": null
},
{
"id": 56,
"scope_type": null
},
{
"id": 57,
"scope_type": null
},
{
"id": 58,
"scope_type": null
},
{
"id": 59,
"scope_type": null
},
{
"id": 60,
"scope_type": null
},
{
"id": 61,
"scope_type": null
},
{
"id": 62,
"scope_type": null
},
{
"id": 63,
"scope_type": null
},
{
"id": 64,
"scope_type": null
},
{
"id": 65,
"scope_type": null
},
{
"id": 66,
"scope_type": null
},
{
"id": 67,
"scope_type": null
},
{
"id": 68,
"scope_type": null
},
{
"id": 69,
"scope_type": null
},
{
"id": 70,
"scope_type": null
},
{
"id": 71,
"scope_type": null
},
{
"id": 72,
"scope_type": null
},
{
"id": 73,
"scope_type": null
},
{
"id": 74,
"scope_type": null
},
{
"id": 75,
"scope_type": null
},
{
"id": 76,
"scope_type": null
},
{
"id": 77,
"scope_type": null
},
{
"id": 78,
"scope_type": null
},
{
"id": 79,
"scope_type": null
},
{
"id": 80,
"scope_type": null
},
{
"id": 81,
"scope_type": null
},
{
"id": 82,
"scope_type": null
},
{
"id": 83,
"scope_type": null
},
{
"id": 84,
"scope_type": null
},
{
"id": 85,
"scope_type": null
},
{
"id": 86,
"scope_type": null
},
{
"id": 87,
"scope_type": null
},
{
"id": 88,
"scope_type": null
},
{
"id": 89,
"scope_type": null
},
{
"id": 90,
"scope_type": null
},
{
"id": 91,
"scope_type": null
},
{
"id": 92,
"scope_type": null
},
{
"id": 93,
"scope_type": null
},
{
"id": 94,
"scope_type": null
},
{
"id": 95,
"scope_type": null
},
{
"id": 96,
"scope_type": null
},
{
"id": 97,
"scope_type": null
},
{
"id": 98,
"scope_type": null
},
{
"id": 99,
"scope_type": null
},
{
"id": 100,
"scope_type": null
},
{
"id": 101,
"scope_type": null
},
{
"id": 102,
"scope_type": null
},
{
"id": 103,
"scope_type": null
},
{
"id": 104,
"scope_type": null
},
{
"id": 105,
"scope_type": null
},
{
"id": 106,
"scope_type": null
},
{
"id": 107,
"scope_type": null
},
{
"id": 108,
"scope_type": null
},
{
"id": 109,
"scope_type": null
},
{
"id": 110,
"scope_type": null
},
{
"id": 111,
"scope_type": null
},
{
"id": 112,
"scope_type": null
},
{
"id": 113,
"scope_type": null
},
{
"id": 114,
"scope_type": null
},
{
"id": 115,
"scope_type": null
},
{
"id": 116,
"scope_type": null
},
{
"id": 117,
"scope_type": null
},
{
"id": 118,
"scope_type": null
},
{
"id": 119,
"scope_type": null
},
{
"id": 120,
"scope_type": null
},
{
"id": 121,
"scope_type": null
},
{
"id": 122,
"scope_type": null
},
{
"id": 123,
"scope_type": null
},
{
"id": 124,
"scope_type": null
},
{
"id": 125,
"scope_type": null
},
{
"id": 126,
"scope_type": null
},
{
"id": 127,
"scope_type": null
},
{
"id": 128,
"scope_type": null
},
{
"id": 129,
"scope_type": null
},
{
"id": 130,
"scope_type": null
},
{
"id": 131,
"scope_type": null
},
{
"id": 132,
"scope_type": null
},
{
"id": 133,
"scope_type": null
},
{
"id": 134,
"scope_type": null
},
{
"id": 135,
"scope_type": null
},
{
"id": 136,
"scope_type": null
},
{
"id": 137,
"scope_type": null
},
{
"id": 138,
"scope_type": null
},
{
"id": 139,
"scope_type": null
},
{
"id": 140,
"scope_type": null
},
{
"id": 141,
"scope_type": null
},
{
"id": 142,
"scope_type": null
},
{
"id": 143,
"scope_type": null
},
{
"id": 144,
"scope_type": null
},
{
"id": 145,
"scope_type": null
},
{
"id": 146,
"scope_type": null
},
{
"id": 147,
"scope_type": null
},
{
"id": 148,
"scope_type": null
},
{
"id": 149,
"scope_type": null
},
{
"id": 150,
"scope_type": null
},
{
"id": 151,
"scope_type": null
},
{
"id": 152,
"scope_type": null
},
{
"id": 153,
"scope_type": null
},
{
"id": 154,
"scope_type": null
},
{
"id": 155,
"scope_type": null
},
{
"id": 156,
"scope_type": null
},
{
"id": 157,
"scope_type": null
},
{
"id": 158,
"scope_type": null
},
{
"id": 159,
"scope_type": null
},
{
"id": 160,
"scope_type": null
},
{
"id": 161,
"scope_type": null
},
{
"id": 162,
"scope_type": null
},
{
"id": 163,
"scope_type": null
},
{
"id": 164,
"scope_type": null
},
{
"id": 165,
"scope_type": null
},
{
"id": 166,
"scope_type": null
},
{
"id": 167,
"scope_type": null
},
{
"id": 168,
"scope_type": null
},
{
"id": 169,
"scope_type": null
},
{
"id": 170,
"scope_type": null
},
{
"id": 171,
"scope_type": null
},
{
"id": 172,
"scope_type": null
},
{
"id": 173,
"scope_type": null
},
{
"id": 174,
"scope_type": null
},
{
"id": 175,
"scope_type": null
},
{
"id": 176,
"scope_type": null
},
{
"id": 177,
"scope_type": null
},
{
"id": 178,
"scope_type": null
},
{
"id": 179,
"scope_type": null
},
{
"id": 180,
"scope_type": null
},
{
"id": 181,
"scope_type": null
},
{
"id": 182,
"scope_type": null
},
{
"id": 183,
"scope_type": null
},
{
"id": 184,
"scope_type": null
},
{
"id": 185,
"scope_type": null
},
{
"id": 186,
"scope_type": null
},
{
"id": 187,
"scope_type": null
},
{
"id": 188,
"scope_type": null
},
{
"id": 189,
"scope_type": null
},
{
"id": 190,
"scope_type": null
},
{
"id": 191,
"scope_type": null
},
{
"id": 192,
"scope_type": null
},
{
"id": 193,
"scope_type": null
},
{
"id": 194,
"scope_type": null
},
{
"id": 195,
"scope_type": null
},
{
"id": 196,
"scope_type": null
},
{
"id": 197,
"scope_type": null
},
{
"id": 198,
"scope_type": null
}
],
"permissions": [
{
"id": 3,
"parent_id": null,
"identifier": "sirsoft-board",
"name": "게시판",
"name_raw": {
"ko": "게시판",
"en": "Board"
},
"description": "게시판 모듈 권한",
"description_raw": {
"ko": "게시판 모듈 권한",
"en": "Board module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 95,
"parent_id": 3,
"identifier": "sirsoft-board.boards",
"name": "게시판 관리",
"name_raw": {
"ko": "게시판 관리",
"en": "Board Management"
},
"description": "게시판 관리 권한",
"description_raw": {
"ko": "게시판 관리 권한",
"en": "Board management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 96,
"parent_id": 95,
"identifier": "sirsoft-board.boards.read",
"name": "게시판 조회",
"name_raw": {
"ko": "게시판 조회",
"en": "View Boards"
},
"description": "게시판 목록 및 상세 조회",
"description_raw": {
"ko": "게시판 목록 및 상세 조회",
"en": "View board list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": "board",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 97,
"parent_id": 95,
"identifier": "sirsoft-board.boards.create",
"name": "게시판 생성",
"name_raw": {
"ko": "게시판 생성",
"en": "Create Board"
},
"description": "새 게시판 생성",
"description_raw": {
"ko": "새 게시판 생성",
"en": "Create new board"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 98,
"parent_id": 95,
"identifier": "sirsoft-board.boards.update",
"name": "게시판 수정",
"name_raw": {
"ko": "게시판 수정",
"en": "Update Board"
},
"description": "게시판 설정 수정",
"description_raw": {
"ko": "게시판 설정 수정",
"en": "Update board settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": "board",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 99,
"parent_id": 95,
"identifier": "sirsoft-board.boards.delete",
"name": "게시판 삭제",
"name_raw": {
"ko": "게시판 삭제",
"en": "Delete Board"
},
"description": "게시판 삭제",
"description_raw": {
"ko": "게시판 삭제",
"en": "Delete board"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": "board",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 100,
"parent_id": 3,
"identifier": "sirsoft-board.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "게시판 환경설정 권한",
"description_raw": {
"ko": "게시판 환경설정 권한",
"en": "Board settings permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 101,
"parent_id": 100,
"identifier": "sirsoft-board.settings.read",
"name": "환경설정 조회",
"name_raw": {
"ko": "환경설정 조회",
"en": "View Settings"
},
"description": "게시판 환경설정 조회",
"description_raw": {
"ko": "게시판 환경설정 조회",
"en": "View board settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 102,
"parent_id": 100,
"identifier": "sirsoft-board.settings.update",
"name": "환경설정 수정",
"name_raw": {
"ko": "환경설정 수정",
"en": "Update Settings"
},
"description": "게시판 환경설정 수정",
"description_raw": {
"ko": "게시판 환경설정 수정",
"en": "Update board settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 103,
"parent_id": 3,
"identifier": "sirsoft-board.identity.policies",
"name": "게시판 본인인증 정책",
"name_raw": {
"ko": "게시판 본인인증 정책",
"en": "Board Identity Policies"
},
"description": "게시판 컨텍스트의 본인인증 정책 관리 권한",
"description_raw": {
"ko": "게시판 컨텍스트의 본인인증 정책 관리 권한",
"en": "Manage identity verification policies in board context"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 104,
"parent_id": 103,
"identifier": "sirsoft-board.identity.policies.read",
"name": "본인인증 정책 조회",
"name_raw": {
"ko": "본인인증 정책 조회",
"en": "View Identity Policies"
},
"description": "게시판 본인인증 정책 조회",
"description_raw": {
"ko": "게시판 본인인증 정책 조회",
"en": "View board identity policies"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 105,
"parent_id": 103,
"identifier": "sirsoft-board.identity.policies.update",
"name": "본인인증 정책 수정",
"name_raw": {
"ko": "본인인증 정책 수정",
"en": "Update Identity Policies"
},
"description": "게시판 본인인증 정책 수정/추가/삭제",
"description_raw": {
"ko": "게시판 본인인증 정책 수정/추가/삭제",
"en": "Update, add, delete board identity policies"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 106,
"parent_id": 3,
"identifier": "sirsoft-board.reports",
"name": "게시판 신고 관리",
"name_raw": {
"ko": "게시판 신고 관리",
"en": "Report Management"
},
"description": "게시판 신고 관리 권한",
"description_raw": {
"ko": "게시판 신고 관리 권한",
"en": "Board report management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 107,
"parent_id": 106,
"identifier": "sirsoft-board.reports.view",
"name": "신고 조회",
"name_raw": {
"ko": "신고 조회",
"en": "View Reports"
},
"description": "신고 목록 및 상세 조회",
"description_raw": {
"ko": "신고 목록 및 상세 조회",
"en": "View report list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": "report",
"owner_key": "reporter_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 108,
"parent_id": 106,
"identifier": "sirsoft-board.reports.manage",
"name": "신고 처리",
"name_raw": {
"ko": "신고 처리",
"en": "Manage Reports"
},
"description": "신고 상태 변경 및 처리",
"description_raw": {
"ko": "신고 상태 변경 및 처리",
"en": "Update report status and process"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": "report",
"owner_key": "reporter_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
}
]
},
{
"id": 21,
"parent_id": null,
"identifier": "sirsoft-ecommerce",
"name": "이커머스",
"name_raw": {
"ko": "이커머스",
"en": "Ecommerce"
},
"description": "이커머스 모듈 권한",
"description_raw": {
"ko": "이커머스 모듈 권한",
"en": "Ecommerce module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 22,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.products",
"name": "상품 관리",
"name_raw": {
"ko": "상품 관리",
"en": "Product Management"
},
"description": "상품 관리 권한",
"description_raw": {
"ko": "상품 관리 권한",
"en": "Product management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 23,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.read",
"name": "상품 조회",
"name_raw": {
"ko": "상품 조회",
"en": "Read Products"
},
"description": "상품 목록 및 상세 조회",
"description_raw": {
"ko": "상품 목록 및 상세 조회",
"en": "Read product list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 24,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.create",
"name": "상품 생성",
"name_raw": {
"ko": "상품 생성",
"en": "Create Product"
},
"description": "새 상품 등록",
"description_raw": {
"ko": "새 상품 등록",
"en": "Create new product"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 25,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.update",
"name": "상품 수정",
"name_raw": {
"ko": "상품 수정",
"en": "Update Product"
},
"description": "상품 정보 수정",
"description_raw": {
"ko": "상품 정보 수정",
"en": "Update product information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 26,
"parent_id": 22,
"identifier": "sirsoft-ecommerce.products.delete",
"name": "상품 삭제",
"name_raw": {
"ko": "상품 삭제",
"en": "Delete Product"
},
"description": "상품 삭제",
"description_raw": {
"ko": "상품 삭제",
"en": "Delete product"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "product",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 27,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.orders",
"name": "주문 관리",
"name_raw": {
"ko": "주문 관리",
"en": "Order Management"
},
"description": "주문 관리 권한",
"description_raw": {
"ko": "주문 관리 권한",
"en": "Order management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 28,
"parent_id": 27,
"identifier": "sirsoft-ecommerce.orders.read",
"name": "주문 조회",
"name_raw": {
"ko": "주문 조회",
"en": "Read Orders"
},
"description": "주문 목록 및 상세 조회",
"description_raw": {
"ko": "주문 목록 및 상세 조회",
"en": "Read order list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "order",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 29,
"parent_id": 27,
"identifier": "sirsoft-ecommerce.orders.update",
"name": "주문 수정",
"name_raw": {
"ko": "주문 수정",
"en": "Update Order"
},
"description": "주문 상태 변경",
"description_raw": {
"ko": "주문 상태 변경",
"en": "Update order status"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "order",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 30,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.categories",
"name": "카테고리 관리",
"name_raw": {
"ko": "카테고리 관리",
"en": "Category Management"
},
"description": "카테고리 관리 권한",
"description_raw": {
"ko": "카테고리 관리 권한",
"en": "Category management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 31,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.read",
"name": "카테고리 조회",
"name_raw": {
"ko": "카테고리 조회",
"en": "Read Categories"
},
"description": "카테고리 목록 및 상세 조회",
"description_raw": {
"ko": "카테고리 목록 및 상세 조회",
"en": "Read category list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 32,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.create",
"name": "카테고리 생성",
"name_raw": {
"ko": "카테고리 생성",
"en": "Create Category"
},
"description": "카테고리 생성",
"description_raw": {
"ko": "카테고리 생성",
"en": "Create category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 33,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.update",
"name": "카테고리 수정",
"name_raw": {
"ko": "카테고리 수정",
"en": "Update Category"
},
"description": "카테고리 수정",
"description_raw": {
"ko": "카테고리 수정",
"en": "Update category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 34,
"parent_id": 30,
"identifier": "sirsoft-ecommerce.categories.delete",
"name": "카테고리 삭제",
"name_raw": {
"ko": "카테고리 삭제",
"en": "Delete Category"
},
"description": "카테고리 삭제",
"description_raw": {
"ko": "카테고리 삭제",
"en": "Delete category"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 35,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.brands",
"name": "브랜드 관리",
"name_raw": {
"ko": "브랜드 관리",
"en": "Brand Management"
},
"description": "브랜드 관리 권한",
"description_raw": {
"ko": "브랜드 관리 권한",
"en": "Brand management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 36,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.read",
"name": "브랜드 조회",
"name_raw": {
"ko": "브랜드 조회",
"en": "Read Brands"
},
"description": "브랜드 목록 및 상세 조회",
"description_raw": {
"ko": "브랜드 목록 및 상세 조회",
"en": "Read brand list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 37,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.create",
"name": "브랜드 생성",
"name_raw": {
"ko": "브랜드 생성",
"en": "Create Brand"
},
"description": "브랜드 생성",
"description_raw": {
"ko": "브랜드 생성",
"en": "Create brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 38,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.update",
"name": "브랜드 수정",
"name_raw": {
"ko": "브랜드 수정",
"en": "Update Brand"
},
"description": "브랜드 수정",
"description_raw": {
"ko": "브랜드 수정",
"en": "Update brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 39,
"parent_id": 35,
"identifier": "sirsoft-ecommerce.brands.delete",
"name": "브랜드 삭제",
"name_raw": {
"ko": "브랜드 삭제",
"en": "Delete Brand"
},
"description": "브랜드 삭제",
"description_raw": {
"ko": "브랜드 삭제",
"en": "Delete brand"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "brand",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 40,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-notice-templates",
"name": "상품정보제공고시 관리",
"name_raw": {
"ko": "상품정보제공고시 관리",
"en": "Product Notice Template Management"
},
"description": "상품정보제공고시 템플릿 관리 권한",
"description_raw": {
"ko": "상품정보제공고시 템플릿 관리 권한",
"en": "Product notice template management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 41,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.read",
"name": "조회",
"name_raw": {
"ko": "조회",
"en": "Read"
},
"description": "상품정보제공고시 조회",
"description_raw": {
"ko": "상품정보제공고시 조회",
"en": "Read product notice templates"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 42,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.create",
"name": "생성",
"name_raw": {
"ko": "생성",
"en": "Create"
},
"description": "상품정보제공고시 생성",
"description_raw": {
"ko": "상품정보제공고시 생성",
"en": "Create product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 43,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.update",
"name": "수정",
"name_raw": {
"ko": "수정",
"en": "Update"
},
"description": "상품정보제공고시 수정",
"description_raw": {
"ko": "상품정보제공고시 수정",
"en": "Update product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 44,
"parent_id": 40,
"identifier": "sirsoft-ecommerce.product-notice-templates.delete",
"name": "삭제",
"name_raw": {
"ko": "삭제",
"en": "Delete"
},
"description": "상품정보제공고시 삭제",
"description_raw": {
"ko": "상품정보제공고시 삭제",
"en": "Delete product notice template"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 45,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-common-infos",
"name": "공통정보 관리",
"name_raw": {
"ko": "공통정보 관리",
"en": "Product Common Info Management"
},
"description": "상품 공통정보 관리 권한",
"description_raw": {
"ko": "상품 공통정보 관리 권한",
"en": "Product common info management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 46,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.read",
"name": "조회",
"name_raw": {
"ko": "조회",
"en": "Read"
},
"description": "공통정보 조회",
"description_raw": {
"ko": "공통정보 조회",
"en": "Read product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 47,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.create",
"name": "생성",
"name_raw": {
"ko": "생성",
"en": "Create"
},
"description": "공통정보 생성",
"description_raw": {
"ko": "공통정보 생성",
"en": "Create product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 48,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.update",
"name": "수정",
"name_raw": {
"ko": "수정",
"en": "Update"
},
"description": "공통정보 수정",
"description_raw": {
"ko": "공통정보 수정",
"en": "Update product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 49,
"parent_id": 45,
"identifier": "sirsoft-ecommerce.product-common-infos.delete",
"name": "삭제",
"name_raw": {
"ko": "삭제",
"en": "Delete"
},
"description": "공통정보 삭제",
"description_raw": {
"ko": "공통정보 삭제",
"en": "Delete product common info"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 50,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "이커머스 환경설정 권한",
"description_raw": {
"ko": "이커머스 환경설정 권한",
"en": "Ecommerce settings permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 51,
"parent_id": 50,
"identifier": "sirsoft-ecommerce.settings.read",
"name": "환경설정 조회",
"name_raw": {
"ko": "환경설정 조회",
"en": "View Settings"
},
"description": "이커머스 환경설정 조회",
"description_raw": {
"ko": "이커머스 환경설정 조회",
"en": "View ecommerce settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 52,
"parent_id": 50,
"identifier": "sirsoft-ecommerce.settings.update",
"name": "환경설정 수정",
"name_raw": {
"ko": "환경설정 수정",
"en": "Update Settings"
},
"description": "이커머스 환경설정 수정",
"description_raw": {
"ko": "이커머스 환경설정 수정",
"en": "Update ecommerce settings"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 53,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.promotion-coupon",
"name": "쿠폰 관리",
"name_raw": {
"ko": "쿠폰 관리",
"en": "Coupon Management"
},
"description": "쿠폰 관리 권한",
"description_raw": {
"ko": "쿠폰 관리 권한",
"en": "Coupon management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 54,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.read",
"name": "쿠폰 조회",
"name_raw": {
"ko": "쿠폰 조회",
"en": "Read Coupons"
},
"description": "쿠폰 목록 및 상세 조회",
"description_raw": {
"ko": "쿠폰 목록 및 상세 조회",
"en": "Read coupon list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 55,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.create",
"name": "쿠폰 생성",
"name_raw": {
"ko": "쿠폰 생성",
"en": "Create Coupon"
},
"description": "새 쿠폰 등록",
"description_raw": {
"ko": "새 쿠폰 등록",
"en": "Create new coupon"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 56,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.update",
"name": "쿠폰 수정",
"name_raw": {
"ko": "쿠폰 수정",
"en": "Update Coupon"
},
"description": "쿠폰 정보 수정",
"description_raw": {
"ko": "쿠폰 정보 수정",
"en": "Update coupon information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 57,
"parent_id": 53,
"identifier": "sirsoft-ecommerce.promotion-coupon.delete",
"name": "쿠폰 삭제",
"name_raw": {
"ko": "쿠폰 삭제",
"en": "Delete Coupon"
},
"description": "쿠폰 삭제",
"description_raw": {
"ko": "쿠폰 삭제",
"en": "Delete coupon"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "coupon",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 58,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.shipping-policies",
"name": "배송정책 관리",
"name_raw": {
"ko": "배송정책 관리",
"en": "Shipping Policy Management"
},
"description": "배송정책 관리 권한",
"description_raw": {
"ko": "배송정책 관리 권한",
"en": "Shipping policy management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 59,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.read",
"name": "배송정책 조회",
"name_raw": {
"ko": "배송정책 조회",
"en": "Read Shipping Policies"
},
"description": "배송정책 목록 및 상세 조회",
"description_raw": {
"ko": "배송정책 목록 및 상세 조회",
"en": "Read shipping policy list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 60,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.create",
"name": "배송정책 생성",
"name_raw": {
"ko": "배송정책 생성",
"en": "Create Shipping Policy"
},
"description": "새 배송정책 등록",
"description_raw": {
"ko": "새 배송정책 등록",
"en": "Create new shipping policy"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 61,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.update",
"name": "배송정책 수정",
"name_raw": {
"ko": "배송정책 수정",
"en": "Update Shipping Policy"
},
"description": "배송정책 정보 수정",
"description_raw": {
"ko": "배송정책 정보 수정",
"en": "Update shipping policy information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 62,
"parent_id": 58,
"identifier": "sirsoft-ecommerce.shipping-policies.delete",
"name": "배송정책 삭제",
"name_raw": {
"ko": "배송정책 삭제",
"en": "Delete Shipping Policy"
},
"description": "배송정책 삭제",
"description_raw": {
"ko": "배송정책 삭제",
"en": "Delete shipping policy"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "shippingPolicy",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 63,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-labels",
"name": "상품 라벨 관리",
"name_raw": {
"ko": "상품 라벨 관리",
"en": "Product Label Management"
},
"description": "상품 라벨 관리 권한",
"description_raw": {
"ko": "상품 라벨 관리 권한",
"en": "Product label management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 64,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.read",
"name": "상품 라벨 조회",
"name_raw": {
"ko": "상품 라벨 조회",
"en": "Read Product Labels"
},
"description": "상품 라벨 목록 및 상세 조회",
"description_raw": {
"ko": "상품 라벨 목록 및 상세 조회",
"en": "Read product label list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 65,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.create",
"name": "상품 라벨 생성",
"name_raw": {
"ko": "상품 라벨 생성",
"en": "Create Product Label"
},
"description": "새 상품 라벨 등록",
"description_raw": {
"ko": "새 상품 라벨 등록",
"en": "Create new product label"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 66,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.update",
"name": "상품 라벨 수정",
"name_raw": {
"ko": "상품 라벨 수정",
"en": "Update Product Label"
},
"description": "상품 라벨 정보 수정",
"description_raw": {
"ko": "상품 라벨 정보 수정",
"en": "Update product label information"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 67,
"parent_id": 63,
"identifier": "sirsoft-ecommerce.product-labels.delete",
"name": "상품 라벨 삭제",
"name_raw": {
"ko": "상품 라벨 삭제",
"en": "Delete Product Label"
},
"description": "상품 라벨 삭제",
"description_raw": {
"ko": "상품 라벨 삭제",
"en": "Delete product label"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 68,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.identity.policies",
"name": "이커머스 본인인증 정책",
"name_raw": {
"ko": "이커머스 본인인증 정책",
"en": "Ecommerce Identity Policies"
},
"description": "이커머스 컨텍스트의 본인인증 정책 관리 권한",
"description_raw": {
"ko": "이커머스 컨텍스트의 본인인증 정책 관리 권한",
"en": "Manage identity verification policies in ecommerce context"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 11,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 69,
"parent_id": 68,
"identifier": "sirsoft-ecommerce.identity.policies.read",
"name": "본인인증 정책 조회",
"name_raw": {
"ko": "본인인증 정책 조회",
"en": "View Identity Policies"
},
"description": "이커머스 본인인증 정책 조회",
"description_raw": {
"ko": "이커머스 본인인증 정책 조회",
"en": "View ecommerce identity policies"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 70,
"parent_id": 68,
"identifier": "sirsoft-ecommerce.identity.policies.update",
"name": "본인인증 정책 수정",
"name_raw": {
"ko": "본인인증 정책 수정",
"en": "Update Identity Policies"
},
"description": "이커머스 본인인증 정책 수정/추가/삭제",
"description_raw": {
"ko": "이커머스 본인인증 정책 수정/추가/삭제",
"en": "Update, add, delete ecommerce identity policies"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 71,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.reviews",
"name": "리뷰 관리",
"name_raw": {
"ko": "리뷰 관리",
"en": "Review Management"
},
"description": "상품 리뷰 관리 권한",
"description_raw": {
"ko": "상품 리뷰 관리 권한",
"en": "Product review management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 12,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 72,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.read",
"name": "리뷰 조회",
"name_raw": {
"ko": "리뷰 조회",
"en": "Read Reviews"
},
"description": "리뷰 목록 및 상세 조회",
"description_raw": {
"ko": "리뷰 목록 및 상세 조회",
"en": "Read review list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 73,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.update",
"name": "리뷰 처리",
"name_raw": {
"ko": "리뷰 처리",
"en": "Manage Review"
},
"description": "리뷰 상태 변경, 답변 등록/수정/삭제, 일괄 처리",
"description_raw": {
"ko": "리뷰 상태 변경, 답변 등록/수정/삭제, 일괄 처리",
"en": "Update review status, manage replies, bulk actions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 74,
"parent_id": 71,
"identifier": "sirsoft-ecommerce.reviews.delete",
"name": "리뷰 삭제",
"name_raw": {
"ko": "리뷰 삭제",
"en": "Delete Review"
},
"description": "리뷰 삭제",
"description_raw": {
"ko": "리뷰 삭제",
"en": "Delete review"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "review",
"owner_key": "user_id",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 75,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.inquiries",
"name": "문의 관리",
"name_raw": {
"ko": "문의 관리",
"en": "Inquiry Management"
},
"description": "상품 1:1 문의 관리 권한",
"description_raw": {
"ko": "상품 1:1 문의 관리 권한",
"en": "Product inquiry management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 13,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 76,
"parent_id": 75,
"identifier": "sirsoft-ecommerce.inquiries.update",
"name": "문의 처리",
"name_raw": {
"ko": "문의 처리",
"en": "Manage Inquiry"
},
"description": "답변 등록/수정/삭제, 비밀글 내용 열람",
"description_raw": {
"ko": "답변 등록/수정/삭제, 비밀글 내용 열람",
"en": "Create, update, and delete inquiry replies; view secret inquiry contents"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 77,
"parent_id": 75,
"identifier": "sirsoft-ecommerce.inquiries.delete",
"name": "문의 삭제",
"name_raw": {
"ko": "문의 삭제",
"en": "Delete Inquiry"
},
"description": "고객이 작성한 문의 자체를 삭제",
"description_raw": {
"ko": "고객이 작성한 문의 자체를 삭제",
"en": "Delete inquiries submitted by customers"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 78,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "관리자 대시보드 이커머스 영역 조회 권한",
"description_raw": {
"ko": "관리자 대시보드 이커머스 영역 조회 권한",
"en": "Admin dashboard commerce area view permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 14,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 79,
"parent_id": 78,
"identifier": "sirsoft-ecommerce.dashboard.view",
"name": "대시보드 조회",
"name_raw": {
"ko": "대시보드 조회",
"en": "View Dashboard"
},
"description": "관리자 대시보드의 이커머스 판매 현황/리뷰/문의 위젯 조회",
"description_raw": {
"ko": "관리자 대시보드의 이커머스 판매 현황/리뷰/문의 위젯 조회",
"en": "View commerce sales/review/inquiry widgets on the admin dashboard"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 80,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-products",
"name": "사용자 상품",
"name_raw": {
"ko": "사용자 상품",
"en": "User Products"
},
"description": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"en": "User product access permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 15,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 81,
"parent_id": 80,
"identifier": "sirsoft-ecommerce.user-products.read",
"name": "상품 조회",
"name_raw": {
"ko": "상품 조회",
"en": "View Products"
},
"description": "상품 목록 및 상세 조회",
"description_raw": {
"ko": "상품 목록 및 상세 조회",
"en": "View product list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 82,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-orders",
"name": "사용자 주문",
"name_raw": {
"ko": "사용자 주문",
"en": "User Orders"
},
"description": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"en": "User order permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 16,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 83,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.create",
"name": "주문하기",
"name_raw": {
"ko": "주문하기",
"en": "Create Order"
},
"description": "주문 생성",
"description_raw": {
"ko": "주문 생성",
"en": "Create a new order"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 84,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.cancel",
"name": "주문 취소",
"name_raw": {
"ko": "주문 취소",
"en": "Cancel Order"
},
"description": "주문 취소 요청",
"description_raw": {
"ko": "주문 취소 요청",
"en": "Request order cancellation"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 85,
"parent_id": 82,
"identifier": "sirsoft-ecommerce.user-orders.confirm",
"name": "구매확정",
"name_raw": {
"ko": "구매확정",
"en": "Confirm Purchase"
},
"description": "주문 상품 구매확정",
"description_raw": {
"ko": "주문 상품 구매확정",
"en": "Confirm purchase of order item"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 86,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-reviews",
"name": "사용자 리뷰",
"name_raw": {
"ko": "사용자 리뷰",
"en": "User Reviews"
},
"description": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"en": "User review permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 17,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 87,
"parent_id": 86,
"identifier": "sirsoft-ecommerce.user-reviews.write",
"name": "리뷰 작성",
"name_raw": {
"ko": "리뷰 작성",
"en": "Write Review"
},
"description": "상품 리뷰 작성",
"description_raw": {
"ko": "상품 리뷰 작성",
"en": "Write product review"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 88,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.mileage",
"name": "마일리지 관리",
"name_raw": {
"ko": "마일리지 관리",
"en": "Mileage Management"
},
"description": "마일리지 내역 조회 및 수동 지급/차감 권한",
"description_raw": {
"ko": "마일리지 내역 조회 및 수동 지급/차감 권한",
"en": "Mileage history and manual grant/deduct permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 18,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 89,
"parent_id": 88,
"identifier": "sirsoft-ecommerce.mileage.read",
"name": "마일리지 내역 조회",
"name_raw": {
"ko": "마일리지 내역 조회",
"en": "Read Mileage"
},
"description": "마일리지 내역 목록 및 상세 조회",
"description_raw": {
"ko": "마일리지 내역 목록 및 상세 조회",
"en": "Read mileage history list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "mileage-transaction",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 90,
"parent_id": 88,
"identifier": "sirsoft-ecommerce.mileage.manage",
"name": "마일리지 수동 처리",
"name_raw": {
"ko": "마일리지 수동 처리",
"en": "Manage Mileage"
},
"description": "마일리지 수동 지급/차감 및 일괄 유효기간 연장",
"description_raw": {
"ko": "마일리지 수동 지급/차감 및 일괄 유효기간 연장",
"en": "Manual grant/deduct and bulk expiry extension"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": "mileage-transaction",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 91,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-currency",
"name": "회원 결제 통화 관리",
"name_raw": {
"ko": "회원 결제 통화 관리",
"en": "User Currency Management"
},
"description": "관리자가 회원별 결제 통화를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 결제 통화를 변경하는 권한",
"en": "Permission for admins to change a user's payment currency"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 19,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 92,
"parent_id": 91,
"identifier": "sirsoft-ecommerce.user-currency.manage",
"name": "회원 결제 통화 변경",
"name_raw": {
"ko": "회원 결제 통화 변경",
"en": "Manage User Currency"
},
"description": "회원별 결제 통화 변경",
"description_raw": {
"ko": "회원별 결제 통화 변경",
"en": "Change a user's payment currency"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 93,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-shipping-country",
"name": "회원 배송국가 관리",
"name_raw": {
"ko": "회원 배송국가 관리",
"en": "User Shipping Country Management"
},
"description": "관리자가 회원별 배송국가를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 배송국가를 변경하는 권한",
"en": "Permission for admins to change a user's shipping country"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 20,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 94,
"parent_id": 93,
"identifier": "sirsoft-ecommerce.user-shipping-country.manage",
"name": "회원 배송국가 변경",
"name_raw": {
"ko": "회원 배송국가 변경",
"en": "Manage User Shipping Country"
},
"description": "회원별 배송국가 변경",
"description_raw": {
"ko": "회원별 배송국가 변경",
"en": "Change a user's shipping country"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
}
]
},
{
"id": 109,
"parent_id": null,
"identifier": "sirsoft-page",
"name": "페이지",
"name_raw": {
"ko": "페이지",
"en": "Page"
},
"description": "페이지 모듈 권한",
"description_raw": {
"ko": "페이지 모듈 권한",
"en": "Page module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 110,
"parent_id": 109,
"identifier": "sirsoft-page.pages",
"name": "페이지 관리",
"name_raw": {
"ko": "페이지 관리",
"en": "Page Management"
},
"description": "페이지 관리 권한",
"description_raw": {
"ko": "페이지 관리 권한",
"en": "Page management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 111,
"parent_id": 110,
"identifier": "sirsoft-page.pages.read",
"name": "페이지 조회",
"name_raw": {
"ko": "페이지 조회",
"en": "View Pages"
},
"description": "페이지 목록 및 상세 조회",
"description_raw": {
"ko": "페이지 목록 및 상세 조회",
"en": "View page list and details"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": "page",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 112,
"parent_id": 110,
"identifier": "sirsoft-page.pages.create",
"name": "페이지 생성",
"name_raw": {
"ko": "페이지 생성",
"en": "Create Page"
},
"description": "새 페이지 생성",
"description_raw": {
"ko": "새 페이지 생성",
"en": "Create new page"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 113,
"parent_id": 110,
"identifier": "sirsoft-page.pages.update",
"name": "페이지 수정",
"name_raw": {
"ko": "페이지 수정",
"en": "Update Page"
},
"description": "페이지 내용 수정",
"description_raw": {
"ko": "페이지 내용 수정",
"en": "Update page content"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": "page",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 114,
"parent_id": 110,
"identifier": "sirsoft-page.pages.delete",
"name": "페이지 삭제",
"name_raw": {
"ko": "페이지 삭제",
"en": "Delete Page"
},
"description": "페이지 삭제",
"description_raw": {
"ko": "페이지 삭제",
"en": "Delete page"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": "page",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
}
]
},
{
"id": 115,
"parent_id": null,
"identifier": "core",
"name": "코어",
"name_raw": {
"ko": "코어",
"en": "Core"
},
"description": "코어 시스템 권한",
"description_raw": {
"ko": "코어 시스템 권한",
"en": "Core system permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 116,
"parent_id": 115,
"identifier": "core.users",
"name": "사용자 관리",
"name_raw": {
"ko": "사용자 관리",
"en": "User Management"
},
"description": "사용자 관리 권한",
"description_raw": {
"ko": "사용자 관리 권한",
"en": "User management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 117,
"parent_id": 116,
"identifier": "core.users.read",
"name": "사용자 조회",
"name_raw": {
"ko": "사용자 조회",
"en": "View Users"
},
"description": "사용자 목록 및 상세 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "사용자 목록 및 상세 정보를 조회할 수 있습니다.",
"en": "Can view user list and details."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "user",
"owner_key": "id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 118,
"parent_id": 116,
"identifier": "core.users.create",
"name": "사용자 생성",
"name_raw": {
"ko": "사용자 생성",
"en": "Create Users"
},
"description": "새로운 사용자를 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 사용자를 생성할 수 있습니다.",
"en": "Can create new users."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 119,
"parent_id": 116,
"identifier": "core.users.update",
"name": "사용자 수정",
"name_raw": {
"ko": "사용자 수정",
"en": "Update Users"
},
"description": "사용자 정보를 수정할 수 있습니다.",
"description_raw": {
"ko": "사용자 정보를 수정할 수 있습니다.",
"en": "Can update user information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "user",
"owner_key": "id",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 120,
"parent_id": 116,
"identifier": "core.users.delete",
"name": "사용자 삭제",
"name_raw": {
"ko": "사용자 삭제",
"en": "Delete Users"
},
"description": "사용자를 삭제할 수 있습니다.",
"description_raw": {
"ko": "사용자를 삭제할 수 있습니다.",
"en": "Can delete users."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "user",
"owner_key": "id",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 121,
"parent_id": 115,
"identifier": "core.menus",
"name": "메뉴 관리",
"name_raw": {
"ko": "메뉴 관리",
"en": "Menu Management"
},
"description": "메뉴 관리 권한",
"description_raw": {
"ko": "메뉴 관리 권한",
"en": "Menu management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 122,
"parent_id": 121,
"identifier": "core.menus.read",
"name": "메뉴 조회",
"name_raw": {
"ko": "메뉴 조회",
"en": "View Menus"
},
"description": "메뉴 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "메뉴 목록을 조회할 수 있습니다.",
"en": "Can view menu list."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "menu",
"owner_key": "created_by",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 123,
"parent_id": 121,
"identifier": "core.menus.create",
"name": "메뉴 생성",
"name_raw": {
"ko": "메뉴 생성",
"en": "Create Menus"
},
"description": "새로운 메뉴를 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 메뉴를 생성할 수 있습니다.",
"en": "Can create new menus."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 124,
"parent_id": 121,
"identifier": "core.menus.update",
"name": "메뉴 수정",
"name_raw": {
"ko": "메뉴 수정",
"en": "Update Menus"
},
"description": "메뉴 정보를 수정할 수 있습니다.",
"description_raw": {
"ko": "메뉴 정보를 수정할 수 있습니다.",
"en": "Can update menu information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "menu",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 125,
"parent_id": 121,
"identifier": "core.menus.delete",
"name": "메뉴 삭제",
"name_raw": {
"ko": "메뉴 삭제",
"en": "Delete Menus"
},
"description": "메뉴를 삭제할 수 있습니다.",
"description_raw": {
"ko": "메뉴를 삭제할 수 있습니다.",
"en": "Can delete menus."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "menu",
"owner_key": "created_by",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 126,
"parent_id": 115,
"identifier": "core.modules",
"name": "모듈 관리",
"name_raw": {
"ko": "모듈 관리",
"en": "Module Management"
},
"description": "모듈 관리 권한",
"description_raw": {
"ko": "모듈 관리 권한",
"en": "Module management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 127,
"parent_id": 126,
"identifier": "core.modules.read",
"name": "모듈 조회",
"name_raw": {
"ko": "모듈 조회",
"en": "View Modules"
},
"description": "모듈 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "모듈 목록을 조회할 수 있습니다.",
"en": "Can view module list."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 128,
"parent_id": 126,
"identifier": "core.modules.install",
"name": "모듈 설치",
"name_raw": {
"ko": "모듈 설치",
"en": "Install Modules"
},
"description": "새로운 모듈을 설치할 수 있습니다.",
"description_raw": {
"ko": "새로운 모듈을 설치할 수 있습니다.",
"en": "Can install new modules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 129,
"parent_id": 126,
"identifier": "core.modules.activate",
"name": "모듈 활성화",
"name_raw": {
"ko": "모듈 활성화",
"en": "Activate Modules"
},
"description": "모듈을 활성화/비활성화할 수 있습니다.",
"description_raw": {
"ko": "모듈을 활성화/비활성화할 수 있습니다.",
"en": "Can activate/deactivate modules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 130,
"parent_id": 126,
"identifier": "core.modules.uninstall",
"name": "모듈 삭제",
"name_raw": {
"ko": "모듈 삭제",
"en": "Uninstall Modules"
},
"description": "모듈을 삭제할 수 있습니다.",
"description_raw": {
"ko": "모듈을 삭제할 수 있습니다.",
"en": "Can uninstall modules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 131,
"parent_id": 115,
"identifier": "core.plugins",
"name": "플러그인 관리",
"name_raw": {
"ko": "플러그인 관리",
"en": "Plugin Management"
},
"description": "플러그인 관리 권한",
"description_raw": {
"ko": "플러그인 관리 권한",
"en": "Plugin management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 132,
"parent_id": 131,
"identifier": "core.plugins.read",
"name": "플러그인 조회",
"name_raw": {
"ko": "플러그인 조회",
"en": "View Plugins"
},
"description": "플러그인 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "플러그인 목록을 조회할 수 있습니다.",
"en": "Can view plugin list."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 133,
"parent_id": 131,
"identifier": "core.plugins.install",
"name": "플러그인 설치",
"name_raw": {
"ko": "플러그인 설치",
"en": "Install Plugins"
},
"description": "새로운 플러그인을 설치할 수 있습니다.",
"description_raw": {
"ko": "새로운 플러그인을 설치할 수 있습니다.",
"en": "Can install new plugins."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 134,
"parent_id": 131,
"identifier": "core.plugins.activate",
"name": "플러그인 활성화",
"name_raw": {
"ko": "플러그인 활성화",
"en": "Activate Plugins"
},
"description": "플러그인을 활성화/비활성화할 수 있습니다.",
"description_raw": {
"ko": "플러그인을 활성화/비활성화할 수 있습니다.",
"en": "Can activate/deactivate plugins."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 135,
"parent_id": 131,
"identifier": "core.plugins.update",
"name": "플러그인 설정",
"name_raw": {
"ko": "플러그인 설정",
"en": "Configure Plugins"
},
"description": "플러그인 환경설정을 수정할 수 있습니다.",
"description_raw": {
"ko": "플러그인 환경설정을 수정할 수 있습니다.",
"en": "Can update plugin settings."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 136,
"parent_id": 131,
"identifier": "core.plugins.uninstall",
"name": "플러그인 삭제",
"name_raw": {
"ko": "플러그인 삭제",
"en": "Uninstall Plugins"
},
"description": "플러그인을 삭제할 수 있습니다.",
"description_raw": {
"ko": "플러그인을 삭제할 수 있습니다.",
"en": "Can uninstall plugins."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 137,
"parent_id": 115,
"identifier": "core.templates",
"name": "템플릿 관리",
"name_raw": {
"ko": "템플릿 관리",
"en": "Template Management"
},
"description": "템플릿 관리 권한",
"description_raw": {
"ko": "템플릿 관리 권한",
"en": "Template management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 138,
"parent_id": 137,
"identifier": "core.templates.read",
"name": "템플릿 조회",
"name_raw": {
"ko": "템플릿 조회",
"en": "View Templates"
},
"description": "템플릿 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "템플릿 목록을 조회할 수 있습니다.",
"en": "Can view template list."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 139,
"parent_id": 137,
"identifier": "core.templates.install",
"name": "템플릿 설치",
"name_raw": {
"ko": "템플릿 설치",
"en": "Install Templates"
},
"description": "새로운 템플릿을 설치할 수 있습니다.",
"description_raw": {
"ko": "새로운 템플릿을 설치할 수 있습니다.",
"en": "Can install new templates."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 140,
"parent_id": 137,
"identifier": "core.templates.activate",
"name": "템플릿 활성화",
"name_raw": {
"ko": "템플릿 활성화",
"en": "Activate Templates"
},
"description": "템플릿을 활성화/비활성화할 수 있습니다.",
"description_raw": {
"ko": "템플릿을 활성화/비활성화할 수 있습니다.",
"en": "Can activate/deactivate templates."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 141,
"parent_id": 137,
"identifier": "core.templates.uninstall",
"name": "템플릿 삭제",
"name_raw": {
"ko": "템플릿 삭제",
"en": "Uninstall Templates"
},
"description": "템플릿을 삭제할 수 있습니다.",
"description_raw": {
"ko": "템플릿을 삭제할 수 있습니다.",
"en": "Can uninstall templates."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 142,
"parent_id": 137,
"identifier": "core.templates.layouts.edit",
"name": "레이아웃 편집",
"name_raw": {
"ko": "레이아웃 편집",
"en": "Edit Layouts"
},
"description": "템플릿 레이아웃을 편집할 수 있습니다.",
"description_raw": {
"ko": "템플릿 레이아웃을 편집할 수 있습니다.",
"en": "Can edit template layouts."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 143,
"parent_id": 115,
"identifier": "core.permissions",
"name": "권한 관리",
"name_raw": {
"ko": "권한 관리",
"en": "Permission Management"
},
"description": "역할 및 권한 관리 권한",
"description_raw": {
"ko": "역할 및 권한 관리 권한",
"en": "Role and permission management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 144,
"parent_id": 143,
"identifier": "core.permissions.read",
"name": "권한 조회",
"name_raw": {
"ko": "권한 조회",
"en": "View Permissions"
},
"description": "역할 및 권한 목록을 조회할 수 있습니다.",
"description_raw": {
"ko": "역할 및 권한 목록을 조회할 수 있습니다.",
"en": "Can view roles and permissions."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 145,
"parent_id": 143,
"identifier": "core.permissions.create",
"name": "역할 생성",
"name_raw": {
"ko": "역할 생성",
"en": "Create Roles"
},
"description": "새로운 역할을 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 역할을 생성할 수 있습니다.",
"en": "Can create new roles."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 146,
"parent_id": 143,
"identifier": "core.permissions.update",
"name": "역할 수정",
"name_raw": {
"ko": "역할 수정",
"en": "Update Roles"
},
"description": "역할 정보와 권한을 수정할 수 있습니다.",
"description_raw": {
"ko": "역할 정보와 권한을 수정할 수 있습니다.",
"en": "Can update role information and permissions."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 147,
"parent_id": 143,
"identifier": "core.permissions.delete",
"name": "역할 삭제",
"name_raw": {
"ko": "역할 삭제",
"en": "Delete Roles"
},
"description": "역할을 삭제할 수 있습니다.",
"description_raw": {
"ko": "역할을 삭제할 수 있습니다.",
"en": "Can delete roles."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 148,
"parent_id": 115,
"identifier": "core.notification-logs",
"name": "알림 발송 이력",
"name_raw": {
"ko": "알림 발송 이력",
"en": "Notification Logs"
},
"description": "알림 발송 이력 관리 권한",
"description_raw": {
"ko": "알림 발송 이력 관리 권한",
"en": "Notification log management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 149,
"parent_id": 148,
"identifier": "core.notification-logs.read",
"name": "발송 이력 조회",
"name_raw": {
"ko": "발송 이력 조회",
"en": "View Notification Logs"
},
"description": "알림 발송 이력을 조회할 수 있습니다.",
"description_raw": {
"ko": "알림 발송 이력을 조회할 수 있습니다.",
"en": "Can view notification logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 150,
"parent_id": 148,
"identifier": "core.notification-logs.delete",
"name": "발송 이력 삭제",
"name_raw": {
"ko": "발송 이력 삭제",
"en": "Delete Notification Logs"
},
"description": "알림 발송 이력을 삭제할 수 있습니다.",
"description_raw": {
"ko": "알림 발송 이력을 삭제할 수 있습니다.",
"en": "Can delete notification logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 151,
"parent_id": 115,
"identifier": "core.notifications",
"name": "알림 (관리자)",
"name_raw": {
"ko": "알림 (관리자)",
"en": "Notifications (Admin)"
},
"description": "관리자용 알림 관리 권한 (관리자 화면에서 사용)",
"description_raw": {
"ko": "관리자용 알림 관리 권한 (관리자 화면에서 사용)",
"en": "Admin notification management permissions (used in admin UI)"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 152,
"parent_id": 151,
"identifier": "core.notifications.read",
"name": "알림 조회",
"name_raw": {
"ko": "알림 조회",
"en": "View Notifications"
},
"description": "알림 목록 및 읽지 않은 수를 조회할 수 있습니다.",
"description_raw": {
"ko": "알림 목록 및 읽지 않은 수를 조회할 수 있습니다.",
"en": "Can view notification list and unread count."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 153,
"parent_id": 151,
"identifier": "core.notifications.update",
"name": "알림 읽음 처리",
"name_raw": {
"ko": "알림 읽음 처리",
"en": "Mark Notifications Read"
},
"description": "알림을 읽음 처리할 수 있습니다.",
"description_raw": {
"ko": "알림을 읽음 처리할 수 있습니다.",
"en": "Can mark notifications as read."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 154,
"parent_id": 151,
"identifier": "core.notifications.delete",
"name": "알림 삭제",
"name_raw": {
"ko": "알림 삭제",
"en": "Delete Notifications"
},
"description": "알림을 삭제할 수 있습니다.",
"description_raw": {
"ko": "알림을 삭제할 수 있습니다.",
"en": "Can delete notifications."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 155,
"parent_id": 115,
"identifier": "core.user-notifications",
"name": "알림 (사용자)",
"name_raw": {
"ko": "알림 (사용자)",
"en": "Notifications (User)"
},
"description": "사용자용 알림 권한 (사용자 화면에서 본인 알림 관리)",
"description_raw": {
"ko": "사용자용 알림 권한 (사용자 화면에서 본인 알림 관리)",
"en": "User notification permissions (managing own notifications in user UI)"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 156,
"parent_id": 155,
"identifier": "core.user-notifications.read",
"name": "알림 조회",
"name_raw": {
"ko": "알림 조회",
"en": "View Notifications"
},
"description": "본인의 알림 목록 및 읽지 않은 수를 조회할 수 있습니다.",
"description_raw": {
"ko": "본인의 알림 목록 및 읽지 않은 수를 조회할 수 있습니다.",
"en": "Can view own notification list and unread count."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 157,
"parent_id": 155,
"identifier": "core.user-notifications.update",
"name": "알림 읽음 처리",
"name_raw": {
"ko": "알림 읽음 처리",
"en": "Mark Notifications Read"
},
"description": "본인의 알림을 읽음 처리할 수 있습니다.",
"description_raw": {
"ko": "본인의 알림을 읽음 처리할 수 있습니다.",
"en": "Can mark own notifications as read."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 158,
"parent_id": 155,
"identifier": "core.user-notifications.delete",
"name": "알림 삭제",
"name_raw": {
"ko": "알림 삭제",
"en": "Delete Notifications"
},
"description": "본인의 알림을 삭제할 수 있습니다.",
"description_raw": {
"ko": "본인의 알림을 삭제할 수 있습니다.",
"en": "Can delete own notifications."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 159,
"parent_id": 115,
"identifier": "core.identity",
"name": "본인인증 (사용자)",
"name_raw": {
"ko": "본인인증 (사용자)",
"en": "Identity Verification (User)"
},
"description": "로그인 사용자의 본인인증 challenge 요청/검증/취소 권한",
"description_raw": {
"ko": "로그인 사용자의 본인인증 challenge 요청/검증/취소 권한",
"en": "Permissions for authenticated users to request/verify/cancel IDV challenges"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 160,
"parent_id": 159,
"identifier": "core.identity.request",
"name": "IDV 요청",
"name_raw": {
"ko": "IDV 요청",
"en": "Request IDV Challenge"
},
"description": "본인인증 challenge 를 요청할 수 있습니다.",
"description_raw": {
"ko": "본인인증 challenge 를 요청할 수 있습니다.",
"en": "Can request identity verification challenges."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 161,
"parent_id": 159,
"identifier": "core.identity.verify",
"name": "IDV 검증",
"name_raw": {
"ko": "IDV 검증",
"en": "Verify IDV Challenge"
},
"description": "본인의 본인인증 challenge 를 검증할 수 있습니다.",
"description_raw": {
"ko": "본인의 본인인증 challenge 를 검증할 수 있습니다.",
"en": "Can verify own identity verification challenges."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "challenge",
"owner_key": "user_id",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 162,
"parent_id": 159,
"identifier": "core.identity.cancel",
"name": "IDV 취소",
"name_raw": {
"ko": "IDV 취소",
"en": "Cancel IDV Challenge"
},
"description": "본인의 본인인증 challenge 를 취소할 수 있습니다.",
"description_raw": {
"ko": "본인의 본인인증 challenge 를 취소할 수 있습니다.",
"en": "Can cancel own identity verification challenges."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "challenge",
"owner_key": "user_id",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 163,
"parent_id": 115,
"identifier": "core.admin.identity",
"name": "본인인증 관리 (관리자)",
"name_raw": {
"ko": "본인인증 관리 (관리자)",
"en": "Identity Verification Management (Admin)"
},
"description": "관리자용 IDV 프로바이더/정책/로그 관리 권한",
"description_raw": {
"ko": "관리자용 IDV 프로바이더/정책/로그 관리 권한",
"en": "Admin permissions for IDV providers, policies, and logs"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 164,
"parent_id": 163,
"identifier": "core.admin.identity.providers.read",
"name": "프로바이더 설정 조회",
"name_raw": {
"ko": "프로바이더 설정 조회",
"en": "View IDV Providers"
},
"description": "본인인증 프로바이더 설정을 조회할 수 있습니다.",
"description_raw": {
"ko": "본인인증 프로바이더 설정을 조회할 수 있습니다.",
"en": "Can view identity verification providers."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 165,
"parent_id": 163,
"identifier": "core.admin.identity.providers.update",
"name": "프로바이더 설정 수정",
"name_raw": {
"ko": "프로바이더 설정 수정",
"en": "Update IDV Providers"
},
"description": "본인인증 프로바이더 설정을 수정할 수 있습니다.",
"description_raw": {
"ko": "본인인증 프로바이더 설정을 수정할 수 있습니다.",
"en": "Can update identity verification providers."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 166,
"parent_id": 163,
"identifier": "core.admin.identity.policies.read",
"name": "정책 조회",
"name_raw": {
"ko": "정책 조회",
"en": "View IDV Policies"
},
"description": "본인인증 정책(라우트/훅별)을 조회할 수 있습니다.",
"description_raw": {
"ko": "본인인증 정책(라우트/훅별)을 조회할 수 있습니다.",
"en": "Can view identity verification policies by route/hook."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 167,
"parent_id": 163,
"identifier": "core.admin.identity.policies.update",
"name": "정책 수정",
"name_raw": {
"ko": "정책 수정",
"en": "Update IDV Policies"
},
"description": "본인인증 정책(라우트/훅별)을 CRUD 할 수 있습니다.",
"description_raw": {
"ko": "본인인증 정책(라우트/훅별)을 CRUD 할 수 있습니다.",
"en": "Can CRUD identity verification policies by route/hook."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 168,
"parent_id": 163,
"identifier": "core.admin.identity.logs.read",
"name": "로그 열람",
"name_raw": {
"ko": "로그 열람",
"en": "View IDV Logs"
},
"description": "본인인증 이력을 조회할 수 있습니다.",
"description_raw": {
"ko": "본인인증 이력을 조회할 수 있습니다.",
"en": "Can view identity verification logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 169,
"parent_id": 163,
"identifier": "core.admin.identity.logs.purge",
"name": "로그 파기",
"name_raw": {
"ko": "로그 파기",
"en": "Purge IDV Logs"
},
"description": "본인인증 이력을 파기(보관주기 외)할 수 있습니다.",
"description_raw": {
"ko": "본인인증 이력을 파기(보관주기 외)할 수 있습니다.",
"en": "Can purge identity verification logs (retention-based)."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 170,
"parent_id": 163,
"identifier": "core.admin.identity.messages.read",
"name": "메시지 템플릿 조회",
"name_raw": {
"ko": "메시지 템플릿 조회",
"en": "View IDV Message Templates"
},
"description": "본인인증 메시지 정의/템플릿을 조회할 수 있습니다.",
"description_raw": {
"ko": "본인인증 메시지 정의/템플릿을 조회할 수 있습니다.",
"en": "Can view identity verification message definitions and templates."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 171,
"parent_id": 163,
"identifier": "core.admin.identity.messages.update",
"name": "메시지 템플릿 수정",
"name_raw": {
"ko": "메시지 템플릿 수정",
"en": "Update IDV Message Templates"
},
"description": "본인인증 메시지 정의/템플릿을 수정할 수 있습니다.",
"description_raw": {
"ko": "본인인증 메시지 정의/템플릿을 수정할 수 있습니다.",
"en": "Can update identity verification message definitions and templates."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 172,
"parent_id": 115,
"identifier": "core.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "시스템 환경설정 권한",
"description_raw": {
"ko": "시스템 환경설정 권한",
"en": "System settings permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 173,
"parent_id": 172,
"identifier": "core.settings.read",
"name": "설정 조회",
"name_raw": {
"ko": "설정 조회",
"en": "View Settings"
},
"description": "시스템 설정을 조회할 수 있습니다.",
"description_raw": {
"ko": "시스템 설정을 조회할 수 있습니다.",
"en": "Can view system settings."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 174,
"parent_id": 172,
"identifier": "core.settings.update",
"name": "설정 수정",
"name_raw": {
"ko": "설정 수정",
"en": "Update Settings"
},
"description": "시스템 설정을 수정할 수 있습니다.",
"description_raw": {
"ko": "시스템 설정을 수정할 수 있습니다.",
"en": "Can update system settings."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 175,
"parent_id": 115,
"identifier": "core.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "대시보드 접근 권한",
"description_raw": {
"ko": "대시보드 접근 권한",
"en": "Dashboard access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 176,
"parent_id": 175,
"identifier": "core.dashboard.read",
"name": "대시보드 조회",
"name_raw": {
"ko": "대시보드 조회",
"en": "View Dashboard"
},
"description": "대시보드 통계 및 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "대시보드 통계 및 정보를 조회할 수 있습니다.",
"en": "Can view dashboard statistics and information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 177,
"parent_id": 175,
"identifier": "core.dashboard.system-status",
"name": "시스템 상태",
"name_raw": {
"ko": "시스템 상태",
"en": "System Status"
},
"description": "시스템 상태 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "시스템 상태 정보를 조회할 수 있습니다.",
"en": "Can view system status information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 178,
"parent_id": 175,
"identifier": "core.dashboard.resources",
"name": "시스템 리소스",
"name_raw": {
"ko": "시스템 리소스",
"en": "System Resources"
},
"description": "CPU, 메모리, 디스크 사용량을 조회할 수 있습니다.",
"description_raw": {
"ko": "CPU, 메모리, 디스크 사용량을 조회할 수 있습니다.",
"en": "Can view CPU, memory, and disk usage."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 179,
"parent_id": 175,
"identifier": "core.dashboard.activities",
"name": "최근 활동",
"name_raw": {
"ko": "최근 활동",
"en": "Recent Activities"
},
"description": "최근 활동 이력을 조회할 수 있습니다.",
"description_raw": {
"ko": "최근 활동 이력을 조회할 수 있습니다.",
"en": "Can view recent activity history."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "activityLog",
"owner_key": "user_id",
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 180,
"parent_id": 175,
"identifier": "core.dashboard.alerts",
"name": "시스템 알림",
"name_raw": {
"ko": "시스템 알림",
"en": "System Alerts"
},
"description": "시스템 알림을 조회할 수 있습니다.",
"description_raw": {
"ko": "시스템 알림을 조회할 수 있습니다.",
"en": "Can view system alerts."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 181,
"parent_id": 115,
"identifier": "core.activities",
"name": "활동 로그",
"name_raw": {
"ko": "활동 로그",
"en": "Activity Logs"
},
"description": "활동 로그 조회 권한",
"description_raw": {
"ko": "활동 로그 조회 권한",
"en": "Activity log access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 182,
"parent_id": 181,
"identifier": "core.activities.read",
"name": "활동 로그 조회",
"name_raw": {
"ko": "활동 로그 조회",
"en": "View Activity Logs"
},
"description": "활동 로그를 조회할 수 있습니다.",
"description_raw": {
"ko": "활동 로그를 조회할 수 있습니다.",
"en": "Can view activity logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "activityLog",
"owner_key": "user_id",
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 183,
"parent_id": 181,
"identifier": "core.activities.delete",
"name": "활동 로그 삭제",
"name_raw": {
"ko": "활동 로그 삭제",
"en": "Delete Activity Logs"
},
"description": "활동 로그를 삭제할 수 있습니다.",
"description_raw": {
"ko": "활동 로그를 삭제할 수 있습니다.",
"en": "Can delete activity logs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 184,
"parent_id": 115,
"identifier": "core.attachments",
"name": "첨부파일 관리",
"name_raw": {
"ko": "첨부파일 관리",
"en": "Attachment Management"
},
"description": "첨부파일 관리 권한",
"description_raw": {
"ko": "첨부파일 관리 권한",
"en": "Attachment management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 11,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 185,
"parent_id": 184,
"identifier": "core.attachments.create",
"name": "첨부파일 업로드",
"name_raw": {
"ko": "첨부파일 업로드",
"en": "Upload Attachments"
},
"description": "첨부파일을 업로드할 수 있습니다.",
"description_raw": {
"ko": "첨부파일을 업로드할 수 있습니다.",
"en": "Can upload attachments."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 186,
"parent_id": 184,
"identifier": "core.attachments.update",
"name": "첨부파일 수정",
"name_raw": {
"ko": "첨부파일 수정",
"en": "Update Attachments"
},
"description": "첨부파일 정보 및 순서를 수정할 수 있습니다.",
"description_raw": {
"ko": "첨부파일 정보 및 순서를 수정할 수 있습니다.",
"en": "Can update attachment information and order."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "attachment",
"owner_key": "created_by",
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 187,
"parent_id": 184,
"identifier": "core.attachments.delete",
"name": "첨부파일 삭제",
"name_raw": {
"ko": "첨부파일 삭제",
"en": "Delete Attachments"
},
"description": "첨부파일을 삭제할 수 있습니다.",
"description_raw": {
"ko": "첨부파일을 삭제할 수 있습니다.",
"en": "Can delete attachments."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": "attachment",
"owner_key": "created_by",
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 188,
"parent_id": 115,
"identifier": "core.schedules",
"name": "스케줄 관리",
"name_raw": {
"ko": "스케줄 관리",
"en": "Schedule Management"
},
"description": "스케줄 작업 관리 권한",
"description_raw": {
"ko": "스케줄 작업 관리 권한",
"en": "Schedule task management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 12,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 189,
"parent_id": 188,
"identifier": "core.schedules.read",
"name": "스케줄 조회",
"name_raw": {
"ko": "스케줄 조회",
"en": "View Schedules"
},
"description": "스케줄 목록 및 상세 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "스케줄 목록 및 상세 정보를 조회할 수 있습니다.",
"en": "Can view schedule list and details."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 190,
"parent_id": 188,
"identifier": "core.schedules.create",
"name": "스케줄 생성",
"name_raw": {
"ko": "스케줄 생성",
"en": "Create Schedules"
},
"description": "새로운 스케줄을 생성할 수 있습니다.",
"description_raw": {
"ko": "새로운 스케줄을 생성할 수 있습니다.",
"en": "Can create new schedules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 191,
"parent_id": 188,
"identifier": "core.schedules.update",
"name": "스케줄 수정",
"name_raw": {
"ko": "스케줄 수정",
"en": "Update Schedules"
},
"description": "스케줄 정보를 수정할 수 있습니다.",
"description_raw": {
"ko": "스케줄 정보를 수정할 수 있습니다.",
"en": "Can update schedule information."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 192,
"parent_id": 188,
"identifier": "core.schedules.delete",
"name": "스케줄 삭제",
"name_raw": {
"ko": "스케줄 삭제",
"en": "Delete Schedules"
},
"description": "스케줄을 삭제할 수 있습니다.",
"description_raw": {
"ko": "스케줄을 삭제할 수 있습니다.",
"en": "Can delete schedules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 193,
"parent_id": 188,
"identifier": "core.schedules.run",
"name": "스케줄 실행",
"name_raw": {
"ko": "스케줄 실행",
"en": "Run Schedules"
},
"description": "스케줄을 수동으로 실행할 수 있습니다.",
"description_raw": {
"ko": "스케줄을 수동으로 실행할 수 있습니다.",
"en": "Can manually run schedules."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 194,
"parent_id": 115,
"identifier": "core.language_packs",
"name": "언어팩 관리",
"name_raw": {
"ko": "언어팩 관리",
"en": "Language Pack Management"
},
"description": "언어팩 설치/제거/활성화 권한",
"description_raw": {
"ko": "언어팩 설치/제거/활성화 권한",
"en": "Language pack install/uninstall/activation permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 13,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 195,
"parent_id": 194,
"identifier": "core.language_packs.read",
"name": "언어팩 조회",
"name_raw": {
"ko": "언어팩 조회",
"en": "View Language Packs"
},
"description": "설치된 언어팩 목록 및 상세 정보를 조회할 수 있습니다.",
"description_raw": {
"ko": "설치된 언어팩 목록 및 상세 정보를 조회할 수 있습니다.",
"en": "Can view installed language pack list and details."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 196,
"parent_id": 194,
"identifier": "core.language_packs.install",
"name": "언어팩 설치",
"name_raw": {
"ko": "언어팩 설치",
"en": "Install Language Packs"
},
"description": "ZIP/GitHub/URL 로 언어팩을 설치할 수 있습니다.",
"description_raw": {
"ko": "ZIP/GitHub/URL 로 언어팩을 설치할 수 있습니다.",
"en": "Can install language packs from ZIP/GitHub/URL."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 197,
"parent_id": 194,
"identifier": "core.language_packs.manage",
"name": "언어팩 관리",
"name_raw": {
"ko": "언어팩 관리",
"en": "Manage Language Packs"
},
"description": "언어팩을 활성화/비활성화/제거할 수 있습니다.",
"description_raw": {
"ko": "언어팩을 활성화/비활성화/제거할 수 있습니다.",
"en": "Can activate/deactivate/uninstall language packs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
},
{
"id": 198,
"parent_id": 194,
"identifier": "core.language_packs.update",
"name": "언어팩 업데이트",
"name_raw": {
"ko": "언어팩 업데이트",
"en": "Update Language Packs"
},
"description": "설치된 언어팩의 업데이트를 확인하고 실행할 수 있습니다.",
"description_raw": {
"ko": "설치된 언어팩의 업데이트를 확인하고 실행할 수 있습니다.",
"en": "Can check and apply updates for installed language packs."
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
}
]
},
{
"id": 1,
"parent_id": null,
"identifier": "apidoc-sample.parent",
"name": "API 문서 샘플 권한",
"name_raw": {
"ko": "API 문서 샘플 권한",
"en": "API Doc Sample Permission"
},
"description": "문서 실측용 권한",
"description_raw": {
"ko": "문서 실측용 권한",
"en": "Sample permission"
},
"extension_type": null,
"extension_identifier": null,
"resource_route_key": null,
"owner_key": null,
"order": 0,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 2,
"parent_id": 1,
"identifier": "apidoc-sample.child",
"name": "하위 권한",
"name_raw": {
"ko": "하위 권한",
"en": "Child Permission"
},
"description": "Quod consequatur sunt necessitatibus quam quia voluptas quod aperiam.",
"description_raw": {
"ko": "Quod consequatur sunt necessitatibus quam quia voluptas quod aperiam.",
"en": "Mollitia incidunt dolor rem maxime."
},
"extension_type": null,
"extension_identifier": null,
"resource_route_key": null,
"owner_key": null,
"order": 0,
"is_assigned": true,
"is_assignable": true,
"scope_type": null
}
]
},
{
"id": 3,
"parent_id": null,
"identifier": "sirsoft-board",
"name": "게시판",
"name_raw": {
"ko": "게시판",
"en": "Board"
},
"description": "게시판 모듈 권한",
"description_raw": {
"ko": "게시판 모듈 권한",
"en": "Board module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 4,
"parent_id": 3,
"identifier": "sirsoft-board.apidoc-sample-board",
"name": "API 문서 샘플 게시판 게시판",
"name_raw": {
"ko": "API 문서 샘플 게시판 게시판",
"en": "API Doc Sample Board board"
},
"description": "API 문서 샘플 게시판 게시판 권한",
"description_raw": {
"ko": "API 문서 샘플 게시판 게시판 권한",
"en": "API Doc Sample Board board permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 0,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 95,
"parent_id": 3,
"identifier": "sirsoft-board.boards",
"name": "게시판 관리",
"name_raw": {
"ko": "게시판 관리",
"en": "Board Management"
},
"description": "게시판 관리 권한",
"description_raw": {
"ko": "게시판 관리 권한",
"en": "Board management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 100,
"parent_id": 3,
"identifier": "sirsoft-board.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "게시판 환경설정 권한",
"description_raw": {
"ko": "게시판 환경설정 권한",
"en": "Board settings permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 103,
"parent_id": 3,
"identifier": "sirsoft-board.identity.policies",
"name": "게시판 본인인증 정책",
"name_raw": {
"ko": "게시판 본인인증 정책",
"en": "Board Identity Policies"
},
"description": "게시판 컨텍스트의 본인인증 정책 관리 권한",
"description_raw": {
"ko": "게시판 컨텍스트의 본인인증 정책 관리 권한",
"en": "Manage identity verification policies in board context"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 106,
"parent_id": 3,
"identifier": "sirsoft-board.reports",
"name": "게시판 신고 관리",
"name_raw": {
"ko": "게시판 신고 관리",
"en": "Report Management"
},
"description": "게시판 신고 관리 권한",
"description_raw": {
"ko": "게시판 신고 관리 권한",
"en": "Board report management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-board",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
}
]
},
{
"id": 21,
"parent_id": null,
"identifier": "sirsoft-ecommerce",
"name": "이커머스",
"name_raw": {
"ko": "이커머스",
"en": "Ecommerce"
},
"description": "이커머스 모듈 권한",
"description_raw": {
"ko": "이커머스 모듈 권한",
"en": "Ecommerce module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 22,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.products",
"name": "상품 관리",
"name_raw": {
"ko": "상품 관리",
"en": "Product Management"
},
"description": "상품 관리 권한",
"description_raw": {
"ko": "상품 관리 권한",
"en": "Product management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 27,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.orders",
"name": "주문 관리",
"name_raw": {
"ko": "주문 관리",
"en": "Order Management"
},
"description": "주문 관리 권한",
"description_raw": {
"ko": "주문 관리 권한",
"en": "Order management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 30,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.categories",
"name": "카테고리 관리",
"name_raw": {
"ko": "카테고리 관리",
"en": "Category Management"
},
"description": "카테고리 관리 권한",
"description_raw": {
"ko": "카테고리 관리 권한",
"en": "Category management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 35,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.brands",
"name": "브랜드 관리",
"name_raw": {
"ko": "브랜드 관리",
"en": "Brand Management"
},
"description": "브랜드 관리 권한",
"description_raw": {
"ko": "브랜드 관리 권한",
"en": "Brand management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 40,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-notice-templates",
"name": "상품정보제공고시 관리",
"name_raw": {
"ko": "상품정보제공고시 관리",
"en": "Product Notice Template Management"
},
"description": "상품정보제공고시 템플릿 관리 권한",
"description_raw": {
"ko": "상품정보제공고시 템플릿 관리 권한",
"en": "Product notice template management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 45,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-common-infos",
"name": "공통정보 관리",
"name_raw": {
"ko": "공통정보 관리",
"en": "Product Common Info Management"
},
"description": "상품 공통정보 관리 권한",
"description_raw": {
"ko": "상품 공통정보 관리 권한",
"en": "Product common info management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 50,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "이커머스 환경설정 권한",
"description_raw": {
"ko": "이커머스 환경설정 권한",
"en": "Ecommerce settings permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 53,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.promotion-coupon",
"name": "쿠폰 관리",
"name_raw": {
"ko": "쿠폰 관리",
"en": "Coupon Management"
},
"description": "쿠폰 관리 권한",
"description_raw": {
"ko": "쿠폰 관리 권한",
"en": "Coupon management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 58,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.shipping-policies",
"name": "배송정책 관리",
"name_raw": {
"ko": "배송정책 관리",
"en": "Shipping Policy Management"
},
"description": "배송정책 관리 권한",
"description_raw": {
"ko": "배송정책 관리 권한",
"en": "Shipping policy management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 63,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.product-labels",
"name": "상품 라벨 관리",
"name_raw": {
"ko": "상품 라벨 관리",
"en": "Product Label Management"
},
"description": "상품 라벨 관리 권한",
"description_raw": {
"ko": "상품 라벨 관리 권한",
"en": "Product label management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 68,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.identity.policies",
"name": "이커머스 본인인증 정책",
"name_raw": {
"ko": "이커머스 본인인증 정책",
"en": "Ecommerce Identity Policies"
},
"description": "이커머스 컨텍스트의 본인인증 정책 관리 권한",
"description_raw": {
"ko": "이커머스 컨텍스트의 본인인증 정책 관리 권한",
"en": "Manage identity verification policies in ecommerce context"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 11,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 71,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.reviews",
"name": "리뷰 관리",
"name_raw": {
"ko": "리뷰 관리",
"en": "Review Management"
},
"description": "상품 리뷰 관리 권한",
"description_raw": {
"ko": "상품 리뷰 관리 권한",
"en": "Product review management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 12,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 75,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.inquiries",
"name": "문의 관리",
"name_raw": {
"ko": "문의 관리",
"en": "Inquiry Management"
},
"description": "상품 1:1 문의 관리 권한",
"description_raw": {
"ko": "상품 1:1 문의 관리 권한",
"en": "Product inquiry management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 13,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 78,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "관리자 대시보드 이커머스 영역 조회 권한",
"description_raw": {
"ko": "관리자 대시보드 이커머스 영역 조회 권한",
"en": "Admin dashboard commerce area view permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 14,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 80,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-products",
"name": "사용자 상품",
"name_raw": {
"ko": "사용자 상품",
"en": "User Products"
},
"description": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 상품 접근 권한 (블랙컨슈머 차단용)",
"en": "User product access permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 15,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 82,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-orders",
"name": "사용자 주문",
"name_raw": {
"ko": "사용자 주문",
"en": "User Orders"
},
"description": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 주문 관련 권한 (블랙컨슈머 차단용)",
"en": "User order permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 16,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 86,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-reviews",
"name": "사용자 리뷰",
"name_raw": {
"ko": "사용자 리뷰",
"en": "User Reviews"
},
"description": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"description_raw": {
"ko": "사용자 리뷰 관련 권한 (블랙컨슈머 차단용)",
"en": "User review permissions (for blocking malicious consumers)"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 17,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 88,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.mileage",
"name": "마일리지 관리",
"name_raw": {
"ko": "마일리지 관리",
"en": "Mileage Management"
},
"description": "마일리지 내역 조회 및 수동 지급/차감 권한",
"description_raw": {
"ko": "마일리지 내역 조회 및 수동 지급/차감 권한",
"en": "Mileage history and manual grant/deduct permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 18,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 91,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-currency",
"name": "회원 결제 통화 관리",
"name_raw": {
"ko": "회원 결제 통화 관리",
"en": "User Currency Management"
},
"description": "관리자가 회원별 결제 통화를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 결제 통화를 변경하는 권한",
"en": "Permission for admins to change a user's payment currency"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 19,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 93,
"parent_id": 21,
"identifier": "sirsoft-ecommerce.user-shipping-country",
"name": "회원 배송국가 관리",
"name_raw": {
"ko": "회원 배송국가 관리",
"en": "User Shipping Country Management"
},
"description": "관리자가 회원별 배송국가를 변경하는 권한",
"description_raw": {
"ko": "관리자가 회원별 배송국가를 변경하는 권한",
"en": "Permission for admins to change a user's shipping country"
},
"extension_type": "module",
"extension_identifier": "sirsoft-ecommerce",
"resource_route_key": null,
"owner_key": null,
"order": 20,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
}
]
},
{
"id": 109,
"parent_id": null,
"identifier": "sirsoft-page",
"name": "페이지",
"name_raw": {
"ko": "페이지",
"en": "Page"
},
"description": "페이지 모듈 권한",
"description_raw": {
"ko": "페이지 모듈 권한",
"en": "Page module permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": null,
"owner_key": null,
"order": 100,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 110,
"parent_id": 109,
"identifier": "sirsoft-page.pages",
"name": "페이지 관리",
"name_raw": {
"ko": "페이지 관리",
"en": "Page Management"
},
"description": "페이지 관리 권한",
"description_raw": {
"ko": "페이지 관리 권한",
"en": "Page management permissions"
},
"extension_type": "module",
"extension_identifier": "sirsoft-page",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
}
]
},
{
"id": 115,
"parent_id": null,
"identifier": "core",
"name": "코어",
"name_raw": {
"ko": "코어",
"en": "Core"
},
"description": "코어 시스템 권한",
"description_raw": {
"ko": "코어 시스템 권한",
"en": "Core system permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"children": [
{
"id": 116,
"parent_id": 115,
"identifier": "core.users",
"name": "사용자 관리",
"name_raw": {
"ko": "사용자 관리",
"en": "User Management"
},
"description": "사용자 관리 권한",
"description_raw": {
"ko": "사용자 관리 권한",
"en": "User management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 1,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 121,
"parent_id": 115,
"identifier": "core.menus",
"name": "메뉴 관리",
"name_raw": {
"ko": "메뉴 관리",
"en": "Menu Management"
},
"description": "메뉴 관리 권한",
"description_raw": {
"ko": "메뉴 관리 권한",
"en": "Menu management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 2,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 126,
"parent_id": 115,
"identifier": "core.modules",
"name": "모듈 관리",
"name_raw": {
"ko": "모듈 관리",
"en": "Module Management"
},
"description": "모듈 관리 권한",
"description_raw": {
"ko": "모듈 관리 권한",
"en": "Module management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 3,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 131,
"parent_id": 115,
"identifier": "core.plugins",
"name": "플러그인 관리",
"name_raw": {
"ko": "플러그인 관리",
"en": "Plugin Management"
},
"description": "플러그인 관리 권한",
"description_raw": {
"ko": "플러그인 관리 권한",
"en": "Plugin management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 4,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 137,
"parent_id": 115,
"identifier": "core.templates",
"name": "템플릿 관리",
"name_raw": {
"ko": "템플릿 관리",
"en": "Template Management"
},
"description": "템플릿 관리 권한",
"description_raw": {
"ko": "템플릿 관리 권한",
"en": "Template management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 5,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 143,
"parent_id": 115,
"identifier": "core.permissions",
"name": "권한 관리",
"name_raw": {
"ko": "권한 관리",
"en": "Permission Management"
},
"description": "역할 및 권한 관리 권한",
"description_raw": {
"ko": "역할 및 권한 관리 권한",
"en": "Role and permission management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 6,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 148,
"parent_id": 115,
"identifier": "core.notification-logs",
"name": "알림 발송 이력",
"name_raw": {
"ko": "알림 발송 이력",
"en": "Notification Logs"
},
"description": "알림 발송 이력 관리 권한",
"description_raw": {
"ko": "알림 발송 이력 관리 권한",
"en": "Notification log management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 7,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 151,
"parent_id": 115,
"identifier": "core.notifications",
"name": "알림 (관리자)",
"name_raw": {
"ko": "알림 (관리자)",
"en": "Notifications (Admin)"
},
"description": "관리자용 알림 관리 권한 (관리자 화면에서 사용)",
"description_raw": {
"ko": "관리자용 알림 관리 권한 (관리자 화면에서 사용)",
"en": "Admin notification management permissions (used in admin UI)"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 155,
"parent_id": 115,
"identifier": "core.user-notifications",
"name": "알림 (사용자)",
"name_raw": {
"ko": "알림 (사용자)",
"en": "Notifications (User)"
},
"description": "사용자용 알림 권한 (사용자 화면에서 본인 알림 관리)",
"description_raw": {
"ko": "사용자용 알림 권한 (사용자 화면에서 본인 알림 관리)",
"en": "User notification permissions (managing own notifications in user UI)"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 159,
"parent_id": 115,
"identifier": "core.identity",
"name": "본인인증 (사용자)",
"name_raw": {
"ko": "본인인증 (사용자)",
"en": "Identity Verification (User)"
},
"description": "로그인 사용자의 본인인증 challenge 요청/검증/취소 권한",
"description_raw": {
"ko": "로그인 사용자의 본인인증 challenge 요청/검증/취소 권한",
"en": "Permissions for authenticated users to request/verify/cancel IDV challenges"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 163,
"parent_id": 115,
"identifier": "core.admin.identity",
"name": "본인인증 관리 (관리자)",
"name_raw": {
"ko": "본인인증 관리 (관리자)",
"en": "Identity Verification Management (Admin)"
},
"description": "관리자용 IDV 프로바이더/정책/로그 관리 권한",
"description_raw": {
"ko": "관리자용 IDV 프로바이더/정책/로그 관리 권한",
"en": "Admin permissions for IDV providers, policies, and logs"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 172,
"parent_id": 115,
"identifier": "core.settings",
"name": "환경설정",
"name_raw": {
"ko": "환경설정",
"en": "Settings"
},
"description": "시스템 환경설정 권한",
"description_raw": {
"ko": "시스템 환경설정 권한",
"en": "System settings permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 8,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 175,
"parent_id": 115,
"identifier": "core.dashboard",
"name": "대시보드",
"name_raw": {
"ko": "대시보드",
"en": "Dashboard"
},
"description": "대시보드 접근 권한",
"description_raw": {
"ko": "대시보드 접근 권한",
"en": "Dashboard access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 9,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 181,
"parent_id": 115,
"identifier": "core.activities",
"name": "활동 로그",
"name_raw": {
"ko": "활동 로그",
"en": "Activity Logs"
},
"description": "활동 로그 조회 권한",
"description_raw": {
"ko": "활동 로그 조회 권한",
"en": "Activity log access permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 10,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 184,
"parent_id": 115,
"identifier": "core.attachments",
"name": "첨부파일 관리",
"name_raw": {
"ko": "첨부파일 관리",
"en": "Attachment Management"
},
"description": "첨부파일 관리 권한",
"description_raw": {
"ko": "첨부파일 관리 권한",
"en": "Attachment management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 11,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 188,
"parent_id": 115,
"identifier": "core.schedules",
"name": "스케줄 관리",
"name_raw": {
"ko": "스케줄 관리",
"en": "Schedule Management"
},
"description": "스케줄 작업 관리 권한",
"description_raw": {
"ko": "스케줄 작업 관리 권한",
"en": "Schedule task management permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 12,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
},
{
"id": 194,
"parent_id": 115,
"identifier": "core.language_packs",
"name": "언어팩 관리",
"name_raw": {
"ko": "언어팩 관리",
"en": "Language Pack Management"
},
"description": "언어팩 설치/제거/활성화 권한",
"description_raw": {
"ko": "언어팩 설치/제거/활성화 권한",
"en": "Language pack install/uninstall/activation permissions"
},
"extension_type": "core",
"extension_identifier": "core",
"resource_route_key": null,
"owner_key": null,
"order": 13,
"is_assigned": true,
"is_assignable": false,
"scope_type": null
}
]
}
],
"created_at": "2026-07-08 10:41:24",
"updated_at": "2026-07-08 10:41:24",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.read)이 없는 경우 |
| 404 | Not Found | path 파라미터에 해당하는 리소스가 없는 경우 |
설명
단일 역할의 상세 정보를 조회한다. 역할 편집 화면과 복제(clone_from) 시 원본 값을 채우는 데 사용된다. 목록 응답과 달리 permissions 관계를 pivot(scope_type)과 함께 로드하므로 permission_ids·permission_values·permissions(계층 트리)와 users_count 가 항상 포함된다. core.permissions.read 권한이 필요하다.
PUT /api/admin/roles/{role}
- 라우트명:
api.admin.roles.update - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@update - 인증/권한:
auth:sanctum+permission:core.permissions.update
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| role | path | string | 예 | — | 대상 role의 식별자 |
| name | body | string | 예 | — | 대상의 이름/명칭 |
| description | body | string | 아니오 | — | 설명 |
| is_active | body | boolean | 아니오 | — | 활성 여부 (true 활성 / false 비활성) |
| permissions | body | array | 아니오 | — | 역할에 부여할 권한 목록. 각 원소는 {id, scope_type} (id=권한 식별자, scope_type=적용 범위: null 전체 / role 역할 범위 / self 본인 범위). 전달된 목록 기준으로 역할의 권한 집합이 재설정됨 |
이 엔드포인트는 확장이 파라미터를 추가할 수 있습니다 (
core.role.update_validation_rules).
요청 예시
PUT /api/admin/roles/4 HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
Content-Type: application/json
{
"name": "예시 이름",
"description": "예시 내용입니다.",
"is_active": true,
"permissions": [
"예시값"
]
}
응답 필드 (data 내부)
단건 응답: data 객체의 필드.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 4 |
기본 키 (내부 식별자) |
| identifier | string | apidoc-sample-role |
역할명 (예: admin, user, manager) |
| name | string | 실측 예시값 |
대상의 이름/명칭 (다국어 필드는 로케일별 값 객체) |
| name_raw | object | {"ko":"실측 예시값","en":"실측 예시값","fr":"실측 예시값"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 실측 예시값 |
설명 (다국어 필드는 로케일별 값 객체) |
| description_raw | object | {"ko":"실측 예시값","en":"실측 예시값","fr":"실측 예시값"} |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | null | null |
이 리소스를 소유한 확장의 타입 (core/module/plugin/template) |
| extension_identifier | null | null |
이 리소스를 소유한 확장의 식별자 |
| extension_name | null | null |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | true |
deletable 여부 |
| is_active | boolean | true |
active 여부 |
| created_at | string | 2026-07-08 10:41:24 |
생성 일시 |
| updated_at | string | 2026-07-08 12:14:48 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할이 성공적으로 수정되었습니다.",
"data": {
"id": 4,
"identifier": "apidoc-sample-role",
"name": "실측 예시값",
"name_raw": {
"ko": "실측 예시값",
"en": "실측 예시값",
"fr": "실측 예시값"
},
"description": "실측 예시값",
"description_raw": {
"ko": "실측 예시값",
"en": "실측 예시값",
"fr": "실측 예시값"
},
"extension_type": null,
"extension_identifier": null,
"extension_name": null,
"is_deletable": true,
"is_active": true,
"created_at": "2026-07-08 10:41:24",
"updated_at": "2026-07-08 12:14:48",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.update)이 없는 경우 |
| 422 | Unprocessable Entity | 요청 파라미터가 검증 규칙을 위반한 경우 (error.errors 에 필드별 메시지) |
| 404 | Not Found | path 파라미터에 해당하는 리소스가 없는 경우 |
설명
기존 역할의 name·description·is_active·permissions 를 수정한다. 생성과 달리 identifier 는 변경 대상이 아니며, 각 필드는 sometimes 규칙이라 전달된 항목만 갱신된다. permissions 를 보내면 [{id, scope_type}] 형식으로 역할의 권한 집합 전체가 동기화된다(전달된 목록 기준으로 재설정). name·description 은 문자열/다국어 객체 양쪽을 받는다. 검증 규칙은 core.role.update_validation_rules 필터 훅으로 확장할 수 있다. core.permissions.update 권한이 필요하다.
PATCH /api/admin/roles/{role}/toggle-status
- 라우트명:
api.admin.roles.toggle-status - 컨트롤러:
App\Http\Controllers\Api\Admin\RoleController@toggleStatus - 인증/권한:
auth:sanctum+permission:core.permissions.update
요청 파라미터
| 이름 | 위치 | 타입 | 필수 | 허용값 | 용도 |
|---|---|---|---|---|---|
| role | path | string | 예 | — | 대상 role의 식별자 |
요청 예시
PATCH /api/admin/roles/4/toggle-status HTTP/1.1
Host: api.example.com
Accept: application/json
Authorization: Bearer {YOUR_TOKEN}
응답 필드 (data 내부)
단건 응답: data 객체의 필드.
| 필드 | 타입 | 실측 예시값 | 용도/설명 |
|---|---|---|---|
| id | integer | 4 |
기본 키 (내부 식별자) |
| identifier | string | apidoc-sample-role |
역할명 (예: admin, user, manager) |
| name | string | API 문서 샘플 역할 |
대상의 이름/명칭 (다국어 필드는 로케일별 값 객체) |
| name_raw | object | {"ko":"API 문서 샘플 역할","en":"API Doc Sample Role"} |
name 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| description | string | 문서 실측용 역할 |
설명 (다국어 필드는 로케일별 값 객체) |
| description_raw | object | {"ko":"문서 실측용 역할","en":"Sample role for API docs"} |
description 의 원본 값 (현재 로케일 미해석 원본 JSON/문자열) |
| extension_type | null | null |
이 리소스를 소유한 확장의 타입 (core/module/plugin/template) |
| extension_identifier | null | null |
이 리소스를 소유한 확장의 식별자 |
| extension_name | null | null |
이 리소스를 소유한 확장의 표시 이름 (manifest name) |
| is_deletable | boolean | true |
deletable 여부 |
| is_active | boolean | false |
active 여부 |
| users_count | integer | 1 |
users 개수 (집계) |
| created_at | string | 2026-07-08 10:41:24 |
생성 일시 |
| updated_at | string | 2026-07-08 12:14:48 |
최종 수정 일시 |
| abilities | object | {"can_create":true,"can_update":true,"can_delete":true,"c… |
현재 사용자가 이 리소스에 수행 가능한 작업 불리언 맵 (can_update, can_delete 등 — 권한 맵 기반) |
응답 예시
HTTP/1.1 200
{
"success": true,
"message": "역할이 성공적으로 수정되었습니다.",
"data": {
"id": 4,
"identifier": "apidoc-sample-role",
"name": "API 문서 샘플 역할",
"name_raw": {
"ko": "API 문서 샘플 역할",
"en": "API Doc Sample Role"
},
"description": "문서 실측용 역할",
"description_raw": {
"ko": "문서 실측용 역할",
"en": "Sample role for API docs"
},
"extension_type": null,
"extension_identifier": null,
"extension_name": null,
"is_deletable": true,
"is_active": false,
"users_count": 1,
"created_at": "2026-07-08 10:41:24",
"updated_at": "2026-07-08 12:14:48",
"abilities": {
"can_create": true,
"can_update": true,
"can_delete": true,
"can_toggle_status": true
}
}
}
에러 응답
| 상태코드 | 의미 | 발생 조건 |
|---|---|---|
| 401 | Unauthenticated | 유효한 Bearer 토큰이 없거나 만료된 경우 |
| 403 | Forbidden | 요구 권한(core.permissions.update)이 없는 경우 |
| 404 | Not Found | path 파라미터에 해당하는 리소스가 없는 경우 |
설명
역할의 is_active 상태를 반대로 토글한다(활성↔비활성). 목록 화면의 상태 스위치에서 호출되며, 별도 본문 없이 대상 역할만 지정하면 된다. 성공 시 사용자 수를 다시 집계한 갱신된 역할 리소스를 반환한다. core.permissions.update 권한이 필요하다.