Skip to content

Commit d49af97

Browse files
committed
Add optional uid field to inetOrgPerson DTO and implement employee number migration logic
1 parent 2a3726e commit d49af97

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/management/identities/_dto/_parts/inetOrgPerson.dto.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { IsString, IsEmail, IsOptional, IsArray } from 'class-validator';
55
export class inetOrgPersonCreateDto {
66
@IsString()
77
@ApiProperty()
8+
@IsOptional()
89
public uid: string;
910

1011
@IsString()

src/migrations/jobs/1729517173-employee-number.ts renamed to src/migrations/jobs/1700395200-employee-number.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ import { Logger } from "@nestjs/common"
22
import { InjectConnection, InjectModel } from "@nestjs/mongoose"
33
import { Connection, Model } from "mongoose"
44

5-
export default class EmployeeNumber1729517173 {
6-
private readonly logger = new Logger(EmployeeNumber1729517173.name)
5+
export default class EmployeeNumber1700395200 {
6+
private readonly logger = new Logger(EmployeeNumber1700395200.name)
77

88
public constructor(
99
@InjectConnection() private mongo: Connection,
1010
) {
1111
}
1212

1313
public async up(): Promise<void> {
14-
this.logger.log('EmployeeNumber1729092660 up started')
14+
this.logger.log('EmployeeNumber1700395200 up started')
1515

1616
await this._migrateEmployeeNumberToArray()
1717
}
@@ -26,6 +26,12 @@ export default class EmployeeNumber1729517173 {
2626
this.logger.log(`Migrating employeeNumber for identity ${identity._id}`);
2727
identity.inetOrgPerson.employeeNumber = [employeeNumber];
2828
this.mongo.collection('identities').updateOne({ _id: identity._id }, { $set: { 'inetOrgPerson.employeeNumber': [employeeNumber] } });
29+
} else if (Array.isArray(employeeNumber)) {
30+
if (typeof employeeNumber[0] === 'number') {
31+
this.logger.log(`Migrating employeeNumber for identity ${identity._id}`);
32+
identity.inetOrgPerson.employeeNumber = employeeNumber.map(String);
33+
this.mongo.collection('identities').updateOne({ _id: identity._id }, { $set: { 'inetOrgPerson.employeeNumber': employeeNumber.map(String) } });
34+
}
2935
}
3036
}
3137

0 commit comments

Comments
 (0)