Compare commits

..

5 Commits

Author SHA1 Message Date
25a061b981 fix: Builder 권한 매물 작성 폼 수정
- 시공ID 없는 Builder 계정 작성 매물과 Admin_Sub 작성 매물 구분하기 위한 폼 수정
2025-07-25 14:49:04 +09:00
a78a38947a Merge pull request 'feature/session: api 반환 세션값 변경' (#114) from feature/session into dev
Reviewed-on: #114
2025-07-25 09:44:24 +09:00
7bb86b1d69 fix: api 반환값 수정 2025-07-25 09:40:11 +09:00
0cfcf5cece fix: api route 권한 처리 로직 수정
- api 결과값과 서버 세션에 저장되는 데이터가 달라 생기는 권한 문제 해결
2025-07-25 09:13:08 +09:00
a4a46d1a13 Merge pull request 'fix: 조사 날짜 렌더링 문제 해결' (#113) from feature/survey into dev
Reviewed-on: #113
2025-07-24 17:57:13 +09:00
4 changed files with 12 additions and 7 deletions

View File

@ -128,9 +128,12 @@ export async function POST(request: Request) {
resultForSession.ROLE = 'T01'
} else if (result.data.data.groupId === '60000') {
resultForSession.ROLE = 'Admin'
} else if (result.data.data.groupId === '70000' && result.data.data.builderNo === null) {
} else if (result.data.data.groupId === '70000' && result.data.data.builderNo === null && result.data.data.userAuthCd !== 'B') {
resultForSession.ROLE = 'Admin_Sub'
} else if (result.data.data.groupId === '70000' && result.data.data.builderNo !== null) {
} else if (
(result.data.data.groupId === '70000' && result.data.data.builderNo !== null) ||
(result.data.data.groupId === '70000' && result.data.data.builderNo === null && result.data.data.userAuthCd === 'B')
) {
resultForSession.ROLE = 'Builder'
} else {
resultForSession.ROLE = 'User'

View File

@ -53,7 +53,7 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba
/>
</div>
{/* 페이지 모드 별, 권한 별 판매점, 시공점 입력 여부 처리 */}
{mode !== 'READ' &&
{mode === 'CREATE' &&
(session?.role === 'Builder' ? (
<>
{storeInput(basicInfo, setBasicInfo, mode)}
@ -64,10 +64,11 @@ export default function BasicForm({ basicInfo, setBasicInfo, mode, session }: Ba
) : (
<>{storeInput(basicInfo, setBasicInfo, mode)}</>
))}
{mode === 'READ' && (
{(mode === 'READ' || mode === 'EDIT') && (
<>
{basicInfo?.store && storeInput(basicInfo, setBasicInfo, mode)}
{basicInfo?.constructionPoint && builderInput(basicInfo, setBasicInfo, mode, session)}
{(basicInfo?.constructionPoint || (session?.role === 'Builder' && mode === 'EDIT')) &&
builderInput(basicInfo, setBasicInfo, mode, session)}
</>
)}
</div>

View File

@ -87,6 +87,7 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) {
case 'Admin_Sub':
return session.storeId === basicData.storeId && session.builderId === basicData.constructionPointId
case 'Builder':
return session.builderId ? session.builderId === basicData.constructionPointId : session.userId === basicData.representativeId
case 'Partner':
return session.builderId === basicData.constructionPointId
default:

View File

@ -87,7 +87,7 @@ export default function DetailForm() {
store: session?.storeNm ?? null,
storeId: session?.storeId ?? null,
constructionPoint: session?.builderNm ?? null,
constructionPointId: session?.builderId ?? null,
constructionPointId: session.role === 'Builder' ? (session.builderId ? session.builderId : '') : session.builderId ?? null,
}))
const [roofInfoData, setRoofInfoData] = useState<SurveyDetailRequest>(roofInfoForm)
@ -109,7 +109,7 @@ export default function DetailForm() {
store: session.storeNm ?? null,
storeId: session.storeId ?? null,
constructionPoint: session.builderNm ?? null,
constructionPointId: session.builderId ?? null,
constructionPointId: session.role === 'Builder' ? (session.builderId ? session.builderId : '') : session.builderId ?? null,
}))
}, [session?.isLoggedIn])