Skip to content
Snippets Groups Projects

Beta 5

Merged Martin Mechtel requested to merge beta-5 into develop
4 files
+ 27
40
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -3,7 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm';
import { Not, Repository } from 'typeorm';
import {
CostUnitStaffDto, PrincipalRelationDto, StaffGroupCreateDto,
StaffGroupDto,
StaffGroupDto, StaffJournalMetadataDto,
StaffMemberCreateDto,
StaffMemberFullDto,
StaffMemberInListDto
@@ -17,6 +17,7 @@ import StaffGroup from '../entities/staff-group.entity';
import CostUnit from '../entities/cost-unit.entity';
import CostUnitStaff from '../entities/cost-unit-staff.entity';
import Principal from '../entities/principal.entity';
import { StaffJournalService } from './staff-journal.service';
// todo: lint complaints
@@ -38,7 +39,8 @@ export class StaffService {
@InjectRepository(Principal)
private principalRepository: Repository<Principal>,
private principalService: PrincipalService
private principalService: PrincipalService,
private journalService: StaffJournalService
) {}
async findAll(restricted: boolean, restrictedTo: number[]): Promise<StaffMemberInListDto[]> {
@@ -228,7 +230,7 @@ export class StaffService {
throw new NotFoundException();
}
async patch(newData: StaffMemberFullDto): Promise<void> {
async patch(newData: StaffMemberFullDto, userId: number): Promise<void> {
const staffMember = await this.staffRepository.findOne({
where: {
id: newData.id
@@ -335,8 +337,18 @@ export class StaffService {
staffMember.staffGroups.push(staffGroupToAdd);
});
}
StaffService.registerChanges(Object.keys(newData), staffMember);
if (staffMember.entryStatus === 'hot') StaffService.registerChanges(Object.keys(newData), staffMember);
await this.staffRepository.save(staffMember);
if (staffMember.entryStatus === 'hot') {
await this.journalService.create(userId, {
staffMemberId: staffMember.id,
metadata: <StaffJournalMetadataDto>{
actionKey: 'properties-changed'
},
content: Object.keys(newData).filter(k => k !== 'id').join(', ')
});
}
}
}
Loading