mods
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
# Application
|
||||
DEVELOP_MODE=false
|
||||
|
||||
# Database
|
||||
MYSQL_USER=db_user
|
||||
MYSQL_PASSWORD=PAssword123
|
||||
|
||||
@@ -4,10 +4,11 @@ import { CylinderService } from './cylinder.service';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { DatabaseModule } from 'src/shared/database/database.module';
|
||||
import { SharedServiceModule } from 'src/shared/service/shared.service.module';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Module({
|
||||
controllers: [CylinderController],
|
||||
providers: [CylinderService],
|
||||
providers: [CylinderService, ConfigService],
|
||||
imports: [AuthModule, DatabaseModule, SharedServiceModule],
|
||||
})
|
||||
export class CylinderModule {}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { Cylinder, User } from 'src/model/entitites';
|
||||
import { ActivityRepository, CylinderRepository, KeyRepository } from 'src/model/repositories';
|
||||
import { HelperService } from 'src/shared/service/system.helper.service';
|
||||
@@ -9,15 +10,24 @@ export class CylinderService {
|
||||
private readonly cylinderRepo: CylinderRepository,
|
||||
private readonly keyRepo: KeyRepository,
|
||||
private systemActivityRepo: ActivityRepository,
|
||||
private readonly helper: HelperService
|
||||
private readonly helper: HelperService,
|
||||
private readonly configService: ConfigService
|
||||
) {}
|
||||
|
||||
get isDevelopMode(): boolean {
|
||||
return (this.configService.get('DEVELOP_MODE') || '').toLowerCase() == 'true';
|
||||
}
|
||||
|
||||
async getCylinders(user: User): Promise<Cylinder[]> {
|
||||
const c = await this.cylinderRepo.find({
|
||||
let c = await this.cylinderRepo.find({
|
||||
where: { system: { managers: { id: user.id } } },
|
||||
order: { name: { direction: 'ASC' } },
|
||||
relations: ['system', 'keys'],
|
||||
});
|
||||
|
||||
if (this.isDevelopMode) {
|
||||
c = c.filter(c => c.name.toLowerCase().includes('develop') || c.system.name.toLocaleLowerCase().includes('develop'))
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,11 @@ import { KeyService } from './key.service';
|
||||
import { DatabaseModule } from 'src/shared/database/database.module';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { SharedServiceModule } from 'src/shared/service/shared.service.module';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Module({
|
||||
controllers: [KeyController],
|
||||
providers: [KeyService],
|
||||
providers: [KeyService, ConfigService],
|
||||
imports: [DatabaseModule, AuthModule, SharedServiceModule],
|
||||
})
|
||||
export class KeyModule {}
|
||||
|
||||
@@ -8,7 +8,9 @@ import {
|
||||
import { KeyHandoutRepository } from 'src/model/repositories/key-handout.repository';
|
||||
import { ActivityHelperService } from 'src/shared/service/activity.logger.service';
|
||||
import { HelperService } from 'src/shared/service/system.helper.service';
|
||||
import { IsNull, Not } from 'typeorm';
|
||||
import { FindOperator, IsNull, Not } from 'typeorm';
|
||||
import { faker } from '@faker-js/faker';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Injectable()
|
||||
export class KeyService {
|
||||
@@ -18,27 +20,39 @@ export class KeyService {
|
||||
private readonly handoverRepo: KeyHandoutRepository,
|
||||
private readonly activityService: ActivityHelperService,
|
||||
private readonly helper: HelperService,
|
||||
private readonly configService: ConfigService
|
||||
) {}
|
||||
|
||||
get isDevelopMode(): boolean {
|
||||
return (this.configService.get('DEVELOP_MODE') || '').toLowerCase() == 'true';
|
||||
}
|
||||
|
||||
async getUsersKeys(user: User): Promise<Key[]> {
|
||||
const keys = await this.keyrepository.find({
|
||||
let keys = await this.keyrepository.find({
|
||||
where: { cylinder: { system: { managers: { id: user.id } } }, keyLost: IsNull() },
|
||||
relations: ['cylinder', 'cylinder.system', 'customer'],
|
||||
});
|
||||
for (let k of keys) {
|
||||
k.customer = await this.getCustomerOfLastHandout(user, k.id);
|
||||
}
|
||||
|
||||
if (this.isDevelopMode) {
|
||||
keys = keys.filter(k => k.cylinder.some(c => c.name.toLowerCase().includes('develop') || c.system.name.toLowerCase().includes('develop')))
|
||||
}
|
||||
return keys;
|
||||
}
|
||||
|
||||
async getLostKeys(user: User): Promise<Key[]> {
|
||||
const keys = await this.keyrepository.find({
|
||||
let keys = await this.keyrepository.find({
|
||||
where: { cylinder: { system: { managers: { id: user.id } } }, keyLost: Not(IsNull()) },
|
||||
relations: ['cylinder', 'cylinder.system', 'customer'],
|
||||
});
|
||||
for (let k of keys) {
|
||||
k.customer = await this.getCustomerOfLastHandout(user, k.id);
|
||||
}
|
||||
if (this.isDevelopMode) {
|
||||
keys = keys.filter(k => k.cylinder.some(c => c.name.toLowerCase().includes('develop') || c.system.name.toLowerCase().includes('develop')))
|
||||
}
|
||||
return keys;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,10 +4,11 @@ import { SystemController } from './system.controller';
|
||||
import { AuthModule } from '../auth/auth.module';
|
||||
import { DatabaseModule } from 'src/shared/database/database.module';
|
||||
import { MailModule } from '../mail/mail.module';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Module({
|
||||
controllers: [SystemController],
|
||||
providers: [SystemService],
|
||||
providers: [SystemService, ConfigService],
|
||||
imports: [AuthModule, DatabaseModule, MailModule],
|
||||
})
|
||||
export class SystemModule {}
|
||||
|
||||
@@ -5,6 +5,7 @@ import { ActivityRepository, KeySystemRepository, UserRepository } from 'src/mod
|
||||
import { User } from 'src/model/entitites';
|
||||
import { IUser } from 'src/model/interface';
|
||||
import { MailService } from '../mail/mail.service';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Injectable()
|
||||
export class SystemService {
|
||||
@@ -12,8 +13,13 @@ export class SystemService {
|
||||
private systemRepo: KeySystemRepository,
|
||||
private userRepo: UserRepository,
|
||||
private systemActivityRepo: ActivityRepository,
|
||||
private mailService: MailService
|
||||
private mailService: MailService,
|
||||
private readonly configService: ConfigService
|
||||
) {}
|
||||
|
||||
get isDevelopMode(): boolean {
|
||||
return (this.configService.get('DEVELOP_MODE') || '').toLowerCase() == 'true';
|
||||
}
|
||||
|
||||
async create(user: User, createSystemDto: CreateSystemDto) {
|
||||
const sys = this.systemRepo.create(createSystemDto);
|
||||
@@ -34,11 +40,17 @@ export class SystemService {
|
||||
}
|
||||
}
|
||||
|
||||
findAll(user: User) {
|
||||
return this.systemRepo.find({
|
||||
async findAll(user: User) {
|
||||
let systems = await this.systemRepo.find({
|
||||
where: { managers: { id: user.id } },
|
||||
order: { name: { direction: 'ASC' } },
|
||||
});
|
||||
|
||||
if (this.isDevelopMode) {
|
||||
systems = systems.filter(s => s.name.toLocaleLowerCase().includes('develop'));
|
||||
}
|
||||
|
||||
return systems;
|
||||
}
|
||||
|
||||
findOne(id: string) {
|
||||
|
||||
@@ -28,12 +28,12 @@
|
||||
<button matButton [mat-dialog-close]="null">Abbrechen</button>
|
||||
|
||||
@if(key.keyLost != null) {
|
||||
<button matButton="elevated" (click)="closeFound()">
|
||||
<button matButton="elevated" (click)="closeFound()" class="btn-primary">
|
||||
<mat-icon>report</mat-icon>
|
||||
Als gefunden melden
|
||||
</button>
|
||||
} @else {
|
||||
<button matButton="elevated" (click)="closeWithData()">
|
||||
<button matButton="elevated" (click)="closeWithData()" class="btn-warning">
|
||||
<mat-icon>report_problem</mat-icon>
|
||||
Als verloren melden
|
||||
</button>
|
||||
|
||||
@@ -47,9 +47,7 @@ export class KeysComponent {
|
||||
valueFormatter: (data: any) => { return data; },
|
||||
cellRenderer: (data: any) => {return data.value?.map((m: ICylinder) => m.name).join(', ')},
|
||||
tooltipValueGetter: (data: any) => data.value?.map((m: ICylinder) => m.name).join(','),
|
||||
onCellDoubleClicked(event) {
|
||||
|
||||
},
|
||||
onCellDoubleClicked(event) {},
|
||||
cellEditorPopup: true,
|
||||
filterValueGetter: (params: any) => {return params.data.cylinder?.map((m: ICylinder) => m.name).join(', ')},
|
||||
},
|
||||
|
||||
@@ -79,10 +79,7 @@ export class AgDeleteKeyComponent implements ICellRendererAngularComp {
|
||||
})
|
||||
).subscribe({
|
||||
next: () => {
|
||||
let data = this.params.api.getGridOption("rowData");
|
||||
data = data?.filter(d => d.id != this.key.id);
|
||||
this.params.api.setGridOption("rowData", data);
|
||||
this.params.api.setGridOption("loading", false);
|
||||
this.setData();
|
||||
},
|
||||
error: () => {
|
||||
this.params.api.setGridOption("loading", false);
|
||||
@@ -122,8 +119,16 @@ export class AgDeleteKeyComponent implements ICellRendererAngularComp {
|
||||
this.key.keyLost = n;
|
||||
this.params.api.refreshCells();
|
||||
this.api.updateKey(this.key).subscribe();
|
||||
this.setData();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private setData() {
|
||||
let data = this.params.api.getGridOption("rowData");
|
||||
data = data?.filter(d => d.id != this.key.id);
|
||||
this.params.api.setGridOption("rowData", data);
|
||||
this.params.api.setGridOption("loading", false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user