|
|
@ -224,53 +224,15 @@ export class GfCreateOrUpdateAccessDialogComponent implements OnInit { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private buildExpiresAt() { |
|
|
|
|
|
const expiresAtControl = this.accessForm.get('expiresAt'); |
|
|
|
|
|
const expiresAtOfAccess = this.data.access?.expiresAt; |
|
|
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
this.mode === 'update' && |
|
|
|
|
|
!expiresAtControl?.dirty && |
|
|
|
|
|
expiresAtOfAccess |
|
|
|
|
|
) { |
|
|
|
|
|
return new Date(expiresAtOfAccess).toISOString(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const expiresAt = expiresAtControl?.value as Date; |
|
|
|
|
|
|
|
|
|
|
|
return isValid(expiresAt) ? endOfDay(expiresAt).toISOString() : ''; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private buildFilters(): Filter[] { |
|
|
|
|
|
return getFiltersFromPortfolioFilterFormValue( |
|
|
|
|
|
this.accessForm.get('filters')?.value |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private buildScopes(): Scope[] { |
|
|
|
|
|
const scopesOfAccess = this.data.access?.scopes ?? []; |
|
|
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
scopesOfAccess.length > 0 && |
|
|
|
|
|
this.accessLevel === getAccessLevel(scopesOfAccess) |
|
|
|
|
|
) { |
|
|
|
|
|
return Object.values(scopes).filter((scope) => { |
|
|
|
|
|
return hasScope(scopesOfAccess, scope); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return getScopesOfAccessLevel(this.accessLevel); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private async createAccess() { |
|
|
private async createAccess() { |
|
|
const filters = this.buildFilters(); |
|
|
const filters = this.getFilters(); |
|
|
|
|
|
|
|
|
const access: CreateAccessDto = { |
|
|
const access: CreateAccessDto = { |
|
|
alias: this.accessForm.get('alias')?.value, |
|
|
alias: this.accessForm.get('alias')?.value, |
|
|
expiresAt: this.buildExpiresAt(), |
|
|
expiresAt: this.getExpiresAt(), |
|
|
filters: filters.length > 0 ? filters : undefined, |
|
|
filters: filters.length > 0 ? filters : undefined, |
|
|
granteeUserId: this.accessForm.get('granteeUserId')?.value, |
|
|
granteeUserId: this.accessForm.get('granteeUserId')?.value, |
|
|
scopes: this.buildScopes(), |
|
|
scopes: this.getScopes(), |
|
|
type: this.accessForm.get('type')?.value |
|
|
type: this.accessForm.get('type')?.value |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
@ -303,6 +265,44 @@ export class GfCreateOrUpdateAccessDialogComponent implements OnInit { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private getExpiresAt() { |
|
|
|
|
|
const expiresAtControl = this.accessForm.get('expiresAt'); |
|
|
|
|
|
const expiresAtOfAccess = this.data.access?.expiresAt; |
|
|
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
this.mode === 'update' && |
|
|
|
|
|
!expiresAtControl?.dirty && |
|
|
|
|
|
expiresAtOfAccess |
|
|
|
|
|
) { |
|
|
|
|
|
return new Date(expiresAtOfAccess).toISOString(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const expiresAt = expiresAtControl?.value as Date; |
|
|
|
|
|
|
|
|
|
|
|
return isValid(expiresAt) ? endOfDay(expiresAt).toISOString() : ''; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private getFilters(): Filter[] { |
|
|
|
|
|
return getFiltersFromPortfolioFilterFormValue( |
|
|
|
|
|
this.accessForm.get('filters')?.value |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private getScopes(): Scope[] { |
|
|
|
|
|
const scopesOfAccess = this.data.access?.scopes ?? []; |
|
|
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
|
scopesOfAccess.length > 0 && |
|
|
|
|
|
this.accessLevel === getAccessLevel(scopesOfAccess) |
|
|
|
|
|
) { |
|
|
|
|
|
return Object.values(scopes).filter((scope) => { |
|
|
|
|
|
return hasScope(scopesOfAccess, scope); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return getScopesOfAccessLevel(this.accessLevel); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private loadHoldings() { |
|
|
private loadHoldings() { |
|
|
this.dataService |
|
|
this.dataService |
|
|
.fetchPortfolioHoldings() |
|
|
.fetchPortfolioHoldings() |
|
|
@ -323,15 +323,15 @@ export class GfCreateOrUpdateAccessDialogComponent implements OnInit { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const filters = this.buildFilters(); |
|
|
const filters = this.getFilters(); |
|
|
|
|
|
|
|
|
const access: UpdateAccessDto = { |
|
|
const access: UpdateAccessDto = { |
|
|
alias: this.accessForm.get('alias')?.value, |
|
|
alias: this.accessForm.get('alias')?.value, |
|
|
expiresAt: this.buildExpiresAt(), |
|
|
expiresAt: this.getExpiresAt(), |
|
|
filters: filters.length > 0 ? filters : undefined, |
|
|
filters: filters.length > 0 ? filters : undefined, |
|
|
granteeUserId: this.accessForm.get('granteeUserId')?.value, |
|
|
granteeUserId: this.accessForm.get('granteeUserId')?.value, |
|
|
id: accessId, |
|
|
id: accessId, |
|
|
scopes: this.buildScopes() |
|
|
scopes: this.getScopes() |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
|