refactor: 중복 로직 제거
This commit is contained in:
parent
94b5cd8ae4
commit
9c7bed853f
@ -115,16 +115,6 @@ export class SurveySalesService {
|
|||||||
|
|
||||||
switch (this.session?.role) {
|
switch (this.session?.role) {
|
||||||
case 'Admin':
|
case 'Admin':
|
||||||
if (this.session?.storeId) {
|
|
||||||
where.OR = [
|
|
||||||
{ AND: [{ STORE_ID: { equals: this.session.storeId } }] },
|
|
||||||
{ AND: [{ SUBMISSION_TARGET_ID: { equals: this.session.storeId } }, { SUBMISSION_STATUS: { equals: true } }] },
|
|
||||||
{ AND: [{ SUBMISSION_TARGET_NM: { equals: this.session.storeNm } }, { SUBMISSION_STATUS: { equals: true } }] },
|
|
||||||
]
|
|
||||||
} else {
|
|
||||||
where.AND.push({ REPRESENTATIVE_ID: { equals: this.session.userId } })
|
|
||||||
}
|
|
||||||
break
|
|
||||||
case 'Admin_Sub':
|
case 'Admin_Sub':
|
||||||
if (this.session?.storeId) {
|
if (this.session?.storeId) {
|
||||||
where.OR = [
|
where.OR = [
|
||||||
@ -391,9 +381,9 @@ export class SurveySalesService {
|
|||||||
if (!survey || !session) return false
|
if (!survey || !session) return false
|
||||||
|
|
||||||
const roleChecks = {
|
const roleChecks = {
|
||||||
T01: () => this.checkT01Role(survey, session.userId),
|
T01: () => this.checkT01Role(survey, session.userId, session.storeId),
|
||||||
Admin: () => this.checkAdminRole(survey, session.storeId, session.storeNm),
|
Admin: () => this.checkAdminRole(survey, session.storeId, session.storeNm),
|
||||||
Admin_Sub: () => this.checkAdminSubRole(survey, session.storeId, session.storeNm),
|
Admin_Sub: () => this.checkAdminRole(survey, session.storeId, session.storeNm),
|
||||||
Partner: () => this.checkPartnerOrBuilderRole(survey, session.builderId, session.userId),
|
Partner: () => this.checkPartnerOrBuilderRole(survey, session.builderId, session.userId),
|
||||||
Builder: () => this.checkPartnerOrBuilderRole(survey, session.builderId, session.userId),
|
Builder: () => this.checkPartnerOrBuilderRole(survey, session.builderId, session.userId),
|
||||||
default: () => false,
|
default: () => false,
|
||||||
@ -409,8 +399,8 @@ export class SurveySalesService {
|
|||||||
* @param {any} survey 조사 매물 데이터
|
* @param {any} survey 조사 매물 데이터
|
||||||
* @returns {boolean} 해당 매물의 조회 권한 여부 (true: 권한 있음, false: 권한 없음)
|
* @returns {boolean} 해당 매물의 조회 권한 여부 (true: 권한 있음, false: 권한 없음)
|
||||||
*/
|
*/
|
||||||
private checkT01Role(survey: any, userId: string | null): boolean {
|
private checkT01Role(survey: any, userId: string | null, storeId: string | null): boolean {
|
||||||
if (survey.REPRESENTATIVE_ID === userId) {
|
if (survey.REPRESENTATIVE_ID === userId || survey.STORE_ID === storeId) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return survey.SRL_NO !== '一時保存'
|
return survey.SRL_NO !== '一時保存'
|
||||||
@ -431,21 +421,6 @@ export class SurveySalesService {
|
|||||||
: survey.STORE_ID === storeId
|
: survey.STORE_ID === storeId
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description Admin_Sub 권한 체크 (2차점 - Musubi)
|
|
||||||
* - 같은 판매점에서 작성한 매물, 시공권한 user에게 제출받은 매물 조회 가능
|
|
||||||
*
|
|
||||||
* @param {any} survey 조사 매물 데이터
|
|
||||||
* @param {string | null} storeId 판매점 ID
|
|
||||||
* @returns {boolean} 해당 매물의 조회 권한 여부 (true: 권한 있음, false: 권한 없음)
|
|
||||||
*/
|
|
||||||
private checkAdminSubRole(survey: any, storeId: string | null, storeNm: string | null): boolean {
|
|
||||||
if (!storeId) return survey.REPRESENTATIVE_ID === this.session?.userId
|
|
||||||
return survey.SUBMISSION_STATUS
|
|
||||||
? survey.SUBMISSION_TARGET_ID === storeId || survey.SUBMISSION_TARGET_NM === storeNm || survey.STORE_ID === storeId
|
|
||||||
: survey.STORE_ID === storeId
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Partner 또는 Builder 권한 체크
|
* @description Partner 또는 Builder 권한 체크
|
||||||
* - 같은 시공점에서 작성한 매물 조회 가능
|
* - 같은 시공점에서 작성한 매물 조회 가능
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user