Skip to content

Commit

Permalink
Montag 17:55
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Hornburger committed Jan 15, 2024
1 parent 63f78a1 commit 39a24e5
Show file tree
Hide file tree
Showing 5 changed files with 142 additions and 27 deletions.
31 changes: 29 additions & 2 deletions src/database/projektpunktedbclass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export class ProjektpunkteDBClass {
this.Const = new Constclass();
}

public ReadProjektpunkteliste(projektkey: string): Promise<any> {
public ReadProjektpunkteliste(projektkey: string, deleted: boolean): Promise<any> {

try {

Expand All @@ -26,7 +26,7 @@ export class ProjektpunkteDBClass {

ProjektpunktemodelClass = model(this.Const.ProjektpunktecollectionName, Projektpunktshema);

ProjektpunktemodelClass.find( { Deleted: false, Projektkey: projektkey } ).then((data: any) => {
ProjektpunktemodelClass.find( { Deleted: deleted, Projektkey: projektkey } ).then((data: any) => {

data.forEach((projektpunkt) => {

Expand All @@ -48,6 +48,33 @@ export class ProjektpunkteDBClass {
}
}

public RemovePunkteliste(IDListe: string[]): Promise<any> {

try {

let ProjektpunktemodelClass: mongoose.Model<mongoose.Document>;

return new Promise((resolve, reject) => {

ProjektpunktemodelClass = model(this.Const.ProjektpunktecollectionName, Projektpunktshema);

ProjektpunktemodelClass.deleteMany({_id: {$in: IDListe}}).then(() => {

resolve(true);

}).catch((error) => {

reject(error);
});

});

} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'ProjektpunkteDBClass', 'RemovePunkteliste');
}
}

public AddProjektpunkt(data: IProjektpunktestruktur):Promise<any> {

try {
Expand Down
28 changes: 28 additions & 0 deletions src/database/protokolledbclass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {DebugClass} from "../debug";
import {Constclass} from "../constclass";
import * as mongoose from "mongoose";
import {IProtokollstruktur, Protokollshema} from "../datenstrukturen/protokollstruktur_server";
import {Projektpunktshema} from "../datenstrukturen/projektpunktestruktur_server";

export class ProtokollDBClass {

Expand Down Expand Up @@ -50,6 +51,33 @@ export class ProtokollDBClass {
}
}

public RemoveProtokoll(protokoll: IProtokollstruktur): Promise<any> {

try {

let ProtokollmodelClass: mongoose.Model<mongoose.Document>;

return new Promise<any>((resolve, reject) => {

ProtokollmodelClass = model(this.Const.ProtokollcollectionName, Protokollshema);

ProtokollmodelClass.deleteOne({_id: protokoll._id}).then((result: any) => {

resolve(true);

}).catch((error) => {

reject(error);
});

});

} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'ProtokollDBClass', 'RemoveProtokoll');
}
}

public AddProtokoll(data: IProtokollstruktur):Promise<any> {

try {
Expand Down
8 changes: 8 additions & 0 deletions src/datenstrukturen/projektpunktestruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ interface IProjektpunktestruktur {
Leistungsphase: string;
Bilderliste: IProjektpunktimagestruktur[];
Thumbnailsize: string;
LV_relevant: boolean;
Planung_relevant: boolean;
LV_Eintrag: boolean;
Planung_Eintrag: boolean;

Verfasser: IVerfasserstruktur;

Expand Down Expand Up @@ -142,6 +146,10 @@ const Projektpunktshema = new mongoose.Schema({
Ruecklaufreminderliste: [Ruecklaufremindershema],
Bilderliste: [Projektpunktimageshema],
Deleted: {type: Boolean, required: false, default: false},
LV_relevant: {type: Boolean, required: false, default: true},
Planung_relevant: {type: Boolean, required: false, default: true},
LV_Eintrag: {type: Boolean, required: false, default: false},
Planung_Eintrag: {type: Boolean, required: false, default: false},
});

export { IProjektpunktestruktur, Projektpunktshema };
Expand Down
59 changes: 46 additions & 13 deletions src/routes/projektpunkteerouts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ export class ProjektpunkteroutsClass {
this.projektpunkterouter.get('/', this.Authentication.authenticate, (req: Request, res: Response) => {


let query = req.query;
let query = req.query;
let Projektkey = <string>query.projektkey;
let Deleted = <string>query.deleted === "false" ? false : true;

console.log('Real Projektpunkte: ');
console.log('Projektkey: ' + Projektkey);
console.log('Deleted: ' + Deleted);

this.Database.ReadProjektpunkteliste(Projektkey).then((liste: IProjektpunktestruktur[]) => {
this.Database.ReadProjektpunkteliste(Projektkey, Deleted).then((liste: IProjektpunktestruktur[]) => {

res.status(200).send(liste);

Expand All @@ -50,25 +52,55 @@ export class ProjektpunkteroutsClass {

console.log('Projektpunkt PUT');

const data = <IProjektpunktestruktur>req.body;
const data = <any>req.body;
let Projektpunkt: IProjektpunktestruktur;
let Delete: boolean;
let IDListe: string[];

console.log('Daten: ' + JSON.stringify(data));

this.Database.UpdateProjektpunkt(data).then((result) => {
Projektpunkt = <IProjektpunktestruktur>data.Projektpunkt;
IDListe = <string[]>JSON.parse(data.IDListe);
Delete = <boolean>data.Delete;

if(result !== null) {
if(Delete === false) {

res.status(200).send({ message: 'Saved: ' + data.Aufgabe, Projektpunkt: data });
}
else {
// Projektpunkt aktualisieren

res.status(404).send({ message: 'Projektpunkt not found.', data: null });
}
this.Database.UpdateProjektpunkt(Projektpunkt).then((result) => {

}).catch((error) => {
if(result !== null) {

res.status(200).send({ message: 'Saved: ' + data.Aufgabe, Projektpunkt: data });
}
else {

res.status(404).send({ message: 'Projektpunkt not found.', data: null });
}

}).catch((error) => {

res.status(400).send({ message: error.message });
});

}
else {

// Projektpunkte entgueltig loeschen

this.Database.RemovePunkteliste(IDListe).then((result) => {

if(result !== null) {

res.status(200).send({ message: 'Projektpunte wurden gelöscht' });
}

}).catch((error) => {

res.status(400).send({ message: error.message });
});
}

res.status(400).send({ message: error.message });
});
});

this.projektpunkterouter.post('/', (req: Request, res: Response) => {
Expand All @@ -91,6 +123,7 @@ export class ProjektpunkteroutsClass {
});
});


} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'ProjektpunkteroutsClass', 'SetRoutes');
Expand Down
43 changes: 31 additions & 12 deletions src/routes/protokollerouts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,25 +49,44 @@ export class ProtokolleroutsClass {

console.log('Protokoll PUT');

const data = <IProtokollstruktur>req.body;
const data = <any>req.body;
const Protokoll: IProtokollstruktur = data.Protokoll;
const Delete: boolean = data.Delete;

console.log('Daten: ' + JSON.stringify(data));
console.log('Protokoll: ' + JSON.stringify(Protokoll));

this.Database.UpdateProtokoll(data).then((result) => {
if(Delete === false) {

if(result !== null) {
// Update

res.status(200).send({ message: 'Saved: ' + data.Titel, Protokoll: data });
}
else {
this.Database.UpdateProtokoll(Protokoll).then((result) => {

res.status(404).send({ message: 'Protokolle not found.', data: null });
}
if(result !== null) {

}).catch((error) => {
res.status(200).send({ message: 'Saved: ' + data.Titel, Protokoll: Protokoll });
}
else {

res.status(404).send({ message: 'Protokolle not found.', data: null });
}

}).catch((error) => {

res.status(400).send({ message: error.message });
});
}
else {

this.Database.RemoveProtokoll(Protokoll).then(() => {

res.status(200).send({ message: 'Protokoll wurde gelöscht: ' + Protokoll.Titel, Protokoll: Protokoll });

}).catch((error) => {

res.status(400).send({message: error.message});
})
}

res.status(400).send({ message: error.message });
});
});

this.protokolllerouter.post('/', (req: Request, res: Response) => {
Expand Down

0 comments on commit 39a24e5

Please sign in to comment.