feat(settings): 관리자 설정 기반 신규 사용자 자동승인 + 기본 롤 부여 #15

병합
htlee develop 에서 main 로 4 commits 를 머지했습니다 2026-02-16 23:36:32 +09:00
소유자

Summary

  • AppSetting 엔티티 (key-value 설정 저장소)
  • AdminSettingsController: GET/PUT /api/admin/settings/registration
  • Role.defaultGrant 컬럼 + PUT /api/admin/roles/{id}/default-grant 토글
  • AuthController: 신규 사용자 자동승인 + 기본롤 부여
  • WING_PERMIT 롤 + auto-approve 시드

배포 전 필수: 운영 DB DDL

ALTER TABLE roles ADD COLUMN default_grant BOOLEAN DEFAULT FALSE;

CREATE TABLE app_settings (
    id BIGSERIAL PRIMARY KEY,
    setting_key VARCHAR(100) NOT NULL UNIQUE,
    setting_value VARCHAR(500) NOT NULL,
    description VARCHAR(255),
    updated_at TIMESTAMP DEFAULT NOW()
);

INSERT INTO roles (name, description, default_grant, created_at)
VALUES ('WING_PERMIT', 'Wing 데모 사이트 접근 권한', true, NOW());

INSERT INTO role_url_patterns (role_id, url_pattern, created_at)
VALUES ((SELECT id FROM roles WHERE name = 'WING_PERMIT'), '/wing/**', NOW());

INSERT INTO app_settings (setting_key, setting_value, description, updated_at)
VALUES ('registration.auto-approve', 'true', '신규 가입자 자동 승인 여부', NOW());
## Summary - AppSetting 엔티티 (key-value 설정 저장소) - AdminSettingsController: GET/PUT /api/admin/settings/registration - Role.defaultGrant 컬럼 + PUT /api/admin/roles/{id}/default-grant 토글 - AuthController: 신규 사용자 자동승인 + 기본롤 부여 - WING_PERMIT 롤 + auto-approve 시드 ## 배포 전 필수: 운영 DB DDL ```sql ALTER TABLE roles ADD COLUMN default_grant BOOLEAN DEFAULT FALSE; CREATE TABLE app_settings ( id BIGSERIAL PRIMARY KEY, setting_key VARCHAR(100) NOT NULL UNIQUE, setting_value VARCHAR(500) NOT NULL, description VARCHAR(255), updated_at TIMESTAMP DEFAULT NOW() ); INSERT INTO roles (name, description, default_grant, created_at) VALUES ('WING_PERMIT', 'Wing 데모 사이트 접근 권한', true, NOW()); INSERT INTO role_url_patterns (role_id, url_pattern, created_at) VALUES ((SELECT id FROM roles WHERE name = 'WING_PERMIT'), '/wing/**', NOW()); INSERT INTO app_settings (setting_key, setting_value, description, updated_at) VALUES ('registration.auto-approve', 'true', '신규 가입자 자동 승인 여부', NOW()); ```
htlee added 2 commits 2026-02-16 23:20:31 +09:00
- AppSetting 엔티티 + Repository (key-value 설정 저장소)
- SettingsService (자동승인 조회/수정)
- AdminSettingsController (GET/PUT /api/admin/settings/registration)
- Role.defaultGrant 컬럼 + AdminRoleController default-grant 토글
- AuthController: 신규 사용자 생성 시 자동승인 + 기본롤 부여 로직
- data.sql: WING_PERMIT 롤 시드 + auto-approve 설정 시드

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
htlee added 2 commits 2026-02-16 23:20:32 +09:00
- AppSetting 엔티티 + Repository (key-value 설정 저장소)
- SettingsService (자동승인 조회/수정)
- AdminSettingsController (GET/PUT /api/admin/settings/registration)
- Role.defaultGrant 컬럼 + AdminRoleController default-grant 토글
- AuthController: 신규 사용자 생성 시 자동승인 + 기본롤 부여 로직
- data.sql: WING_PERMIT 롤 시드 + auto-approve 설정 시드

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
htlee added 2 commits 2026-02-16 23:35:27 +09:00
- WingAisController: AIS 선박 위치 조회 프록시 (bbox 필터링 포함)
- WingDataController: 해역/케이블 정적 GeoJSON 데이터 서빙
- GoogleTokenVerifier: app.google.client-ids 복수 audience 지원
- wing-data/: zones, chinese-permitted GeoJSON 데이터 파일

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
htlee merged commit f62751229e into main 2026-02-16 23:36:32 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 1명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/gc-guide-api#15
No description provided.