first commit

This commit is contained in:
2025-04-09 21:43:00 +02:00
commit af5be2794d
39 changed files with 1947 additions and 0 deletions

View File

@@ -0,0 +1,376 @@
package XxxApp::Controller::Api::Jstreetemplate;
use Mojo::Base 'Mojolicious::Controller';
use Data::Printer;
my @liste = qw|Anstand
Aufmerksamkeit
Auftrieb
Ausgelassenheit
Ausgewogenheit
Auszeichnung
Bedeutung
Begeisterung
Beglückung
Behaglichkeit
Beherztheit
Belohnung
Bereicherung
Bewunderung
Chance
Charisma
Charme
Dankbarkeit
Daseinsfreude
Ehrlichkeit
Einfallsreichtum
Einigkeit
Empfehlung
Energie
Engagement
Entspannung
Erfolg
Erfüllung
Ermutigung
Faszination
Freiheit
Freude
Freunde
Freundlichkeit
Fröhlichkeit
Fülle
Füreinandereintreten
Gabe
Geduld
Gegenseitigkeit
Gemeinschaftsgeist
Geschenk
Geschlossenheit
Gesundheit
Glück
Glückseligkeit
Glückwunsch
Großzügigkeit
Güte
Harmonie
Hauptgewinn
Heiterkeit
Herzenswärme
Herzensgüte
Herzlichkeit
Hilfsbereitschaft
Hinwendung
Hochgefühl
Hoffnung
Höflichkeit
Idealismus
Intuition
Ideenreichtum
Idylle
Inspiration
Interesse
Jubel
Jugendlichkeit
Kompliment
Köstlichkeit
Kraft
Kreativität
Lächeln
Lachen
Leben
Lebenslust
Lebendigkeit
Lebensfreude
Lebhaftigkeit
Leichtigkeit
Leidenschaft
Liebe
Liebenswürdigkeit
Luxus
Munterkeit
Mut
Nähe
Offenheit
Optimismus
Originalität
Pracht
Prestige
Problemlösung
Pünktlichkeit
Reichhaltigkeit
Reichtum
Respekt
Richtigkeit
Rücksicht
Rücksichtnahme
Schönheit
Schutz
Seelenverwandtschaft
Selbstachtung
Selbstbestimmung
Selbstliebe
Selbstlosigkeit
Selbstsicherheit
Selbstwertgefühl
Selbstzufriedenheit
Seligkeit
Sicherheit
Solidarität
Sorgfalt
Spaß
Spontanität
Stärke
Sympathie
Toleranz
Treue
Überfluss
Überraschung
Überschwang
Überzeugung
Überzeugungskraft
Unbeschwertheit
Unterstützung
Verbesserung
Verbundenheit
Verehrung
Verlockung
Verspieltheit
Verständnis
Vertrauen
Vertrauenswürdigkeit
Vertrautheit
Vertraulichkeit
Vielfalt
Vielseitigkeit
Wahrhaftigkeit
Wärme
Willenskraft
Willkommen
Wohlbefinden
Wohlgefallen
Wohlstand
Wohltat
Wonne
Würde
Wunder
Zauber
Zufriedenheit
Zuneigung
Zusammengehörigkeit
Zusammenhalt
Zuverlässigkeit
Zuwendung|;
sub jstreedata {
my $c = shift->openapi->valid_input or return;
my ($src, $tab ) = _generatetestdata();
my @tree;
push @tree, @{$src};
push @tree, @{$tab};
return $c->render(json => { rc => 0, msg => 'OK', data => \@tree} );
}
sub _generatetestdata {
my ( $liste ) = @_;
my $src;
my $tab;
my $cnt = @liste;
my $first = int(rand( 10));
$first ++;
my $second = int(rand( 10));
$second ++;
my $third = int(rand( 10));
$third ++;
for my $f ( 1..$first ) {
my $word = int(rand( $cnt ));
push @{$src}, { parent => '#', id => $f, text => $liste[$word] };
for my $s ( 1..$second ) {
my $fs = $f * 10 + $s;
my $wordchild = int(rand( $cnt ));
push @{$tab}, { parent => $f, id => $fs, text => $liste[$wordchild] };
for my $t ( 1..$third ) {
my $fst = $fs * 10 + $t;
my $wordchild2 = int(rand( $cnt ));
push @{$tab}, { parent => $fs, id => $fst, text => $liste[$wordchild2] },
}
}
}
return ($src, $tab );
}
sub datatablesdata {
my $c = shift->openapi->valid_input or return;
my $cnt = @liste;
my $rows = int(rand( 1000));
$rows ++;
my @data;
for my $d ( 0..$rows ) {
my $col1 = int(rand( $cnt ));
my $col2 = int(rand( $cnt ));
my $col3 = int(rand( $cnt ));
my $col4 = int(rand( $cnt ));
my $col5 = int(rand( $cnt ));
my $col6 = int(rand( $cnt ));
my $col7 = int(rand( $cnt ));
my $col8 = int(rand( $cnt ));
my $col9 = int(rand( $cnt ));
push @data, { col1 => $liste[$col1], col2 => $liste[$col2], col3 => $liste[$col3], col4 => $liste[$col4], col5 => $liste[$col5], col6 => $liste[$col6], col7 => $liste[$col7], col8 => $liste[$col8], col9 => $liste[$col9] };
}
return $c->render(json => { rc => 0, msg => 'OK', data => \@data} );
}
###
sub listfiles {
my $self = shift;
my $id = $self->stash('todoid');
my $sql = "SELECT idma,
size,
created,
info,
type,
name
FROM todo_master_files
WHERE id = ? and deleted = 0";
my ( $rc, $msg, $data ) = $self->dbxxx->query_hash_array( $sql, $id );
return $self->render( json => { rc => $rc, msg => $msg, data => $data} );
}
sub blob {
my $self = shift;
my $dbh = $self->dbxxx->get;
return (1, "kein DB-Handle bekommen") if !defined $dbh;
my $cursor = $dbh->prepare("SELECT file, type FROM todo_master_files where idma = ?");
$cursor->execute($self->stash('idma'));
my @data = $cursor->fetchrow;
$cursor->finish;
my $blob;
if ( defined $data[0]) {
$blob = encode_base64($data[0]);
} else {
$blob = '';
}
$self->dbxxx->free($dbh);
return $self->render( json => { blob => $blob, type => $data[1] });
}
sub update {
# update eines eintrages der Mastertabelle
my $self = shift;
my $todoid = $self->stash('todoid');
return $self->render( json => { rc => 1, msg => "Die todoid fehlt"} ) if ( $todoid eq "" ) ;
my $daten = $self->req->json;
return $self->render( json => { rc => 1, msg => 'Programmname fehlt'} ) if ( !defined $daten->{name} or $daten->{name} eq "" );
return $self->render( json => { rc => 1, msg => 'Verantwortlichkeit zuweisen'} ) if ( !defined $daten->{who} or $daten->{who} eq "" );
return $self->render( json => { rc => 1, msg => 'Prozesszuweisung fehlt'} ) if ( !defined $daten->{prozess} or $daten->{prozess} eq "" );
return $self->render( json => { rc => 1, msg => 'Festellung definieren'} ) if ( !defined $daten->{todoinfo} or $daten->{todoinfo} eq "" );
return $self->render( json => { rc => 1, msg => 'ext fehlt'} ) if ( !defined $daten->{ext} );
my $sql = "UPDATE todo_master set
name = ?,
who = ?,
prozess = ?,
todoinfo = ?,
status = ?,
finishdate = ?,
closed = ?,
notes_master = ?,
targetdate_master = ?,
ext = ?
WHERE id = ?";
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $daten->{'name'},
$daten->{'who'},
$daten->{'prozess'},
$daten->{'todoinfo'},
$daten->{'status'},
$daten->{'finishdate'},
$daten->{'closed'},
$daten->{'notes_master'},
$daten->{'targetdate_master'},
$daten->{'ext'},
$todoid);
return $self->render(json => { rc => $rc, msg => $msg });
}
sub insert_file {
my $self = shift;
my $file = $self->param("file");
my $todoid = $self->param("id");
my $info = $self->param("info");
return $self->render(json => { rc => 1, msg => "Die todoid fehlt"} ) if ( $todoid eq "" ) ;
return $self->render(json => { rc => 1, msg => "Die Info fehlt"} ) if ( $info eq "" ) ;
return $self->render(json => { rc => 1, msg => 'file'}) if (!defined $file->asset->slurp or $file->asset->slurp eq "");
return $self->render(json => { rc => 1, msg => 'name'}) if (!defined $file->filename or $file->filename eq "");
return $self->render(json => { rc => 1, msg => 'type'}) if (!defined $file->headers->content_type or $file->headers->content_type eq "");
return $self->render(json => { rc => 1, msg => 'size'}) if (!defined $file->size or $file->size eq "");
my $sql = "INSERT INTO todo_master_files (id, file, type, name, size, info) VALUES (?,?,?,?,?,?)";
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $todoid, $file->asset->slurp, $file->headers->content_type, $file->filename, $file->size, $info );
return $self->render(template => 'main/todo_main');
}
sub insert_datei {
my $self = shift;
my $daten = $self->req->json;
my $id = $self->stash("todoid");
return $self->render(json => { rc => 1, msg => "Die ID fehlt"} ) if ( $id eq "" ) ;
my $filebase64 = $daten->{file};
$filebase64 =~ s/data:$daten->{type};base64//;
my $file = decode_base64($filebase64);
my $sql = "INSERT INTO todo_master_files (id, file, type, name, size, info) VALUES (?,?,?,?,?,?)";
my ($rc, $msg ) = $self->dbxxx->query_res( $sql, $id, $file, $daten->{type}, $daten->{name}, $daten->{size}, $daten->{info});
# oder mit der zurückgegebenen id
# my ($rc, $msg, $insid ) = $self->dbkoma->query_inserted_id( $sql, $id, $file, $daten->{type}, $daten->{name}, $daten->{size}, $daten->{info});
return $self->render(json => { rc => $rc, msg => $msg });
}
sub deletefile {
my $self = shift;
my $id = $self->stash('idma');
return $self->render(json => { rc => 1, msg => "Die idma fehlt"}) if ( $id eq "" ) ;
my ($rc, $msg) = $self->dbxxx->query_res( "DELETE FROM todo_master_files WHERE idma = ?", $id);
return $self->render( json => { rc => $rc, msg => $msg });
}
1;

View File

@@ -0,0 +1,10 @@
package XxxApp::Controller::Menu;
use Mojo::Base 'Mojolicious::Controller';
sub jstreetemplate {
my $c = shift;
return;
}
1;