Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
trismegisto-services
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mauro Paolo Josue Zuñiga Mallqui
trismegisto-services
Commits
6bfb0336
Commit
6bfb0336
authored
Jan 20, 2024
by
Mauro Paolo Josue Zuñiga Mallqui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ADD] CAMBIO DE NOMBRE DE PROYECTO Y CONSOLE API Y DRIVE API (INCOMPLETO)
parent
c6b18f4a
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
672 additions
and
443 deletions
+672
-443
pom.xml
pom.xml
+33
-9
EmailApi.java
src/main/java/web/multitask/app/api/EmailApi.java
+0
-79
TestApi.java
src/main/java/web/multitask/app/api/TestApi.java
+0
-19
EmailConfig.java
src/main/java/web/multitask/app/config/EmailConfig.java
+0
-43
EmailService.java
src/main/java/web/multitask/app/service/EmailService.java
+0
-155
PDFService.java
src/main/java/web/multitask/app/service/PDFService.java
+0
-39
AppApplication.java
...ava/web/multitask/trismegistoservices/AppApplication.java
+3
-2
ServletInitializer.java
...web/multitask/trismegistoservices/ServletInitializer.java
+3
-2
AppApi.java
...in/java/web/multitask/trismegistoservices/api/AppApi.java
+3
-3
ConsoleApi.java
...ava/web/multitask/trismegistoservices/api/ConsoleApi.java
+47
-0
DriveApi.java
.../java/web/multitask/trismegistoservices/api/DriveApi.java
+35
-0
EmailApi.java
.../java/web/multitask/trismegistoservices/api/EmailApi.java
+79
-0
ExcelApi.java
.../java/web/multitask/trismegistoservices/api/ExcelApi.java
+1
-1
JWTokenApi.java
...ava/web/multitask/trismegistoservices/api/JWTokenApi.java
+4
-4
PDFApi.java
...in/java/web/multitask/trismegistoservices/api/PDFApi.java
+14
-9
UtilsApi.java
.../java/web/multitask/trismegistoservices/api/UtilsApi.java
+12
-7
DotEnvConfig.java
...eb/multitask/trismegistoservices/config/DotEnvConfig.java
+4
-3
EmailConfig.java
...web/multitask/trismegistoservices/config/EmailConfig.java
+43
-0
FilterConfig.java
...eb/multitask/trismegistoservices/config/FilterConfig.java
+2
-2
MVCConfig.java
...a/web/multitask/trismegistoservices/config/MVCConfig.java
+3
-6
SecurityConfig.java
.../multitask/trismegistoservices/config/SecurityConfig.java
+4
-4
WebSocketAuthorizationSecurityConfig.java
...services/config/WebSocketAuthorizationSecurityConfig.java
+1
-1
WebSocketConfig.java
...multitask/trismegistoservices/config/WebSocketConfig.java
+2
-3
MessageController.java
...ask/trismegistoservices/controller/MessageController.java
+3
-3
AuthChannelInterceptorAdapter.java
...megistoservices/filter/AuthChannelInterceptorAdapter.java
+3
-3
JWTokenFilter.java
...b/multitask/trismegistoservices/filter/JWTokenFilter.java
+3
-5
DriveRequest.java
...web/multitask/trismegistoservices/model/DriveRequest.java
+22
-0
EmailRequest.java
...web/multitask/trismegistoservices/model/EmailRequest.java
+1
-1
FileRequest.java
.../web/multitask/trismegistoservices/model/FileRequest.java
+1
-1
Message.java
...java/web/multitask/trismegistoservices/model/Message.java
+1
-1
Response.java
...ava/web/multitask/trismegistoservices/model/Response.java
+1
-1
Role.java
...in/java/web/multitask/trismegistoservices/model/Role.java
+1
-1
User.java
...in/java/web/multitask/trismegistoservices/model/User.java
+1
-1
EmailMysql.java
...a/web/multitask/trismegistoservices/mysql/EmailMysql.java
+1
-2
ProcedureMysql.java
...b/multitask/trismegistoservices/mysql/ProcedureMysql.java
+1
-1
UserRespository.java
...itask/trismegistoservices/repository/UserRespository.java
+4
-2
DriveService.java
...b/multitask/trismegistoservices/service/DriveService.java
+93
-0
EmailService.java
...b/multitask/trismegistoservices/service/EmailService.java
+155
-0
ExcelService.java
...b/multitask/trismegistoservices/service/ExcelService.java
+25
-15
PDFService.java
...web/multitask/trismegistoservices/service/PDFService.java
+48
-0
CommonUtils.java
.../web/multitask/trismegistoservices/utils/CommonUtils.java
+1
-4
DotEnvUtil.java
...a/web/multitask/trismegistoservices/utils/DotEnvUtil.java
+3
-2
JWTokenUtil.java
.../web/multitask/trismegistoservices/utils/JWTokenUtil.java
+2
-2
application.properties
src/main/resources/application.properties
+3
-3
Roboto-Regular.ttf
src/main/resources/fonts/Roboto-Regular.ttf
+0
-0
index.html
src/main/resources/static/index.html
+3
-2
AppApplicationTests.java
...eb/multitask/trismegistoservices/AppApplicationTests.java
+3
-2
No files found.
pom.xml
View file @
6bfb0336
...
@@ -9,10 +9,10 @@
...
@@ -9,10 +9,10 @@
<relativePath/>
<!-- lookup parent from repository -->
<relativePath/>
<!-- lookup parent from repository -->
</parent>
</parent>
<groupId>
web.multitask
</groupId>
<groupId>
web.multitask
</groupId>
<artifactId>
app
</artifactId>
<artifactId>
trismegistoservices
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<version>
0.0.1-SNAPSHOT
</version>
<packaging>
war
</packaging>
<packaging>
war
</packaging>
<name>
app
</name>
<name>
trismegistoservices
</name>
<description>
Multi Task Appliocation
</description>
<description>
Multi Task Appliocation
</description>
<properties>
<properties>
<java.version>
8
</java.version>
<java.version>
8
</java.version>
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-logging
</artifactId>
<artifactId>
spring-boot-starter-logging
</artifactId>
</exclusion>
</exclusion>
</exclusions>
</exclusions>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
...
@@ -149,18 +149,42 @@
...
@@ -149,18 +149,42 @@
<dependency>
<dependency>
<groupId>
com.itextpdf
</groupId>
<groupId>
com.itextpdf
</groupId>
<artifactId>
itextpdf
</artifactId>
<artifactId>
itextpdf
</artifactId>
<version>
5.4.0
</version>
<!-- or the latest version available -->
<version>
5.4.0
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
</dependency>
<!-- <dependency>-->
<dependency>
<!-- <groupId>org.apache.poi</groupId>-->
<groupId>
org.apache.poi
</groupId>
<!-- <artifactId>poi-ooxml</artifactId>-->
<artifactId>
poi-ooxml
</artifactId>
<!-- <version>5.2.3</version>-->
<version>
5.2.3
</version>
<!-- </dependency>-->
</dependency>
<dependency>
<groupId>
com.itextpdf
</groupId>
<artifactId>
html2pdf
</artifactId>
<version>
5.0.2
</version>
</dependency>
<!-- Google API client -->
<dependency>
<groupId>
com.google.api-client
</groupId>
<artifactId>
google-api-client
</artifactId>
<version>
2.0.0
</version>
</dependency>
<!-- Google OAuth client (Jetty) -->
<dependency>
<groupId>
com.google.oauth-client
</groupId>
<artifactId>
google-oauth-client-jetty
</artifactId>
<version>
1.34.1
</version>
</dependency>
<!-- Google Drive API -->
<dependency>
<groupId>
com.google.apis
</groupId>
<artifactId>
google-api-services-drive
</artifactId>
<version>
v3-rev20220815-2.0.0
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
<finalName>
app
</finalName>
<finalName>
app
</finalName>
...
...
src/main/java/web/multitask/app/api/EmailApi.java
deleted
100644 → 0
View file @
c6b18f4a
package
web
.
multitask
.
app
.
api
;
import
javax.mail.internet.MimeMessage
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
org.json.JSONObject
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RestController
;
import
web.multitask.app.model.EmailRequest
;
import
web.multitask.app.mysql.EmailMysql
;
import
web.multitask.app.service.EmailService
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
@RestController
@RequestMapping
(
"/email"
)
public
class
EmailApi
{
private
final
Dotenv
dotenv
;
private
final
EmailService
emailService
;
private
final
EmailMysql
emailMysql
;
public
EmailApi
(
EmailService
emailService
,
EmailMysql
emailMysql
,
Dotenv
dotenv
)
{
this
.
emailService
=
emailService
;
this
.
emailMysql
=
emailMysql
;
this
.
dotenv
=
dotenv
;
}
@RequestMapping
(
path
=
"/public/simple_generate"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
MediaType
.
MULTIPART_FORM_DATA_VALUE
})
public
ResponseEntity
<?>
simple
(
@ModelAttribute
EmailRequest
request
)
{
try
{
MimeMessage
message
=
emailService
.
simpleMessage
(
request
);
JSONObject
response
=
emailService
.
send
(
message
);
return
ResponseEntity
.
ok
(
response
.
toMap
());
}
catch
(
Exception
e
)
{
return
ResponseEntity
.
internalServerError
().
body
(
new
JSONObject
().
put
(
"message"
,
e
.
getMessage
()).
put
(
"status"
,
false
).
toMap
());
}
}
@RequestMapping
(
path
=
"/private/generate"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
MediaType
.
MULTIPART_FORM_DATA_VALUE
})
public
ResponseEntity
<?>
full
(
@ModelAttribute
EmailRequest
request
)
{
try
{
MimeMessage
message
=
emailService
.
htmlMessage
(
request
);
JSONObject
response
=
emailService
.
send
(
message
);
return
ResponseEntity
.
ok
(
response
.
toMap
());
}
catch
(
Exception
e
)
{
return
ResponseEntity
.
internalServerError
().
body
(
new
JSONObject
().
put
(
"message"
,
e
.
getMessage
()).
put
(
"status"
,
false
).
toMap
());
}
}
@RequestMapping
(
path
=
"/service/confirmation"
,
method
=
RequestMethod
.
POST
,
consumes
=
{
MediaType
.
MULTIPART_FORM_DATA_VALUE
})
public
ResponseEntity
<?>
template
(
@ModelAttribute
EmailRequest
request
)
{
try
{
String
URL
=
dotenv
.
get
(
"URL_CONFIRMATION"
);
assert
URL
!=
null
;
JSONObject
extra
=
request
.
getExtra
();
JSONObject
response
=
emailMysql
.
getHTMLTemplate
(
extra
);
if
(
response
.
getBoolean
(
"status"
)){
JSONObject
data
=
response
.
getJSONArray
(
"data"
).
getJSONObject
(
0
);
String
html
=
data
.
getString
(
"html"
);
html
=
html
.
replaceAll
(
"TOKEN"
,
extra
.
getString
(
"token"
));
html
=
html
.
replaceAll
(
"URL"
,
URL
);
request
.
setBody
(
html
);
MimeMessage
message
=
emailService
.
htmlMessage
(
request
);
JSONObject
responseEmail
=
emailService
.
send
(
message
);
return
ResponseEntity
.
ok
(
responseEmail
.
toMap
());
}
else
{
return
ResponseEntity
.
internalServerError
().
body
(
new
JSONObject
().
put
(
"message"
,
response
.
getString
(
"message"
)).
put
(
"status"
,
false
).
toMap
());
}
}
catch
(
Exception
e
)
{
return
ResponseEntity
.
internalServerError
().
body
(
new
JSONObject
().
put
(
"message"
,
e
.
getMessage
()).
put
(
"status"
,
false
).
toMap
());
}
}
}
\ No newline at end of file
src/main/java/web/multitask/app/api/TestApi.java
deleted
100644 → 0
View file @
c6b18f4a
package
web
.
multitask
.
app
.
api
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"test"
)
public
class
TestApi
{
@RequestMapping
(
"/user"
)
public
String
test
()
{
return
"user"
;
}
@RequestMapping
(
"/admin"
)
public
String
test2
()
{
return
"admin"
;
}
}
src/main/java/web/multitask/app/config/EmailConfig.java
deleted
100644 → 0
View file @
c6b18f4a
package
web
.
multitask
.
app
.
config
;
import
java.util.Properties
;
import
javax.mail.Session
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
io.github.cdimascio.dotenv.Dotenv
;
@Configuration
public
class
EmailConfig
{
Dotenv
dotenv
;
public
EmailConfig
(
Dotenv
dotenv
)
{
this
.
dotenv
=
dotenv
;
}
@Bean
public
Session
setSession
()
{
Properties
properties
=
new
Properties
();
String
enabled
=
dotenv
.
get
(
"EMAIL_STARTTLS_ENABLE"
);
String
email
=
dotenv
.
get
(
"EMAIL_CORREO"
);
String
password
=
dotenv
.
get
(
"EMAIL_PASSWORD"
);
String
port
=
dotenv
.
get
(
"EMAIL_PORT"
);
String
host
=
dotenv
.
get
(
"EMAIL_HOST"
);
properties
.
put
(
"mail.smtp.host"
,
host
);
properties
.
put
(
"mail.smtp.starttls.enable"
,
enabled
);
properties
.
put
(
"mail.smtp.port"
,
port
);
properties
.
put
(
"mail.smtp.mail.sender"
,
email
);
properties
.
put
(
"mail.smtp.password"
,
password
);
properties
.
put
(
"mail.smtp.user"
,
email
);
properties
.
put
(
"mail.smtp.auth"
,
enabled
);
properties
.
put
(
"mail.smtp.ssl.trust"
,
"smtp.gmail.com"
);
properties
.
put
(
"mail.smtp.socketFactory.port"
,
port
);
properties
.
put
(
"mail.smtp.socketFactory.class"
,
"javax.net.ssl.SSLSocketFactory"
);
properties
.
put
(
"mail.smtp.ssl.protocols"
,
"TLSv1.2"
);
return
Session
.
getDefaultInstance
(
properties
);
}
}
src/main/java/web/multitask/app/service/EmailService.java
deleted
100644 → 0
View file @
c6b18f4a
package
web
.
multitask
.
app
.
service
;
import
java.io.ByteArrayInputStream
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.util.Objects
;
import
java.util.Properties
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
javax.activation.DataHandler
;
import
javax.activation.FileDataSource
;
import
javax.mail.BodyPart
;
import
javax.mail.MessagingException
;
import
javax.mail.Multipart
;
import
javax.mail.Session
;
import
javax.mail.Transport
;
import
javax.mail.internet.AddressException
;
import
javax.mail.internet.InternetAddress
;
import
javax.mail.internet.MimeBodyPart
;
import
javax.mail.internet.MimeMessage
;
import
javax.mail.internet.MimeMultipart
;
import
org.json.JSONObject
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
web.multitask.app.model.EmailRequest
;
import
web.multitask.app.utils.CommonUtils
;
@Service
public
class
EmailService
{
Dotenv
dotenv
;
Session
session
;
CommonUtils
commonUtils
;
public
EmailService
(
Dotenv
dotenv
,
Session
session
,
CommonUtils
commonUtils
)
{
this
.
dotenv
=
dotenv
;
this
.
session
=
session
;
this
.
commonUtils
=
commonUtils
;
}
public
MimeMessage
htmlMessage
(
EmailRequest
request
)
throws
UnsupportedEncodingException
{
try
{
String
email
=
dotenv
.
get
(
"EMAIL_CORREO"
);
MimeMessage
message
=
new
MimeMessage
(
session
);
message
.
setFrom
(
new
InternetAddress
(
email
,
"FULLSERVICE APPLICATION"
));
message
.
setSender
(
new
InternetAddress
(
email
,
"FULLSERVICE APPLICATION"
));
message
.
setRecipients
(
MimeMessage
.
RecipientType
.
TO
,
buildRecipients
(
new
JSONObject
().
put
(
"to"
,
request
.
getTo
()),
"to"
));
if
(
request
.
getCc
()
!=
null
)
{
message
.
setRecipients
(
MimeMessage
.
RecipientType
.
CC
,
buildRecipients
(
new
JSONObject
().
put
(
"cc"
,
request
.
getCc
()),
"cc"
));
}
if
(
request
.
getBcc
()
!=
null
)
{
message
.
setRecipients
(
MimeMessage
.
RecipientType
.
BCC
,
buildRecipients
(
new
JSONObject
().
put
(
"bcc"
,
request
.
getBcc
()),
"bcc"
));
}
message
.
setSubject
(
request
.
getSubject
());
MimeBodyPart
texto
=
new
MimeBodyPart
();
texto
.
setContent
(
request
.
getBody
(),
"text/html; charset=utf-8"
);
MimeMultipart
multiParte
=
new
MimeMultipart
();
multiParte
.
addBodyPart
(
texto
);
try
{
String
file_folder
=
dotenv
.
get
(
"FILE_FOLDER"
);
MultipartFile
[]
files
=
request
.
getFiles
();
for
(
MultipartFile
file
:
files
)
{
BodyPart
adjunto
=
new
MimeBodyPart
();
String
fileName
=
file
.
getOriginalFilename
();
convertByteArrayToFile
(
file
.
getBytes
(),
fileName
,
file_folder
);
FileDataSource
fds
=
new
FileDataSource
(
file_folder
+
"/"
+
fileName
);
adjunto
.
setDataHandler
(
new
DataHandler
(
fds
));
adjunto
.
setFileName
(
fds
.
getName
());
multiParte
.
addBodyPart
(
adjunto
);
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
}
message
.
setContent
(
multiParte
);
return
message
;
}
catch
(
MessagingException
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
null
;
}
}
public
void
convertByteArrayToFile
(
byte
[]
byteArray
,
String
fileName
,
String
file_folder
){
try
(
FileOutputStream
fos
=
new
FileOutputStream
(
file_folder
+
"/"
+
fileName
))
{
fos
.
write
(
byteArray
);
}
catch
(
Exception
e
){
System
.
out
.
println
(
e
.
getMessage
());
}
}
public
MimeMessage
simpleMessage
(
EmailRequest
request
)
throws
UnsupportedEncodingException
{
try
{
MimeMessage
message
=
new
MimeMessage
(
session
);
String
email
=
dotenv
.
get
(
"EMAIL_CORREO"
);
message
.
setFrom
(
new
InternetAddress
(
email
,
"FULLSERVICE APPLICATION"
));
message
.
setSender
(
new
InternetAddress
(
email
,
"FULLSERVICE APPLICATION"
));
message
.
setRecipients
(
MimeMessage
.
RecipientType
.
TO
,
buildRecipients
(
new
JSONObject
().
put
(
"to"
,
request
.
getTo
()),
"to"
));
message
.
setSubject
(
request
.
getSubject
());
message
.
setText
(
request
.
getBody
());
return
message
;
}
catch
(
MessagingException
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
public
JSONObject
send
(
MimeMessage
message
)
{
try
{
Transport
t
=
session
.
getTransport
(
"smtp"
);
String
email
=
dotenv
.
get
(
"EMAIL_CORREO"
);
String
password
=
dotenv
.
get
(
"EMAIL_PASSWORD"
);
t
.
connect
(
email
,
password
);
t
.
sendMessage
(
message
,
message
.
getAllRecipients
());
t
.
close
();
// CommonUtils.deleteAllFiles();
boolean
deletes
=
commonUtils
.
deleteAllFiles
();
if
(!
deletes
){
System
.
out
.
println
(
"Error al eliminar los archivos"
);
}
return
new
JSONObject
().
put
(
"message"
,
"OK"
).
put
(
"status"
,
true
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
new
JSONObject
().
put
(
"message"
,
e
.
getMessage
()).
put
(
"status"
,
false
);
}
}
public
InternetAddress
[]
buildRecipients
(
JSONObject
json
,
String
type
)
{
String
[]
recipients
=
json
.
optString
(
type
).
split
(
","
);
InternetAddress
[]
addresses
=
new
InternetAddress
[
recipients
.
length
];
Stream
.
of
(
recipients
).
map
(
recipient
->
{
try
{
return
new
InternetAddress
(
recipient
);
}
catch
(
AddressException
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
null
;
}
}).
filter
(
Objects:
:
nonNull
).
collect
(
Collectors
.
toList
()).
toArray
(
addresses
);
return
addresses
;
}
}
\ No newline at end of file
src/main/java/web/multitask/app/service/PDFService.java
deleted
100644 → 0
View file @
c6b18f4a
package
web
.
multitask
.
app
.
service
;
import
com.itextpdf.io.source.ByteArrayOutputStream
;
import
com.itextpdf.text.PageSize
;
import
com.itextpdf.text.html.simpleparser.HTMLWorker
;
import
com.itextpdf.text.pdf.PdfWriter
;
import
org.springframework.core.io.ByteArrayResource
;
import
org.springframework.stereotype.Service
;
import
com.itextpdf.text.Document
;
import
java.io.StringReader
;
@Service
public
class
PDFService
{
public
ByteArrayResource
htmlToPdf
(
String
html
){
try
{
byte
[]
pdfBytes
=
generatePdf
(
html
);
return
new
ByteArrayResource
(
pdfBytes
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
null
;
}
}
private
byte
[]
generatePdf
(
String
htmlContent
)
throws
Exception
{
Document
document
=
new
Document
(
PageSize
.
A4
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
PdfWriter
writer
=
PdfWriter
.
getInstance
(
document
,
outputStream
);
document
.
open
();
HTMLWorker
htmlWorker
=
new
HTMLWorker
(
document
);
htmlWorker
.
parse
(
new
StringReader
(
htmlContent
));
document
.
close
();
writer
.
close
();
return
outputStream
.
toByteArray
();
}
}
\ No newline at end of file
src/main/java/web/multitask/
app
/AppApplication.java
→
src/main/java/web/multitask/
trismegistoservices
/AppApplication.java
View file @
6bfb0336
package
web
.
multitask
.
app
;
package
web
.
multitask
.
trismegistoservices
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
...
@@ -10,4 +10,4 @@ public class AppApplication {
...
@@ -10,4 +10,4 @@ public class AppApplication {
SpringApplication
.
run
(
AppApplication
.
class
,
args
);
SpringApplication
.
run
(
AppApplication
.
class
,
args
);
}
}
}
}
\ No newline at end of file
src/main/java/web/multitask/
app
/ServletInitializer.java
→
src/main/java/web/multitask/
trismegistoservices
/ServletInitializer.java
View file @
6bfb0336
package
web
.
multitask
.
app
;
package
web
.
multitask
.
trismegistoservices
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.web.servlet.support.SpringBootServletInitializer
;
import
org.springframework.boot.web.servlet.support.SpringBootServletInitializer
;
...
@@ -10,4 +10,4 @@ public class ServletInitializer extends SpringBootServletInitializer {
...
@@ -10,4 +10,4 @@ public class ServletInitializer extends SpringBootServletInitializer {
return
application
.
sources
(
AppApplication
.
class
);
return
application
.
sources
(
AppApplication
.
class
);
}
}
}
}
\ No newline at end of file
src/main/java/web/multitask/
app
/api/AppApi.java
→
src/main/java/web/multitask/
trismegistoservices
/api/AppApi.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
api
;
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
web.multitask.
app
.mysql.ProcedureMysql
;
import
web.multitask.
trismegistoservices
.mysql.ProcedureMysql
;
import
web.multitask.
app
.repository.UserRespository
;
import
web.multitask.
trismegistoservices
.repository.UserRespository
;
@RestController
@RestController
@CrossOrigin
(
"*"
)
@CrossOrigin
(
"*"
)
...
...
src/main/java/web/multitask/trismegistoservices/api/ConsoleApi.java
0 → 100644
View file @
6bfb0336
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.json.JSONObject
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
@RestController
@CrossOrigin
(
origins
=
"*"
)
@RequestMapping
(
"console"
)
public
class
ConsoleApi
{
@PostMapping
(
"/public/command"
)
public
ResponseEntity
<?>
pull
(
@RequestBody
String
jsonBody
)
{
JSONObject
json
=
new
JSONObject
(
jsonBody
);
String
command
=
json
.
optString
(
"command"
,
""
);
if
(
json
.
optBoolean
(
"sudo"
,
false
)){
command
=
"echo '"
+
json
.
optString
(
"password"
,
""
)+
"' | sudo -S "
+
command
;
}
try
{
ProcessBuilder
processBuilder
=
new
ProcessBuilder
(
"bash"
,
"-c"
,
command
)
.
directory
(
new
File
(
json
.
optString
(
"path"
,
""
)))
.
redirectErrorStream
(
true
);
Process
process
=
processBuilder
.
start
();
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
process
.
getInputStream
()));
StringBuilder
output
=
new
StringBuilder
();
String
line
;
while
((
line
=
reader
.
readLine
())
!=
null
)
{
output
.
append
(
line
).
append
(
"\n"
);
}
int
exitCode
=
process
.
waitFor
();
return
ResponseEntity
.
ok
(
"Exit Code: "
+
exitCode
+
"\n"
+
output
.
toString
());
}
catch
(
IOException
|
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
\ No newline at end of file
src/main/java/web/multitask/trismegistoservices/api/DriveApi.java
0 → 100644
View file @
6bfb0336
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
web.multitask.trismegistoservices.model.DriveRequest
;
import
web.multitask.trismegistoservices.service.DriveService
;
@RestController
@CrossOrigin
(
origins
=
"*"
)
@RequestMapping
(
"drive"
)
public
class
DriveApi
{
@Autowired
private
DriveService
driveService
;
@PostMapping
(
path
=
"/public/upload"
,
consumes
=
{
MediaType
.
MULTIPART_FORM_DATA_VALUE
})
public
ResponseEntity
<?>
uploadFile
(
@ModelAttribute
DriveRequest
request
)
{
String
folder_id
=
request
.
getFolder_id
();
String
file_name
=
request
.
getFile_name
();
String
base64_name
=
request
.
getBase64_name
();
String
base64_file
=
request
.
getBase64_file
();
System
.
out
.
println
(
request
.
getFile
().
getOriginalFilename
());
return
null
;
}
}
\ No newline at end of file
src/main/java/web/multitask/trismegistoservices/api/EmailApi.java
0 → 100644
View file @
6bfb0336
// package web.multitask.app.api;
// import javax.mail.internet.MimeMessage;
// import io.github.cdimascio.dotenv.Dotenv;
// import org.json.JSONObject;
// import org.springframework.http.MediaType;
// import org.springframework.http.ResponseEntity;
// import org.springframework.web.bind.annotation.ModelAttribute;
// import org.springframework.web.bind.annotation.RestController;
// import web.multitask.app.model.EmailRequest;
// import web.multitask.app.mysql.EmailMysql;
// import web.multitask.app.service.EmailService;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RequestMethod;
// @RestController
// @RequestMapping("/email")
// public class EmailApi {
// private final Dotenv dotenv;
// private final EmailService emailService;
// private final EmailMysql emailMysql;
// public EmailApi(EmailService emailService, EmailMysql emailMysql, Dotenv dotenv) {
// this.emailService = emailService;
// this.emailMysql = emailMysql;
// this.dotenv = dotenv;
// }
// @RequestMapping(path = "/public/simple_generate", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
// public ResponseEntity<?> simple(@ModelAttribute EmailRequest request) {
// try {
// MimeMessage message = emailService.simpleMessage(request);
// JSONObject response = emailService.send(message);
// return ResponseEntity.ok(response.toMap());
// } catch (Exception e) {
// return ResponseEntity.internalServerError().body(new JSONObject().put("message", e.getMessage()).put("status", false).toMap());
// }
// }
// @RequestMapping(path = "/private/generate", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
// public ResponseEntity<?> full(@ModelAttribute EmailRequest request) {
// try {
// MimeMessage message = emailService.htmlMessage(request);
// JSONObject response = emailService.send(message);
// return ResponseEntity.ok(response.toMap());
// } catch (Exception e) {
// return ResponseEntity.internalServerError().body(new JSONObject().put("message", e.getMessage()).put("status", false).toMap());
// }
// }
// @RequestMapping(path = "/service/confirmation", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
// public ResponseEntity<?> template(@ModelAttribute EmailRequest request) {
// try {
// String URL = dotenv.get("URL_CONFIRMATION");
// assert URL != null;
// JSONObject extra = request.getExtra();
// JSONObject response = emailMysql.getHTMLTemplate(extra);
// if(response.getBoolean("status")){
// JSONObject data = response.getJSONArray("data").getJSONObject(0);
// String html = data.getString("html");
// html = html.replaceAll("TOKEN", extra.getString("token"));
// html = html.replaceAll("URL", URL);
// request.setBody(html);
// MimeMessage message = emailService.htmlMessage(request);
// JSONObject responseEmail = emailService.send(message);
// return ResponseEntity.ok(responseEmail.toMap());
// }else{
// return ResponseEntity.internalServerError().body(new JSONObject().put("message", response.getString("message")).put("status", false).toMap());
// }
// } catch (Exception e) {
// return ResponseEntity.internalServerError().body(new JSONObject().put("message", e.getMessage()).put("status", false).toMap());
// }
// }
// }
\ No newline at end of file
src/main/java/web/multitask/
app
/api/ExcelApi.java
→
src/main/java/web/multitask/
trismegistoservices
/api/ExcelApi.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
api
;
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
...
...
src/main/java/web/multitask/
app
/api/JWTokenApi.java
→
src/main/java/web/multitask/
trismegistoservices
/api/JWTokenApi.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
api
;
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
web.multitask.
app
.model.User
;
import
web.multitask.
trismegistoservices
.model.User
;
import
web.multitask.
app
.repository.UserRespository
;
import
web.multitask.
trismegistoservices
.repository.UserRespository
;
import
web.multitask.
app
.utils.JWTokenUtil
;
import
web.multitask.
trismegistoservices
.utils.JWTokenUtil
;
import
java.math.BigInteger
;
import
java.math.BigInteger
;
import
java.util.Objects
;
import
java.util.Objects
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
src/main/java/web/multitask/
app
/api/PDFApi.java
→
src/main/java/web/multitask/
trismegistoservices
/api/PDFApi.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
api
;
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.core.io.ByteArrayResource
;
import
org.springframework.core.io.ByteArrayResource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
web.multitask.
app
.service.PDFService
;
import
web.multitask.
trismegistoservices
.service.PDFService
;
@RestController
@RestController
@CrossOrigin
(
origins
=
"*"
)
@CrossOrigin
(
origins
=
"*"
)
...
@@ -20,19 +20,24 @@ public class PDFApi {
...
@@ -20,19 +20,24 @@ public class PDFApi {
}
}
@PostMapping
(
"/public/html"
)
@PostMapping
(
"/public/html"
)
public
ResponseEntity
<
Resource
>
htmlToPdf
(
@RequestBody
String
json
)
{
public
ResponseEntity
<
?
>
htmlToPdf
(
@RequestBody
String
json
)
{
try
{
try
{
JSONObject
bodyJson
=
new
JSONObject
(
json
);
JSONObject
bodyJson
=
new
JSONObject
(
json
);
HttpHeaders
headers
=
new
HttpHeaders
();
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
add
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
bodyJson
.
getString
(
"name"
));
headers
.
add
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
bodyJson
.
getString
(
"name"
));
ByteArrayResource
resource
=
pdfService
.
htmlToPdf
(
bodyJson
.
getString
(
"html"
));
ByteArrayResource
resource
=
pdfService
.
htmlToPdf
(
bodyJson
.
getString
(
"html"
));
return
ResponseEntity
.
ok
().
headers
(
headers
)
MediaType
mediaType
=
org
.
springframework
.
http
.
MediaType
.
APPLICATION_PDF
;
.
contentLength
(
resource
.
contentLength
())
if
(
mediaType
!=
null
)
{
.
contentType
(
org
.
springframework
.
http
.
MediaType
.
APPLICATION_PDF
)
return
ResponseEntity
.
ok
().
headers
(
headers
)
.
body
(
resource
);
.
contentLength
(
resource
.
contentLength
())
.
contentType
(
mediaType
)
.
body
(
resource
);
}
else
{
return
ResponseEntity
.
badRequest
().
body
(
"Error"
);
}
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
System
.
out
.
println
(
e
);
System
.
out
.
println
(
e
);
return
ResponseEntity
.
badRequest
().
body
(
null
);
return
ResponseEntity
.
internalServerError
().
body
(
e
.
getMessage
()
);
}
}
}
}
...
...
src/main/java/web/multitask/
app
/api/UtilsApi.java
→
src/main/java/web/multitask/
trismegistoservices
/api/UtilsApi.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
api
;
package
web
.
multitask
.
trismegistoservices
.
api
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
...
@@ -9,8 +9,8 @@ import org.springframework.http.MediaType;
...
@@ -9,8 +9,8 @@ import org.springframework.http.MediaType;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
web.multitask.
app
.model.FileRequest
;
import
web.multitask.
trismegistoservices
.model.FileRequest
;
import
web.multitask.
app
.utils.CommonUtils
;
import
web.multitask.
trismegistoservices
.utils.CommonUtils
;
import
java.io.File
;
import
java.io.File
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -52,10 +52,15 @@ public class UtilsApi {
...
@@ -52,10 +52,15 @@ public class UtilsApi {
HttpHeaders
headers
=
new
HttpHeaders
();
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
add
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
bodyJson
.
getString
(
"name"
));
headers
.
add
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
bodyJson
.
getString
(
"name"
));
File
outputFile
=
commonUtils
.
convertToFile
(
bodyJson
.
getString
(
"base64"
),
bodyJson
.
getString
(
"name"
));
File
outputFile
=
commonUtils
.
convertToFile
(
bodyJson
.
getString
(
"base64"
),
bodyJson
.
getString
(
"name"
));
Resource
resource
=
new
FileSystemResource
(
outputFile
);
if
(
outputFile
!=
null
)
{
return
ResponseEntity
.
ok
()
Resource
resource
=
new
FileSystemResource
(
outputFile
);
.
headers
(
headers
)
return
ResponseEntity
.
ok
()
.
body
(
resource
);
.
headers
(
headers
)
.
body
(
resource
);
}
else
{
return
ResponseEntity
.
badRequest
().
body
(
null
);
}
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
System
.
out
.
println
(
e
);
System
.
out
.
println
(
e
);
return
ResponseEntity
.
badRequest
().
body
(
null
);
return
ResponseEntity
.
badRequest
().
body
(
null
);
...
...
src/main/java/web/multitask/
app
/config/DotEnvConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/DotEnvConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
web.multitask.
app
.utils.DotEnvUtil
;
import
web.multitask.
trismegistoservices
.utils.DotEnvUtil
;
@Configuration
@Configuration
public
class
DotEnvConfig
{
public
class
DotEnvConfig
{
...
@@ -14,4 +14,4 @@ public class DotEnvConfig {
...
@@ -14,4 +14,4 @@ public class DotEnvConfig {
return
Dotenv
.
configure
().
directory
(
DotEnvUtil
.
getDotEnvPath
(
"fullservice"
)).
load
();
return
Dotenv
.
configure
().
directory
(
DotEnvUtil
.
getDotEnvPath
(
"fullservice"
)).
load
();
}
}
}
}
\ No newline at end of file
src/main/java/web/multitask/trismegistoservices/config/EmailConfig.java
0 → 100644
View file @
6bfb0336
// package web.multitask.app.config;
// import java.util.Properties;
// import javax.mail.Session;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
// import io.github.cdimascio.dotenv.Dotenv;
// @Configuration
// public class EmailConfig {
// Dotenv dotenv;
// public EmailConfig(Dotenv dotenv) {
// this.dotenv = dotenv;
// }
// @Bean
// public Session setSession() {
// Properties properties = new Properties();
// String enabled = dotenv.get("EMAIL_STARTTLS_ENABLE");
// String email = dotenv.get("EMAIL_CORREO");
// String password = dotenv.get("EMAIL_PASSWORD");
// String port = dotenv.get("EMAIL_PORT");
// String host = dotenv.get("EMAIL_HOST");
// properties.put("mail.smtp.host", host);
// properties.put("mail.smtp.starttls.enable", enabled);
// properties.put("mail.smtp.port", port);
// properties.put("mail.smtp.mail.sender", email);
// properties.put("mail.smtp.password", password);
// properties.put("mail.smtp.user", email);
// properties.put("mail.smtp.auth", enabled);
// properties.put("mail.smtp.ssl.trust", "smtp.gmail.com");
// properties.put("mail.smtp.socketFactory.port", port);
// properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// properties.put("mail.smtp.ssl.protocols", "TLSv1.2");
// return Session.getDefaultInstance(properties);
// }
// }
src/main/java/web/multitask/
app
/config/FilterConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/FilterConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
web.multitask.
app
.filter.JWTokenFilter
;
import
web.multitask.
trismegistoservices
.filter.JWTokenFilter
;
@Configuration
@Configuration
public
class
FilterConfig
{
public
class
FilterConfig
{
...
...
src/main/java/web/multitask/
app
/config/MVCConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/MVCConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.databind.PropertyNamingStrategy
;
import
org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.lang.NonNull
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
...
@@ -12,7 +9,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
...
@@ -12,7 +9,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
public
class
MVCConfig
public
class
MVCConfig
implements
WebMvcConfigurer
{
implements
WebMvcConfigurer
{
@Override
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
public
void
addCorsMappings
(
@NonNull
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
registry
.
addMapping
(
"/**"
)
.
allowedMethods
(
"HEAD"
,
"GET"
,
"PUT"
,
"POST"
,
"DELETE"
,
"PATCH"
);
.
allowedMethods
(
"HEAD"
,
"GET"
,
"PUT"
,
"POST"
,
"DELETE"
,
"PATCH"
);
}
}
...
...
src/main/java/web/multitask/
app
/config/SecurityConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/SecurityConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
...
@@ -17,9 +17,9 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
...
@@ -17,9 +17,9 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
import
org.springframework.web.filter.CorsFilter
;
import
web.multitask.
app
.filter.JWTokenFilter
;
import
web.multitask.
trismegistoservices
.filter.JWTokenFilter
;
import
web.multitask.
app
.repository.UserRespository
;
import
web.multitask.
trismegistoservices
.repository.UserRespository
;
import
web.multitask.
app
.utils.JWTokenUtil
;
import
web.multitask.
trismegistoservices
.utils.JWTokenUtil
;
@Configuration
@Configuration
@EnableWebSecurity
@EnableWebSecurity
...
...
src/main/java/web/multitask/
app
/config/WebSocketAuthorizationSecurityConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/WebSocketAuthorizationSecurityConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry
;
import
org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry
;
...
...
src/main/java/web/multitask/
app
/config/WebSocketConfig.java
→
src/main/java/web/multitask/
trismegistoservices
/config/WebSocketConfig.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
config
;
package
web
.
multitask
.
trismegistoservices
.
config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.messaging.simp.config.ChannelRegistration
;
import
org.springframework.messaging.simp.config.ChannelRegistration
;
import
org.springframework.messaging.simp.config.MessageBrokerRegistry
;
import
org.springframework.messaging.simp.config.MessageBrokerRegistry
;
import
org.springframework.messaging.support.ChannelInterceptor
;
import
org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker
;
import
org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker
;
import
org.springframework.web.socket.config.annotation.StompEndpointRegistry
;
import
org.springframework.web.socket.config.annotation.StompEndpointRegistry
;
import
org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer
;
import
org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer
;
import
web.multitask.
app
.filter.AuthChannelInterceptorAdapter
;
import
web.multitask.
trismegistoservices
.filter.AuthChannelInterceptorAdapter
;
@Configuration
@Configuration
@EnableWebSocketMessageBroker
@EnableWebSocketMessageBroker
...
...
src/main/java/web/multitask/
app
/controller/MessageController.java
→
src/main/java/web/multitask/
trismegistoservices
/controller/MessageController.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
controller
;
package
web
.
multitask
.
trismegistoservices
.
controller
;
import
org.springframework.messaging.handler.annotation.MessageMapping
;
import
org.springframework.messaging.handler.annotation.MessageMapping
;
import
org.springframework.messaging.handler.annotation.SendTo
;
import
org.springframework.messaging.handler.annotation.SendTo
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
web.multitask.
app
.model.Message
;
import
web.multitask.
trismegistoservices
.model.Message
;
import
web.multitask.
app
.model.Response
;
import
web.multitask.
trismegistoservices
.model.Response
;
import
java.util.Date
;
import
java.util.Date
;
...
...
src/main/java/web/multitask/
app
/filter/AuthChannelInterceptorAdapter.java
→
src/main/java/web/multitask/
trismegistoservices
/filter/AuthChannelInterceptorAdapter.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
filter
;
package
web
.
multitask
.
trismegistoservices
.
filter
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
...
@@ -12,8 +12,8 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
...
@@ -12,8 +12,8 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.LinkedMultiValueMap
;
import
web.multitask.
app
.repository.UserRespository
;
import
web.multitask.
trismegistoservices
.repository.UserRespository
;
import
web.multitask.
app
.utils.JWTokenUtil
;
import
web.multitask.
trismegistoservices
.utils.JWTokenUtil
;
import
java.util.Objects
;
import
java.util.Objects
;
...
...
src/main/java/web/multitask/
app
/filter/JWTokenFilter.java
→
src/main/java/web/multitask/
trismegistoservices
/filter/JWTokenFilter.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
filter
;
package
web
.
multitask
.
trismegistoservices
.
filter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.FilterChain
;
import
javax.servlet.ServletException
;
import
javax.servlet.ServletException
;
...
@@ -17,10 +17,8 @@ import org.springframework.stereotype.Component;
...
@@ -17,10 +17,8 @@ import org.springframework.stereotype.Component;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
org.springframework.web.filter.OncePerRequestFilter
;
import
io.jsonwebtoken.io.IOException
;
import
io.jsonwebtoken.io.IOException
;
import
web.multitask.app.repository.UserRespository
;
import
web.multitask.trismegistoservices.repository.UserRespository
;
import
web.multitask.app.utils.JWTokenUtil
;
import
web.multitask.trismegistoservices.utils.JWTokenUtil
;
import
java.util.Enumeration
;
@Component
@Component
@Order
(
1
)
@Order
(
1
)
...
...
src/main/java/web/multitask/trismegistoservices/model/DriveRequest.java
0 → 100644
View file @
6bfb0336
package
web
.
multitask
.
trismegistoservices
.
model
;
import
org.springframework.web.multipart.MultipartFile
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
@Getter
@Setter
@NoArgsConstructor
public
class
DriveRequest
{
private
String
folder_id
;
private
String
file_name
;
private
MultipartFile
file
;
private
String
base64_name
;
private
String
base64_file
;
}
\ No newline at end of file
src/main/java/web/multitask/
app
/model/EmailRequest.java
→
src/main/java/web/multitask/
trismegistoservices
/model/EmailRequest.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
src/main/java/web/multitask/
app
/model/FileRequest.java
→
src/main/java/web/multitask/
trismegistoservices
/model/FileRequest.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
...
...
src/main/java/web/multitask/
app
/model/Message.java
→
src/main/java/web/multitask/
trismegistoservices
/model/Message.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Getter
;
...
...
src/main/java/web/multitask/
app
/model/Response.java
→
src/main/java/web/multitask/
trismegistoservices
/model/Response.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
...
...
src/main/java/web/multitask/
app
/model/Role.java
→
src/main/java/web/multitask/
trismegistoservices
/model/Role.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
lombok.Data
;
import
lombok.Data
;
...
...
src/main/java/web/multitask/
app
/model/User.java
→
src/main/java/web/multitask/
trismegistoservices
/model/User.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
model
;
package
web
.
multitask
.
trismegistoservices
.
model
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
lombok.*
;
import
lombok.*
;
...
...
src/main/java/web/multitask/
app
/mysql/EmailMysql.java
→
src/main/java/web/multitask/
trismegistoservices
/mysql/EmailMysql.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
mysql
;
package
web
.
multitask
.
trismegistoservices
.
mysql
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
web.multitask.app.utils.JWTokenUtil
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
...
src/main/java/web/multitask/
app
/mysql/ProcedureMysql.java
→
src/main/java/web/multitask/
trismegistoservices
/mysql/ProcedureMysql.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
mysql
;
package
web
.
multitask
.
trismegistoservices
.
mysql
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
...
...
src/main/java/web/multitask/
app
/repository/UserRespository.java
→
src/main/java/web/multitask/
trismegistoservices
/repository/UserRespository.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
repository
;
package
web
.
multitask
.
trismegistoservices
.
repository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
web.multitask.
app
.model.User
;
import
web.multitask.
trismegistoservices
.model.User
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
UserRespository
extends
JpaRepository
<
User
,
Long
>
{
public
interface
UserRespository
extends
JpaRepository
<
User
,
Long
>
{
UserDetails
findByUsername
(
String
username
)
UserDetails
findByUsername
(
String
username
)
...
...
src/main/java/web/multitask/trismegistoservices/service/DriveService.java
0 → 100644
View file @
6bfb0336
package
web
.
multitask
.
trismegistoservices
.
service
;
import
java.io.ByteArrayInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.security.GeneralSecurityException
;
import
java.util.Collections
;
import
java.util.List
;
import
org.json.JSONObject
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.google.api.client.auth.oauth2.Credential
;
import
com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp
;
import
com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver
;
import
com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow
;
import
com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets
;
import
com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
;
import
com.google.api.client.http.InputStreamContent
;
import
com.google.api.client.http.javanet.NetHttpTransport
;
import
com.google.api.client.json.JsonFactory
;
import
com.google.api.client.json.gson.GsonFactory
;
import
com.google.api.client.util.store.FileDataStoreFactory
;
import
com.google.api.services.drive.Drive
;
import
com.google.api.services.drive.DriveScopes
;
import
com.google.api.services.drive.model.File
;
@Component
public
class
DriveService
{
private
static
final
String
APPLICATION_NAME
=
"FullService Application"
;
private
static
final
JsonFactory
JSON_FACTORY
=
GsonFactory
.
getDefaultInstance
();
private
static
final
String
TOKENS_DIRECTORY_PATH
=
"tokens"
;
private
static
final
List
<
String
>
SCOPES
=
Collections
.
singletonList
(
DriveScopes
.
DRIVE_FILE
);
private
static
final
String
CREDENTIALS_FILE_PATH
=
"./credentials.json"
;
private
static
Credential
getCredentials
(
final
NetHttpTransport
HTTP_TRANSPORT
)
throws
IOException
{
InputStream
in
=
DriveService
.
class
.
getResourceAsStream
(
CREDENTIALS_FILE_PATH
);
if
(
in
==
null
)
{
throw
new
FileNotFoundException
(
"Resource not found: "
+
CREDENTIALS_FILE_PATH
);
}
GoogleClientSecrets
clientSecrets
=
GoogleClientSecrets
.
load
(
JSON_FACTORY
,
new
InputStreamReader
(
in
));
GoogleAuthorizationCodeFlow
flow
=
new
GoogleAuthorizationCodeFlow
.
Builder
(
HTTP_TRANSPORT
,
JSON_FACTORY
,
clientSecrets
,
SCOPES
)
.
setDataStoreFactory
(
new
FileDataStoreFactory
(
new
java
.
io
.
File
(
TOKENS_DIRECTORY_PATH
)))
.
setAccessType
(
"offline"
)
.
build
();
LocalServerReceiver
receiver
=
new
LocalServerReceiver
.
Builder
().
setPort
(
8888
).
build
();
Credential
credential
=
new
AuthorizationCodeInstalledApp
(
flow
,
receiver
).
authorize
(
"user"
);
return
credential
;
}
public
Drive
getInstance
()
throws
GeneralSecurityException
,
IOException
{
// Build a new authorized API client service.
final
NetHttpTransport
HTTP_TRANSPORT
=
GoogleNetHttpTransport
.
newTrustedTransport
();
Drive
service
=
new
Drive
.
Builder
(
HTTP_TRANSPORT
,
JSON_FACTORY
,
getCredentials
(
HTTP_TRANSPORT
))
.
setApplicationName
(
APPLICATION_NAME
)
.
build
();
return
service
;
}
public
String
uploadFile
(
String
folder_id
,
String
file_name
,
MultipartFile
file
,
JSONObject
base64
)
{
try
{
System
.
out
.
println
(
file
.
getOriginalFilename
());
String
folderId
=
folder_id
;
if
(
null
!=
file
)
{
File
fileMetadata
=
new
File
();
fileMetadata
.
setParents
(
Collections
.
singletonList
(
folderId
));
fileMetadata
.
setName
(
file
.
getOriginalFilename
());
File
uploadFile
=
getInstance
()
.
files
()
.
create
(
fileMetadata
,
new
InputStreamContent
(
file
.
getContentType
(),
new
ByteArrayInputStream
(
file
.
getBytes
()))
)
.
setFields
(
"id"
).
execute
();
System
.
out
.
println
(
uploadFile
);
return
uploadFile
.
getId
();
}
}
catch
(
Exception
e
)
{
System
.
out
.
printf
(
"Error: "
+
e
);
}
return
null
;
}
}
\ No newline at end of file
src/main/java/web/multitask/trismegistoservices/service/EmailService.java
0 → 100644
View file @
6bfb0336
// package web.multitask.app.service;
// import java.io.ByteArrayInputStream;
// import java.io.File;
// import java.io.FileInputStream;
// import java.io.FileNotFoundException;
// import java.io.FileOutputStream;
// import java.io.IOException;
// import java.io.InputStream;
// import java.io.UnsupportedEncodingException;
// import java.util.Objects;
// import java.util.Properties;
// import java.util.stream.Collectors;
// import java.util.stream.Stream;
// import javax.activation.DataHandler;
// import javax.activation.FileDataSource;
// import javax.mail.BodyPart;
// import javax.mail.MessagingException;
// import javax.mail.Multipart;
// import javax.mail.Session;
// import javax.mail.Transport;
// import javax.mail.internet.AddressException;
// import javax.mail.internet.InternetAddress;
// import javax.mail.internet.MimeBodyPart;
// import javax.mail.internet.MimeMessage;
// import javax.mail.internet.MimeMultipart;
// import org.json.JSONObject;
// import org.springframework.stereotype.Service;
// import org.springframework.web.multipart.MultipartFile;
// import io.github.cdimascio.dotenv.Dotenv;
// import web.multitask.app.model.EmailRequest;
// import web.multitask.app.utils.CommonUtils;
// @Service
// public class EmailService {
// Dotenv dotenv;
// Session session;
// CommonUtils commonUtils;
// public EmailService(Dotenv dotenv, Session session, CommonUtils commonUtils) {
// this.dotenv = dotenv;
// this.session = session;
// this.commonUtils = commonUtils;
// }
// public MimeMessage htmlMessage(EmailRequest request) throws UnsupportedEncodingException {
// try {
// String email = dotenv.get("EMAIL_CORREO");
// MimeMessage message = new MimeMessage(session);
// message.setFrom(new InternetAddress(email, "FULLSERVICE APPLICATION"));
// message.setSender(new InternetAddress(email, "FULLSERVICE APPLICATION"));
// message.setRecipients(MimeMessage.RecipientType.TO,
// buildRecipients(new JSONObject().put("to", request.getTo()), "to"));
// if (request.getCc() != null) {
// message.setRecipients(MimeMessage.RecipientType.CC,
// buildRecipients(new JSONObject().put("cc", request.getCc()), "cc"));
// }
// if (request.getBcc() != null) {
// message.setRecipients(MimeMessage.RecipientType.BCC,
// buildRecipients(new JSONObject().put("bcc", request.getBcc()), "bcc"));
// }
// message.setSubject(request.getSubject());
// MimeBodyPart texto = new MimeBodyPart();
// texto.setContent(request.getBody(), "text/html; charset=utf-8");
// MimeMultipart multiParte = new MimeMultipart();
// multiParte.addBodyPart(texto);
// try {
// String file_folder = dotenv.get("FILE_FOLDER");
// MultipartFile[] files = request.getFiles();
// for (MultipartFile file : files) {
// BodyPart adjunto = new MimeBodyPart();
// String fileName = file.getOriginalFilename();
// convertByteArrayToFile(file.getBytes(), fileName, file_folder);
// FileDataSource fds = new FileDataSource(file_folder +"/"+ fileName);
// adjunto.setDataHandler(new DataHandler(fds));
// adjunto.setFileName(fds.getName());
// multiParte.addBodyPart(adjunto);
// }
// } catch (Exception e) {
// System.out.println(e.getMessage());
// }
// message.setContent(multiParte);
// return message;
// } catch (MessagingException e) {
// System.out.println(e.getMessage());
// return null;
// }
// }
// public void convertByteArrayToFile (byte[] byteArray, String fileName, String file_folder){
// try (FileOutputStream fos = new FileOutputStream(file_folder +"/"+ fileName)) {
// fos.write(byteArray);
// }catch(Exception e){
// System.out.println(e.getMessage());
// }
// }
// public MimeMessage simpleMessage(EmailRequest request) throws UnsupportedEncodingException {
// try {
// MimeMessage message = new MimeMessage(session);
// String email = dotenv.get("EMAIL_CORREO");
// message.setFrom(new InternetAddress(email, "FULLSERVICE APPLICATION"));
// message.setSender(new InternetAddress(email, "FULLSERVICE APPLICATION"));
// message.setRecipients(MimeMessage.RecipientType.TO,
// buildRecipients(new JSONObject().put("to", request.getTo()), "to"));
// message.setSubject(request.getSubject());
// message.setText(request.getBody());
// return message;
// } catch (MessagingException e) {
// e.printStackTrace();
// return null;
// }
// }
// public JSONObject send(MimeMessage message) {
// try {
// Transport t = session.getTransport("smtp");
// String email = dotenv.get("EMAIL_CORREO");
// String password = dotenv.get("EMAIL_PASSWORD");
// t.connect(email, password);
// t.sendMessage(message, message.getAllRecipients());
// t.close();
// // CommonUtils.deleteAllFiles();
// boolean deletes = commonUtils.deleteAllFiles();
// if(!deletes){
// System.out.println("Error al eliminar los archivos");
// }
// return new JSONObject().put("message", "OK").put("status", true);
// } catch (Exception e) {
// System.out.println(e.getMessage());
// return new JSONObject().put("message", e.getMessage()).put("status", false);
// }
// }
// public InternetAddress[] buildRecipients(JSONObject json, String type) {
// String[] recipients = json.optString(type).split(",");
// InternetAddress[] addresses = new InternetAddress[recipients.length];
// Stream.of(recipients).map(recipient -> {
// try {
// return new InternetAddress(recipient);
// } catch (AddressException e) {
// System.out.println(e.getMessage());
// return null;
// }
// }).filter(Objects::nonNull).collect(Collectors.toList()).toArray(addresses);
// return addresses;
// }
// }
\ No newline at end of file
src/main/java/web/multitask/
app
/service/ExcelService.java
→
src/main/java/web/multitask/
trismegistoservices
/service/ExcelService.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
service
;
package
web
.
multitask
.
trismegistoservices
.
service
;
//
//import lombok.var;
import
org.springframework.stereotype.Service
;
//import org.apache.poi.ss.util.CellRangeAddress;
//import org.apache.poi.xssf.usermodel.XSSFRow;
//import org.apache.poi.xssf.usermodel.XSSFSheet;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.json.JSONArray;
//import org.json.JSONObject;
//import org.springframework.stereotype.Service;
//
//import java.time.LocalDateTime;
//import java.util.Arrays;
//import java.util.stream.IntStream;
//
@Service
@Service
public
class
ExcelService
{
public
class
ExcelService
{
// public byte[] generateExcel (JSONObject json){
// public byte[] generateExcel (JSONObject json){
// XSSFWorkbook workbook = new XSSFWorkbook();
// XSSFWorkbook workbook = new XSSFWorkbook();
//
// }
// }
//
//
// private void createSheet(XSSFWorkbook workbook, JSONObject json){
// private void createSheet(XSSFWorkbook workbook, JSONObject json){
...
@@ -50,7 +40,27 @@ public class ExcelService {
...
@@ -50,7 +40,27 @@ public class ExcelService {
// row_responsible.createCell(0).setCellValue(responsible);
// row_responsible.createCell(0).setCellValue(responsible);
// CellRangeAddress cellRangeAddress2 = new CellRangeAddress(row_index, row_index, 0, headers.length() - 1);
// CellRangeAddress cellRangeAddress2 = new CellRangeAddress(row_index, row_index, 0, headers.length() - 1);
// sheet.addMergedRegion(cellRangeAddress2);
// sheet.addMergedRegion(cellRangeAddress2);
// row_index++;geAddress2);
// row_index++;
// XSSFRow row_date = sheet.createRow(row_index);
// row_date.createCell(0).setCellValue("Fecha: " + currentDate);
// CellRangeAddress cellRangeAddress3 = new CellRangeAddress(row_index, row_index, 0, headers.length() - 1);
// sheet.addMergedRegion(cellRangeAddress3);
// row_index++;
// row_index++;
// XSSFRow row_header = sheet.createRow(row_index);
// IntStream.range(0, headers.length()).forEach(i -> {
// row_header.createCell(0).setCellValue(headers.optString(i, "").toUpperCase());
// });
//
// for(int i = 0; i < data.length(); i++){
// row_index++;
// XSSFRow row_data = sheet.createRow(row_index);
// int finalI = i;
// IntStream.range(0, identifiers.length()).forEach(j -> {
// row_data.createCell(j).setCellValue(data.optJSONObject(finalI).optString(identifiers.optString(j, ""), ""));
// });
// }
// }
// XSSFRow row_date = sheet.createRow(row_index);
// XSSFRow row_date = sheet.createRow(row_index);
// row_date.createCell(0).setCellValue("Fecha: " + currentDate);
// row_date.createCell(0).setCellValue("Fecha: " + currentDate);
// CellRangeAddress cellRangeAddress3 = new CellRangeAddress(row_index, row_index, 0, headers.length() - 1);
// CellRangeAddress cellRangeAddress3 = new CellRangeAddress(row_index, row_index, 0, headers.length() - 1);
...
...
src/main/java/web/multitask/trismegistoservices/service/PDFService.java
0 → 100644
View file @
6bfb0336
package
web
.
multitask
.
trismegistoservices
.
service
;
import
com.itextpdf.html2pdf.ConverterProperties
;
import
com.itextpdf.html2pdf.HtmlConverter
;
import
com.itextpdf.html2pdf.resolver.font.DefaultFontProvider
;
import
org.json.JSONArray
;
import
org.springframework.core.io.ByteArrayResource
;
import
org.springframework.stereotype.Service
;
import
java.io.File
;
import
java.io.FileOutputStream
;
@Service
public
class
PDFService
{
public
ByteArrayResource
htmlToPdf
(
String
html
){
try
{
byte
[]
pdfBytes
=
generatePdf
(
html
);
return
new
ByteArrayResource
(
pdfBytes
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
null
;
}
}
private
byte
[]
generatePdf
(
String
htmlContent
)
throws
Exception
{
ConverterProperties
properties
=
new
ConverterProperties
();
DefaultFontProvider
fontProvider
=
new
DefaultFontProvider
(
false
,
false
,
false
);
fontProvider
.
addFont
(
"/fonts/Roboto-Regular.ttf"
);
properties
.
setFontProvider
(
fontProvider
);
FileOutputStream
outputStream
=
new
FileOutputStream
(
"/var/www/html/pdf.pdf"
);
HtmlConverter
.
convertToPdf
(
htmlContent
,
outputStream
,
properties
);
File
file
=
new
File
(
"/var/www/html/pdf.pdf"
);
return
org
.
apache
.
commons
.
io
.
FileUtils
.
readFileToByteArray
(
file
);
}
private
JSONArray
pdfToBase64
(
String
pdf
){
try
{
byte
[]
pdfBytes
=
generatePdf
(
pdf
);
return
new
JSONArray
(
pdfBytes
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
return
null
;
}
}
}
\ No newline at end of file
src/main/java/web/multitask/
app
/utils/CommonUtils.java
→
src/main/java/web/multitask/
trismegistoservices
/utils/CommonUtils.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
utils
;
package
web
.
multitask
.
trismegistoservices
.
utils
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
io.github.cdimascio.dotenv.Dotenv
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.io.FileUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.io.File
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Base64
;
import
java.util.Base64
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
CommonUtils
{
public
class
CommonUtils
{
...
...
src/main/java/web/multitask/
app
/utils/DotEnvUtil.java
→
src/main/java/web/multitask/
trismegistoservices
/utils/DotEnvUtil.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
utils
;
package
web
.
multitask
.
trismegistoservices
.
utils
;
import
java.io.File
;
import
java.io.File
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -52,4 +52,4 @@ public class DotEnvUtil {
...
@@ -52,4 +52,4 @@ public class DotEnvUtil {
.
orElse
(
""
);
.
orElse
(
""
);
}
}
}
}
\ No newline at end of file
src/main/java/web/multitask/
app
/utils/JWTokenUtil.java
→
src/main/java/web/multitask/
trismegistoservices
/utils/JWTokenUtil.java
View file @
6bfb0336
package
web
.
multitask
.
app
.
utils
;
package
web
.
multitask
.
trismegistoservices
.
utils
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigInteger
;
import
java.math.BigInteger
;
...
@@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Value;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.security.Keys
;
import
io.jsonwebtoken.security.Keys
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
web.multitask.
app
.model.User
;
import
web.multitask.
trismegistoservices
.model.User
;
@Component
@Component
public
class
JWTokenUtil
implements
Serializable
{
public
class
JWTokenUtil
implements
Serializable
{
...
...
src/main/resources/application.properties
View file @
6bfb0336
spring.datasource.url
=
jdbc:mysql://
localhost:3306/security
spring.datasource.url
=
jdbc:mysql://
172.16.1.32:3306/seguridad
spring.datasource.username
=
root
spring.datasource.username
=
desarrollo
spring.datasource.password
=
Saco1357
$
spring.datasource.password
=
5vC0$2019
$
spring.datasource.driverClassName
=
com.mysql.cj.jdbc.Driver
spring.datasource.driverClassName
=
com.mysql.cj.jdbc.Driver
server.port
=
8081
server.port
=
8081
server.address
=
0.0.0.0
server.address
=
0.0.0.0
...
...
src/main/resources/fonts/Roboto-Regular.ttf
0 → 100644
View file @
6bfb0336
File added
src/main/resources/static/index.html
View file @
6bfb0336
...
@@ -5,9 +5,9 @@
...
@@ -5,9 +5,9 @@
<meta
name=
"viewport"
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
content=
"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge"
>
<title>
Hello
</title>
<title>
TRISMEGISTO-SERVICIOS
</title>
</head>
</head>
<body>
<body>
<h1>
Hello World
</h1>
<h1>
TRISMEGISTO-SERVICIOS
</h1>
</body>
</body>
</html>
</html>
\ No newline at end of file
src/test/java/web/multitask/
app
/AppApplicationTests.java
→
src/test/java/web/multitask/
trismegistoservices
/AppApplicationTests.java
View file @
6bfb0336
package
web
.
multitask
.
app
;
package
web
.
multitask
.
trismegistoservices
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
...
@@ -10,4 +10,4 @@ class AppApplicationTests {
...
@@ -10,4 +10,4 @@ class AppApplicationTests {
void
contextLoads
()
{
void
contextLoads
()
{
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment