Archive
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user