This commit is contained in:
Bastian Wagner
2024-10-23 13:58:14 +02:00
parent d4ddcafd2b
commit b453945183
33 changed files with 570 additions and 19 deletions

View File

@@ -9,6 +9,7 @@ import {
KeySystemRepository,
} from 'src/model/repositories';
import { KeyHandoutRepository } from 'src/model/repositories/key-handout.repository';
import { IsNull, Not } from 'typeorm';
@Injectable()
export class KeyService {
@@ -108,4 +109,35 @@ export class KeyService {
relations: ['customer'],
});
}
createKey(user: User, key: any) {
return this.keyrepository.save(this.keyrepository.create(key));
}
async deleteKey(user: User, id: string) {
const key = await this.keyrepository.findOneOrFail({
where: { id, cylinder: { system: { managers: { id: user.id } } } },
});
return this.keyrepository.softRemove(key);
}
getDeletedKeys(user: User) {
return this.keyrepository.find({
where: {
cylinder: { system: { managers: { id: user.id } } },
deletedAt: Not(IsNull()),
},
withDeleted: true,
order: { deletedAt: { direction: 'DESC' } },
});
}
async restoreKey(user: User, keyID: string) {
const key = await this.keyrepository.findOneOrFail({
where: { cylinder: { system: { managers: { id: user.id } } }, id: keyID },
withDeleted: true,
});
key.deletedAt = null;
return this.keyrepository.save(key);
}
}