Skip to content

Commit fd8da14

Browse files
fix(audit): update subject type to DSpaceObject and streamline template rendering
ref: DSC-2753
1 parent 13a1474 commit fd8da14

5 files changed

Lines changed: 15 additions & 16 deletions

File tree

src/app/audit-page/object-audit-overview/object-audit-overview.component.html

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ <h2 class="flex-grow-1">{{'audit.object.overview.title' | translate}}</h2>
55

66
@if (object) {
77
<h4 class="mt-4 mb-4">{{ object.name }} (<em>{{object.type}}</em>)</h4>
8-
@let audits = (auditsRD$ | async)?.payload;
8+
@let auditRD = (auditsRD$ | async);
9+
@let audits = auditRD?.payload;
910
@if (audits) {
1011
@if (audits.totalElements === 0) {
1112
<div>
@@ -30,7 +31,7 @@ <h4 class="mt-4 mb-4">{{ object.name }} (<em>{{object.type}}</em>)</h4>
3031
</tr>
3132
</thead>
3233
<tbody>
33-
@for (audit of audits.page; track audit) {
34+
@for (audit of audits.page; track audit.id) {
3435
<tr>
3536
<!-- <td><a [routerLink]="['/auditlogs/', audit.id]">{{audit.id}}</a></td> -->
3637
<td>{{ audit.eventType }}</td>
@@ -45,13 +46,10 @@ <h4 class="mt-4 mb-4">{{ object.name }} (<em>{{object.type}}</em>)</h4>
4546
<td>{{ audit.timeStamp | date:dateFormat}}</td>
4647
<td>
4748
@if (object.id === audit.objectUUID) {
48-
<span>
49-
<!-- object.id === audit.objectUUID -->
50-
@let subject = (audit.subject | async);
51-
@if (subject) {
52-
{{ subject.name }} <em>({{ subject.type }})</em>
53-
}
54-
</span>
49+
@let subject = $any(audit.subject | async);
50+
@if (subject) {
51+
<span>{{ subject?.name }} <em>({{ subject?.type }})</em></span>
52+
}
5553
}
5654
@if (object.id === audit.subjectUUID) {
5755
<span>
@@ -69,7 +67,7 @@ <h4 class="mt-4 mb-4">{{ object.name }} (<em>{{object.type}}</em>)</h4>
6967
<a class="btn btn-light mt-3" [routerLink]="['/items', object.id]"><i class="fas fa-arrow-left"></i> Back to Item</a>
7068
<!-- <a class="btn btn-light mt-3" [routerLink]="'/auditlogs'">{{'audit.detail.back' | translate}}</a> -->
7169
}
72-
@if (audits?.statusCode === 404) {
70+
@if (auditRD?.statusCode === 404) {
7371
<h4 class="mt-4 mb-4">{{'audit.object.overview.disabled.message' | translate}}</h4>
7472
}
7573
}

src/app/audit-page/overview/audit-overview.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
import { By } from '@angular/platform-browser';
99
import { RouterTestingModule } from '@angular/router/testing';
1010
import { TranslateModule } from '@ngx-translate/core';
11-
import { createPaginatedList } from '@shared/testing/utils.test';
1211
import { of } from 'rxjs';
1312

1413
import {
@@ -28,6 +27,7 @@ import {
2827
AuditMock,
2928
} from '../../shared/testing/audit.mock';
3029
import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub';
30+
import { createPaginatedList } from '../../shared/testing/utils.test';
3131
import { VarDirective } from '../../shared/utils/var.directive';
3232
import { AuditOverviewComponent } from './audit-overview.component';
3333

src/app/audit-page/overview/audit-overview.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
OnInit,
88
} from '@angular/core';
99
import { RouterLink } from '@angular/router';
10-
import { getFirstCompletedRemoteData } from '@core/shared/operators';
1110
import { TranslateModule } from '@ngx-translate/core';
1211
import {
1312
combineLatest,
@@ -29,6 +28,7 @@ import { FindListOptions } from '../../core/data/find-list-options.model';
2928
import { PaginatedList } from '../../core/data/paginated-list.model';
3029
import { RemoteData } from '../../core/data/remote-data';
3130
import { PaginationService } from '../../core/pagination/pagination.service';
31+
import { getFirstCompletedRemoteData } from '../../core/shared/operators';
3232
import { PaginationComponent } from '../../shared/pagination/pagination.component';
3333
import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
3434

src/app/core/audit/audit-data.service.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import { PaginatedList } from '../data/paginated-list.model';
3030
import { RemoteData } from '../data/remote-data';
3131
import { RequestService } from '../data/request.service';
3232
import { EPerson } from '../eperson/models/eperson.model';
33+
import { DSpaceObject } from '../shared/dspace-object.model';
3334
import { HALEndpointService } from '../shared/hal-endpoint.service';
3435
import { getFirstSucceededRemoteDataPayload } from '../shared/operators';
3536
import { Audit } from './model/audit.model';
@@ -40,7 +41,7 @@ export const AUDIT_FIND_BY_OBJECT_SEARCH_METHOD = 'findByObject';
4041

4142
export type AuditDetails = Audit & {
4243
epersonName: Observable<string>,
43-
subject: Observable<any>
44+
subject: Observable<DSpaceObject>
4445
};
4546

4647

@@ -163,13 +164,13 @@ export class AuditDataService extends IdentifiableDataService<Audit> {
163164
return Object.assign(
164165
rdAudit,
165166
{
166-
payload: Object.assign(rdAudit?.payload, {
167+
payload: Object.assign(rdAudit?.payload || {}, {
167168
page: (rdAudit?.payload?.page || [])?.map(
168169
(audit) => {
169170
return Object.assign(
170171
audit, {
171172
epersonName: this.getEpersonName(audit),
172-
subject: this.getOtherObject(audit, audit.objectUUID),
173+
subject: this.getOtherObject(audit, audit.objectUUID) as Observable<DSpaceObject>,
173174
});
174175
},
175176
),

src/app/shared/testing/audit.mock.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { AuditDetails } from '@core/audit/audit-data.service';
21
import { of } from 'rxjs';
32

3+
import { AuditDetails } from '../../core/audit/audit-data.service';
44
import { Audit } from '../../core/audit/model/audit.model';
55
import { EPerson } from '../../core/eperson/models/eperson.model';
66

0 commit comments

Comments
 (0)