Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
B
BACKEND_IMAGE
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
destin tati
BACKEND_IMAGE
Commits
af57c6cc
Commit
af57c6cc
authored
Jan 05, 2024
by
destin tati
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parents
Pipeline
#534
failed with stages
Changes
20
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1289 additions
and
0 deletions
+1289
-0
.gitignore
.gitignore
+33
-0
.mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar
+0
-0
.mvn/wrapper/maven-wrapper.properties
.mvn/wrapper/maven-wrapper.properties
+2
-0
mvnw
mvnw
+308
-0
mvnw.cmd
mvnw.cmd
+205
-0
pom.xml
pom.xml
+83
-0
src/main/java/com/example/skyapi/SkyApiApplication.java
src/main/java/com/example/skyapi/SkyApiApplication.java
+13
-0
src/main/java/com/example/skyapi/controller/SkyController.java
...ain/java/com/example/skyapi/controller/SkyController.java
+114
-0
src/main/java/com/example/skyapi/helper/Config.java
src/main/java/com/example/skyapi/helper/Config.java
+173
-0
src/main/java/com/example/skyapi/helper/Folder.java
src/main/java/com/example/skyapi/helper/Folder.java
+31
-0
src/main/java/com/example/skyapi/helper/Image.java
src/main/java/com/example/skyapi/helper/Image.java
+38
-0
src/main/java/com/example/skyapi/helper/Report.java
src/main/java/com/example/skyapi/helper/Report.java
+37
-0
src/main/java/com/example/skyapi/helper/User.java
src/main/java/com/example/skyapi/helper/User.java
+23
-0
src/main/java/com/example/skyapi/repository/UserRepository.java
...in/java/com/example/skyapi/repository/UserRepository.java
+12
-0
src/main/java/com/example/skyapi/service/ApiService.java
src/main/java/com/example/skyapi/service/ApiService.java
+18
-0
src/main/java/com/example/skyapi/service/UserService.java
src/main/java/com/example/skyapi/service/UserService.java
+10
-0
src/main/java/com/example/skyapi/service/impl/ApiServiceImpl.java
.../java/com/example/skyapi/service/impl/ApiServiceImpl.java
+117
-0
src/main/java/com/example/skyapi/service/impl/UserServiceImpl.java
...java/com/example/skyapi/service/impl/UserServiceImpl.java
+44
-0
src/main/resources/application.properties
src/main/resources/application.properties
+15
-0
src/test/java/com/example/skyapi/SkyApiApplicationTests.java
src/test/java/com/example/skyapi/SkyApiApplicationTests.java
+13
-0
No files found.
.gitignore
0 → 100644
View file @
af57c6cc
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
.mvn/wrapper/maven-wrapper.jar
0 → 100644
View file @
af57c6cc
File added
.mvn/wrapper/maven-wrapper.properties
0 → 100644
View file @
af57c6cc
distributionUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
wrapperUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
mvnw
0 → 100644
View file @
af57c6cc
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Apache Maven Wrapper startup batch script, version 3.2.0
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if
[
-z
"
$MAVEN_SKIP_RC
"
]
;
then
if
[
-f
/usr/local/etc/mavenrc
]
;
then
.
/usr/local/etc/mavenrc
fi
if
[
-f
/etc/mavenrc
]
;
then
.
/etc/mavenrc
fi
if
[
-f
"
$HOME
/.mavenrc"
]
;
then
.
"
$HOME
/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin
=
false
;
darwin
=
false
;
mingw
=
false
case
"
$(
uname
)
"
in
CYGWIN
*
)
cygwin
=
true
;;
MINGW
*
)
mingw
=
true
;;
Darwin
*
)
darwin
=
true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-x
"/usr/libexec/java_home"
]
;
then
JAVA_HOME
=
"
$(
/usr/libexec/java_home
)
"
;
export
JAVA_HOME
else
JAVA_HOME
=
"/Library/Java/Home"
;
export
JAVA_HOME
fi
fi
;;
esac
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-r
/etc/gentoo-release
]
;
then
JAVA_HOME
=
$(
java-config
--jre-home
)
fi
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if
$cygwin
;
then
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
$(
cygpath
--unix
"
$JAVA_HOME
"
)
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
$(
cygpath
--path
--unix
"
$CLASSPATH
"
)
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if
$mingw
;
then
[
-n
"
$JAVA_HOME
"
]
&&
[
-d
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
"
$(
cd
"
$JAVA_HOME
"
||
(
echo
"cannot cd into
$JAVA_HOME
."
;
exit
1
)
;
pwd
)
"
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
javaExecutable
=
"
$(
which javac
)
"
if
[
-n
"
$javaExecutable
"
]
&&
!
[
"
$(
expr
"
\"
$javaExecutable
\"
"
:
'\([^ ]*\)'
)
"
=
"no"
]
;
then
# readlink(1) is not available as standard on Solaris 10.
readLink
=
$(
which
readlink
)
if
[
!
"
$(
expr
"
$readLink
"
:
'\([^ ]*\)'
)
"
=
"no"
]
;
then
if
$darwin
;
then
javaHome
=
"
$(
dirname
"
\"
$javaExecutable
\"
"
)
"
javaExecutable
=
"
$(
cd
"
\"
$javaHome
\"
"
&&
pwd
-P
)
/javac"
else
javaExecutable
=
"
$(
readlink
-f
"
\"
$javaExecutable
\"
"
)
"
fi
javaHome
=
"
$(
dirname
"
\"
$javaExecutable
\"
"
)
"
javaHome
=
$(
expr
"
$javaHome
"
:
'\(.*\)/bin'
)
JAVA_HOME
=
"
$javaHome
"
export
JAVA_HOME
fi
fi
fi
if
[
-z
"
$JAVACMD
"
]
;
then
if
[
-n
"
$JAVA_HOME
"
]
;
then
if
[
-x
"
$JAVA_HOME
/jre/sh/java"
]
;
then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD
=
"
$JAVA_HOME
/jre/sh/java"
else
JAVACMD
=
"
$JAVA_HOME
/bin/java"
fi
else
JAVACMD
=
"
$(
\u
nset
-f
command
2>/dev/null
;
\c
ommand
-v
java
)
"
fi
fi
if
[
!
-x
"
$JAVACMD
"
]
;
then
echo
"Error: JAVA_HOME is not defined correctly."
>
&2
echo
" We cannot execute
$JAVACMD
"
>
&2
exit
1
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
echo
"Warning: JAVA_HOME environment variable is not set."
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir
()
{
if
[
-z
"
$1
"
]
then
echo
"Path not specified to find_maven_basedir"
return
1
fi
basedir
=
"
$1
"
wdir
=
"
$1
"
while
[
"
$wdir
"
!=
'/'
]
;
do
if
[
-d
"
$wdir
"
/.mvn
]
;
then
basedir
=
$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if
[
-d
"
${
wdir
}
"
]
;
then
wdir
=
$(
cd
"
$wdir
/.."
||
exit
1
;
pwd
)
fi
# end of workaround
done
printf
'%s'
"
$(
cd
"
$basedir
"
||
exit
1
;
pwd
)
"
}
# concatenates all lines of a file
concat_lines
()
{
if
[
-f
"
$1
"
]
;
then
# Remove \r in case we run on Windows within Git Bash
# and check out the repository with auto CRLF management
# enabled. Otherwise, we may read lines that are delimited with
# \r\n and produce $'-Xarg\r' rather than -Xarg due to word
# splitting rules.
tr
-s
'\r\n'
' '
<
"
$1
"
fi
}
log
()
{
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
printf
'%s\n'
"
$1
"
fi
}
BASE_DIR
=
$(
find_maven_basedir
"
$(
dirname
"
$0
"
)
"
)
if
[
-z
"
$BASE_DIR
"
]
;
then
exit
1
;
fi
MAVEN_PROJECTBASEDIR
=
${
MAVEN_BASEDIR
:-
"
$BASE_DIR
"
}
;
export
MAVEN_PROJECTBASEDIR
log
"
$MAVEN_PROJECTBASEDIR
"
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
wrapperJarPath
=
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.jar"
if
[
-r
"
$wrapperJarPath
"
]
;
then
log
"Found
$wrapperJarPath
"
else
log
"Couldn't find
$wrapperJarPath
, downloading it ..."
if
[
-n
"
$MVNW_REPOURL
"
]
;
then
wrapperUrl
=
"
$MVNW_REPOURL
/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
else
wrapperUrl
=
"https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
fi
while
IFS
=
"="
read
-r
key value
;
do
# Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
safeValue
=
$(
echo
"
$value
"
|
tr
-d
'\r'
)
case
"
$key
"
in
(
wrapperUrl
)
wrapperUrl
=
"
$safeValue
"
;
break
;;
esac
done
<
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.properties"
log
"Downloading from:
$wrapperUrl
"
if
$cygwin
;
then
wrapperJarPath
=
$(
cygpath
--path
--windows
"
$wrapperJarPath
"
)
fi
if
command
-v
wget
>
/dev/null
;
then
log
"Found wget ... using wget"
[
"
$MVNW_VERBOSE
"
=
true
]
&&
QUIET
=
""
||
QUIET
=
"--quiet"
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
wget
$QUIET
"
$wrapperUrl
"
-O
"
$wrapperJarPath
"
||
rm
-f
"
$wrapperJarPath
"
else
wget
$QUIET
--http-user
=
"
$MVNW_USERNAME
"
--http-password
=
"
$MVNW_PASSWORD
"
"
$wrapperUrl
"
-O
"
$wrapperJarPath
"
||
rm
-f
"
$wrapperJarPath
"
fi
elif
command
-v
curl
>
/dev/null
;
then
log
"Found curl ... using curl"
[
"
$MVNW_VERBOSE
"
=
true
]
&&
QUIET
=
""
||
QUIET
=
"--silent"
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
curl
$QUIET
-o
"
$wrapperJarPath
"
"
$wrapperUrl
"
-f
-L
||
rm
-f
"
$wrapperJarPath
"
else
curl
$QUIET
--user
"
$MVNW_USERNAME
:
$MVNW_PASSWORD
"
-o
"
$wrapperJarPath
"
"
$wrapperUrl
"
-f
-L
||
rm
-f
"
$wrapperJarPath
"
fi
else
log
"Falling back to using Java to download"
javaSource
=
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/MavenWrapperDownloader.java"
javaClass
=
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/MavenWrapperDownloader.class"
# For Cygwin, switch paths to Windows format before running javac
if
$cygwin
;
then
javaSource
=
$(
cygpath
--path
--windows
"
$javaSource
"
)
javaClass
=
$(
cygpath
--path
--windows
"
$javaClass
"
)
fi
if
[
-e
"
$javaSource
"
]
;
then
if
[
!
-e
"
$javaClass
"
]
;
then
log
" - Compiling MavenWrapperDownloader.java ..."
(
"
$JAVA_HOME
/bin/javac"
"
$javaSource
"
)
fi
if
[
-e
"
$javaClass
"
]
;
then
log
" - Running MavenWrapperDownloader.java ..."
(
"
$JAVA_HOME
/bin/java"
-cp
.mvn/wrapper MavenWrapperDownloader
"
$wrapperUrl
"
"
$wrapperJarPath
"
)
||
rm
-f
"
$wrapperJarPath
"
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
# If specified, validate the SHA-256 sum of the Maven wrapper jar file
wrapperSha256Sum
=
""
while
IFS
=
"="
read
-r
key value
;
do
case
"
$key
"
in
(
wrapperSha256Sum
)
wrapperSha256Sum
=
$value
;
break
;;
esac
done
<
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.properties"
if
[
-n
"
$wrapperSha256Sum
"
]
;
then
wrapperSha256Result
=
false
if
command
-v
sha256sum
>
/dev/null
;
then
if
echo
"
$wrapperSha256Sum
$wrapperJarPath
"
|
sha256sum
-c
>
/dev/null 2>&1
;
then
wrapperSha256Result
=
true
fi
elif
command
-v
shasum
>
/dev/null
;
then
if
echo
"
$wrapperSha256Sum
$wrapperJarPath
"
| shasum
-a
256
-c
>
/dev/null 2>&1
;
then
wrapperSha256Result
=
true
fi
else
echo
"Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
echo
"Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
exit
1
fi
if
[
$wrapperSha256Result
=
false
]
;
then
echo
"Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised."
>
&2
echo
"Investigate or delete
$wrapperJarPath
to attempt a clean download."
>
&2
echo
"If you updated your Maven version, you need to update the specified wrapperSha256Sum property."
>
&2
exit
1
fi
fi
MAVEN_OPTS
=
"
$(
concat_lines
"
$MAVEN_PROJECTBASEDIR
/.mvn/jvm.config"
)
$MAVEN_OPTS
"
# For Cygwin, switch paths to Windows format before running java
if
$cygwin
;
then
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
$(
cygpath
--path
--windows
"
$JAVA_HOME
"
)
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
$(
cygpath
--path
--windows
"
$CLASSPATH
"
)
[
-n
"
$MAVEN_PROJECTBASEDIR
"
]
&&
MAVEN_PROJECTBASEDIR
=
$(
cygpath
--path
--windows
"
$MAVEN_PROJECTBASEDIR
"
)
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS
=
"
$MAVEN_CONFIG
$*
"
export
MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER
=
org.apache.maven.wrapper.MavenWrapperMain
# shellcheck disable=SC2086 # safe args
exec
"
$JAVACMD
"
\
$MAVEN_OPTS
\
$MAVEN_DEBUG_OPTS
\
-classpath
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.jar"
\
"-Dmaven.multiModuleProjectDirectory=
${
MAVEN_PROJECTBASEDIR
}
"
\
${
WRAPPER_LAUNCHER
}
$MAVEN_CONFIG
"
$@
"
mvnw.cmd
0 → 100644
View file @
af57c6cc
@REM
----------------------------------------------------------------------------
@REM
Licensed
to
the
Apache
Software
Foundation
(
ASF
)
under
one
@REM
or
more
contributor
license
agreements
.
See
the
NOTICE
file
@REM
distributed
with
this
work
for
additional
information
@REM
regarding
copyright
ownership
.
The
ASF
licenses
this
file
@REM
to
you
under
the
Apache
License
,
Version
2
.0
(
the
@REM
"License"
);
you
may
not
use
this
file
except
in
compliance
@REM
with
the
License
.
You
may
obtain
a
copy
of
the
License
at
@REM
@REM
https
://www.apache.org/licenses/LICENSE
-
2
.0
@REM
@REM
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
@REM
software
distributed
under
the
License
is
distributed
on
an
@REM
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
@REM
KIND
,
either
express
or
implied
.
See
the
License
for
the
@REM
specific
language
governing
permissions
and
limitations
@REM
under
the
License
.
@REM
----------------------------------------------------------------------------
@REM
----------------------------------------------------------------------------
@REM
Apache
Maven
Wrapper
startup
batch
script
,
version
3
.2.0
@REM
@REM
Required
ENV
vars
:
@REM
JAVA_HOME
-
location
of
a
JDK
home
dir
@REM
@REM
Optional
ENV
vars
@REM
MAVEN_BATCH_ECHO
-
set
to
'on'
to
enable
the
echoing
of
the
batch
commands
@REM
MAVEN_BATCH_PAUSE
-
set
to
'on'
to
wait
for
a
keystroke
before
ending
@REM
MAVEN_OPTS
-
parameters
passed
to
the
Java
VM
when
running
Maven
@REM
e
.g.
to
debug
Maven
itself
,
use
@REM
set
MAVEN_OPTS
=
-Xdebug -Xrunjdwp
:transport
=
dt_socket
,
server
=
y
,
suspend
=
y
,
address
=
8000
@REM
MAVEN_SKIP_RC
-
flag
to
disable
loading
of
mavenrc
files
@REM
----------------------------------------------------------------------------
@REM
Begin
all
REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo
off
@REM
set
title
of
command
window
title
%
0
@REM
enable
echoing
by
setting
MAVEN_BATCH_ECHO
to
'on'
@if
"
%MAVEN_BATCH_ECHO%
"
==
"on"
echo
%MAVEN_BATCH_ECHO%
@REM
set
%HOME%
to
equivalent
of
$HOME
if
"
%HOME%
"
==
""
(
set
"HOME=
%HOMEDRIVE%%
HOMEPATH
%
"
)
@REM
Execute
a
user
defined
script
before
this
one
if
not
"
%MAVEN_SKIP_RC%
"
==
""
goto
skipRcPre
@REM
check
for
pre
script
,
once
with
legacy
.bat
ending
and
once
with
.cmd
ending
if
exist
"
%USERPROFILE%
\mavenrc_pre.bat"
call
"
%USERPROFILE%
\mavenrc_pre.bat"
%
*
if
exist
"
%USERPROFILE%
\mavenrc_pre.cmd"
call
"
%USERPROFILE%
\mavenrc_pre.cmd"
%
*
:skipRcPre
@setlocal
set
ERROR_CODE
=
0
@REM
To
isolate
internal
variables
from
possible
post
scripts
,
we
use
another
setlocal
@setlocal
@REM
====
START
VALIDATION
====
if
not
"
%JAVA_HOME%
"
==
""
goto
OkJHome
echo
.
echo
Error
:
JAVA_HOME
not
found
in
your
environment
.
>&
2
echo
Please
set
the
JAVA_HOME
variable
in
your
environment
to
match
the
>&
2
echo
location
of
your
Java
installation
.
>&
2
echo
.
goto
error
:OkJHome
if
exist
"
%JAVA_HOME%
\bin\java.exe"
goto
init
echo
.
echo
Error
:
JAVA_HOME
is
set
to
an
invalid
directory
.
>&
2
echo
JAVA_HOME
=
"
%JAVA_HOME%
"
>&
2
echo
Please
set
the
JAVA_HOME
variable
in
your
environment
to
match
the
>&
2
echo
location
of
your
Java
installation
.
>&
2
echo
.
goto
error
@REM
====
END
VALIDATION
====
:init
@REM
Find
the
project
base
dir
,
i
.e.
the
directory
that
contains
the
folder
".mvn"
.
@REM
Fallback
to
current
working
directory
if
not
found
.
set
MAVEN_PROJECTBASEDIR
=
%MAVEN_BASEDIR%
IF
NOT
"
%MAVEN_PROJECTBASEDIR%
"
==
""
goto
endDetectBaseDir
set
EXEC_DIR
=
%CD%
set
WDIR
=
%EXEC_DIR%
:findBaseDir
IF
EXIST
"
%WDIR%
"
\.mvn
goto
baseDirFound
cd
..
IF
"
%WDIR%
"
==
"
%CD%
"
goto
baseDirNotFound
set
WDIR
=
%CD%
goto
findBaseDir
:baseDirFound
set
MAVEN_PROJECTBASEDIR
=
%WDIR%
cd
"
%EXEC_DIR%
"
goto
endDetectBaseDir
:baseDirNotFound
set
MAVEN_PROJECTBASEDIR
=
%EXEC_DIR%
cd
"
%EXEC_DIR%
"
:endDetectBaseDir
IF
NOT
EXIST
"
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config"
goto
endReadAdditionalConfig
@setlocal
EnableExtensions
EnableDelayedExpansion
for
/F
"usebackq delims="
%%a
in
(
"
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config"
)
do
set
JVM_CONFIG_MAVEN_PROPS
=
!JVM_CONFIG_MAVEN_PROPS!
%%a
@endlocal
&
set
JVM_CONFIG_MAVEN_PROPS
=
%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET
MAVEN_JAVA_EXE
=
"
%JAVA_HOME%
\bin\java.exe"
set
WRAPPER_JAR
=
"
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.jar"
set
WRAPPER_LAUNCHER
=
org
.apache.maven.wrapper.MavenWrapperMain
set
WRAPPER_URL
=
"https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
FOR
/F
"usebackq tokens=1,2 delims=="
%%A
IN
(
"
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.properties"
)
DO
(
IF
"
%%A
"
==
"wrapperUrl"
SET
WRAPPER_URL
=
%%B
)
@REM
Extension
to
allow
automatically
downloading
the
maven
-wrapper
.jar
from
Maven
-central
@REM
This
allows
using
the
maven
wrapper
in
projects
that
prohibit
checking
in
binary
data
.
if
exist
%WRAPPER_JAR%
(
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Found
%WRAPPER_JAR%
)
)
else
(
if
not
"
%MVNW_REPOURL%
"
==
""
(
SET
WRAPPER_URL
=
"
%MVNW_REPOURL%
/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
)
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Couldn
't find
%WRAPPER_JAR%
, downloading it ...
echo Downloading from:
%WRAPPER_URL%
)
powershell -Command "&{"
^
"$webclient = new-object System.Net.WebClient;"
^
"if (-not ([string]::IsNullOrEmpty('
%MVNW_USERNAME%
') -and [string]::IsNullOrEmpty('
%MVNW_PASSWORD%
'))) {"
^
"$webclient.Credentials = new-object System.Net.NetworkCredential('
%MVNW_USERNAME%
', '
%MVNW_PASSWORD%
');"
^
"}"
^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('
%WRAPPER_URL%
', '
%WRAPPER_JAR%
')"
^
"}"
if "
%MVNW_VERBOSE%
" == "true" (
echo Finished downloading
%WRAPPER_JAR%
)
)
@REM End of extension
@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
SET WRAPPER_SHA_256_SUM=""
FOR /F "usebackq tokens=1,2 delims=="
%%A
IN ("
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.properties") DO (
IF "
%%A
"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=
%%B
)
IF NOT
%WRAPPER
_SHA_256_SUM
%
=="" (
powershell -Command "&{"
^
"$hash = (Get-FileHash \"
%WRAPPER_JAR%
\" -Algorithm SHA256).Hash.ToLower();"
^
"If('
%WRAPPER
_SHA_256_SUM
%
' -ne $hash){"
^
" Write-Output '
Error
:
Failed
to
validate
Maven
wrapper
SHA
-
256
,
your
Maven
wrapper
might
be
compromised
.
';"
^
" Write-Output '
Investigate
or
delete
%WRAPPER_JAR%
to
attempt
a
clean
download
.
';"
^
" Write-Output '
If
you
updated
your
Maven
version
,
you
need
to
update
the
specified
wrapperSha256Sum
property
.
';"
^
" exit 1;"
^
"}"
^
"}"
if ERRORLEVEL 1 goto error
)
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=
%
*
%MAVEN_JAVA_EXE%
^
%JVM_CONFIG_MAVEN_PROPS%
^
%MAVEN_OPTS%
^
%MAVEN_DEBUG_OPTS%
^
-classpath
%WRAPPER_JAR%
^
"-Dmaven.multiModuleProjectDirectory=
%MAVEN_PROJECTBASEDIR%
"
^
%WRAPPER_LAUNCHER%
%MAVEN_CONFIG%
%
*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=
%ERROR_CODE%
if not "
%MAVEN_SKIP_RC%
"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "
%USERPROFILE%
\mavenrc_post.bat" call "
%USERPROFILE%
\mavenrc_post.bat"
if exist "
%USERPROFILE%
\mavenrc_post.cmd" call "
%USERPROFILE%
\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to '
on
'
if "
%MAVEN_BATCH_PAUSE%
"=="on" pause
if "
%MAVEN_TERMINATE_CMD%
"=="on" exit
%ERROR_CODE%
cmd /C exit /B
%ERROR_CODE%
pom.xml
0 → 100644
View file @
af57c6cc
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.7.9
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>
com.example
</groupId>
<artifactId>
SkyApi
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<name>
SkyApi
</name>
<description>
Demo project for Spring Boot
</description>
<properties>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-rest
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-devtools
</artifactId>
<scope>
runtime
</scope>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-jdbc
</artifactId>
</dependency>
<dependency>
<groupId>
com.google.code.gson
</groupId>
<artifactId>
gson
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-jpa
</artifactId>
</dependency>
<dependency>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<scope>
runtime
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin><plugin><groupId>
org.apache.maven.plugins
</groupId><artifactId>
maven-compiler-plugin
</artifactId><configuration><source>
8
</source><target>
8
</target></configuration></plugin>
</plugins>
</build>
</project>
src/main/java/com/example/skyapi/SkyApiApplication.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
SkyApiApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
SkyApiApplication
.
class
,
args
);
}
}
src/main/java/com/example/skyapi/controller/SkyController.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
controller
;
import
com.example.skyapi.helper.Folder
;
import
com.example.skyapi.helper.Image
;
import
com.example.skyapi.helper.Report
;
import
com.example.skyapi.helper.User
;
import
com.example.skyapi.service.ApiService
;
import
com.example.skyapi.service.UserService
;
import
com.google.gson.JsonObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.List
;
@RestController
()
@RequestMapping
(
"/api"
)
@CrossOrigin
(
origins
=
"*"
)
public
class
SkyController
{
@Autowired
private
ApiService
apiService
;
@Autowired
private
UserService
userService
;
@GetMapping
(
"/getFolder"
)
public
List
<
Folder
>
getFolders
()
{
List
<
Folder
>
folderList
=
apiService
.
getFolders
();
return
folderList
;
}
@GetMapping
(
"/getFolder/images"
)
public
List
<
Image
>
getFoldersImages
(
@RequestParam
(
"name"
)
String
name
)
{
Folder
folder
=
new
Folder
(
name
);
List
<
Image
>
imageList
=
apiService
.
getImages
(
folder
);
return
imageList
;
}
@GetMapping
(
"/getImage"
)
public
Image
getImage
(
@RequestParam
(
"name"
)
String
name
)
{
Image
image
=
new
Image
(
name
);
image
=
apiService
.
getImage
(
image
);
return
image
;
}
@GetMapping
(
"/imageName"
)
public
ResponseEntity
<
byte
[]>
getImageData
(
@RequestParam
(
"directory"
)
String
directory
)
{
Path
desktopPath
=
Paths
.
get
(
System
.
getProperty
(
"user.home"
),
"Desktop\\indatacore\\mattel\\"
);
Path
imagePath
=
desktopPath
.
resolve
(
directory
);
try
{
if
(
Files
.
exists
(
imagePath
)
&&
Files
.
isRegularFile
(
imagePath
))
{
byte
[]
imageBytes
=
Files
.
readAllBytes
(
imagePath
);
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
IMAGE_JPEG
);
return
new
ResponseEntity
<>(
imageBytes
,
headers
,
HttpStatus
.
OK
);
}
else
{
return
new
ResponseEntity
<>(
HttpStatus
.
NOT_FOUND
);
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
return
new
ResponseEntity
<>(
HttpStatus
.
NOT_FOUND
);
}
}
@GetMapping
(
"/files"
)
public
List
<
Image
>
getFiles
(
@RequestParam
(
"directory"
)
String
directory
)
{
return
apiService
.
getFolderAndImageFile
(
new
Folder
(
directory
));
}
@GetMapping
(
"/report"
)
public
ResponseEntity
<
JsonObject
>
saveReport
(
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"state"
)
String
state
,
@RequestParam
(
"identifiant"
)
String
identifiant
)
{
Report
report
=
new
Report
(
name
,
state
,
identifiant
);
JsonObject
jsonObject
=
apiService
.
writeInFile
(
report
);
return
new
ResponseEntity
<>(
jsonObject
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/getSetting"
)
public
ResponseEntity
<
JsonObject
>
getSetting
(
@RequestParam
(
"name"
)
String
name
)
{
JsonObject
jsonObject
=
apiService
.
getSetting
(
name
);
return
new
ResponseEntity
<>(
jsonObject
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/addUser"
)
public
ResponseEntity
<
User
>
addUser
(
@RequestBody
User
user
)
{
User
user1
=
userService
.
login
(
user
.
getEmail
(),
user
.
getPassword
());
if
(
user1
!=
null
){
return
new
ResponseEntity
<>(
user1
,
HttpStatus
.
OK
);
}
else
{
User
user2
=
userService
.
findByEmail
(
user
.
getEmail
());
if
(
user2
!=
null
){
return
new
ResponseEntity
<>(
user
,
HttpStatus
.
OK
);
}
else
{
user
=
userService
.
addUser
(
user
);
return
new
ResponseEntity
<>(
user
,
HttpStatus
.
OK
);
}
}
}
}
src/main/java/com/example/skyapi/helper/Config.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
helper
;
import
com.google.gson.Gson
;
import
com.google.gson.JsonObject
;
import
org.springframework.boot.ansi.AnsiColor
;
import
org.springframework.boot.ansi.AnsiOutput
;
import
java.io.*
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
public
class
Config
{
public
Config
()
{
}
public
List
<
String
>
getFolder
(
String
rootDirectoryPath
)
throws
IOException
{
List
<
String
>
directoryNames
=
new
ArrayList
<
String
>();
Path
rootDirectory
=
Paths
.
get
(
rootDirectoryPath
);
Files
.
list
(
rootDirectory
).
forEach
(
path
->
{
directoryNames
.
add
(
path
.
getFileName
().
toString
());
});
return
directoryNames
;
}
public
HashMap
<
String
,
List
<
String
>>
getFolderAndImage
(
String
rootDirectoryPath
)
throws
IOException
{
List
<
String
>
directoryNames
=
new
ArrayList
<
String
>();
HashMap
<
String
,
List
<
String
>>
directoryNamesAndFileNames
=
new
HashMap
<>();
Path
rootDirectory
=
Paths
.
get
(
rootDirectoryPath
);
Files
.
list
(
rootDirectory
).
forEach
(
path
->
{
if
(
Files
.
isDirectory
(
path
))
{
directoryNames
.
add
(
rootDirectoryPath
+
path
.
getFileName
().
toString
());
String
directoryofFiles
=
rootDirectoryPath
+
path
.
getFileName
().
toString
();
List
<
String
>
fileNames
=
new
ArrayList
<>();
try
{
Path
directory
=
Paths
.
get
(
directoryofFiles
);
if
(
Files
.
isDirectory
(
directory
))
{
System
.
out
.
println
(
"Searching directory: "
+
directoryofFiles
);
Files
.
list
(
directory
).
forEach
(
filePath
->
{
if
(
Files
.
isRegularFile
(
filePath
))
{
System
.
out
.
println
(
filePath
);
System
.
out
.
println
(
"Found file: "
+
filePath
.
getFileName
().
toString
());
fileNames
.
add
(
filePath
.
getFileName
().
toString
());
}
else
{
System
.
out
.
println
(
"Ignoring non-regular file: "
+
filePath
.
getFileName
().
toString
());
}
});
directoryNamesAndFileNames
.
put
(
path
.
getFileName
().
toString
(),
fileNames
);
}
else
{
System
.
out
.
println
(
"Skipping non-directory: "
+
directoryofFiles
);
}
}
catch
(
IOException
ex
)
{
System
.
out
.
println
(
"Error accessing directory: "
+
directoryofFiles
);
}
}
});
return
directoryNamesAndFileNames
;
}
public
HashMap
<
String
,
List
<
Image
>>
getFolderAndImageFile
(
String
rootDirectoryPath
)
throws
IOException
{
List
<
String
>
directoryNames
=
new
ArrayList
<
String
>();
HashMap
<
String
,
List
<
Image
>>
directoryNamesAndFileNames
=
new
HashMap
<>();
Path
rootDirectory
=
Paths
.
get
(
rootDirectoryPath
);
Files
.
list
(
rootDirectory
).
forEach
(
path
->
{
if
(
Files
.
isDirectory
(
path
))
{
directoryNames
.
add
(
rootDirectoryPath
+
path
.
getFileName
().
toString
());
String
directoryofFiles
=
rootDirectoryPath
+
path
.
getFileName
().
toString
();
List
<
Image
>
fileNames
=
new
ArrayList
<>();
try
{
Path
directory
=
Paths
.
get
(
directoryofFiles
);
if
(
Files
.
isDirectory
(
directory
))
{
System
.
out
.
println
(
"Searching directory: "
+
directoryofFiles
);
Files
.
list
(
directory
).
forEach
(
filePath
->
{
if
(
Files
.
isRegularFile
(
filePath
))
{
System
.
out
.
println
(
"Found file: "
+
filePath
.
getFileName
().
toString
());
System
.
out
.
println
(
filePath
);
try
{
byte
[]
imageBytes
=
Files
.
readAllBytes
(
filePath
);
Image
image
=
new
Image
(
filePath
.
getFileName
().
toString
());
image
.
setFile
(
imageBytes
);
fileNames
.
add
(
image
);
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
else
{
System
.
out
.
println
(
"Ignoring non-regular file: "
+
filePath
.
getFileName
().
toString
());
}
});
directoryNamesAndFileNames
.
put
(
path
.
getFileName
().
toString
(),
fileNames
);
}
else
{
System
.
out
.
println
(
"Skipping non-directory: "
+
directoryofFiles
);
}
}
catch
(
IOException
ex
)
{
System
.
out
.
println
(
"Error accessing directory: "
+
directoryofFiles
);
}
}
});
return
directoryNamesAndFileNames
;
}
public
JsonObject
saveFile
(
JsonObject
jsonObject
,
String
namefile
,
String
path
)
{
String
newNameFile
=
namefile
+
"."
+
"txt"
;
Gson
gson
=
new
Gson
();
String
jsonString
=
gson
.
toJson
(
jsonObject
);
try
(
FileWriter
fileWriter
=
new
FileWriter
(
path
+
newNameFile
))
{
fileWriter
.
write
(
jsonString
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
jsonObject
;
}
public
JsonObject
getFileTxt
(
String
nameFIle
,
String
path
)
{
String
newNameFile
=
nameFIle
;
File
file
=
null
;
JsonObject
jsonObject
=
null
;
Gson
gson
=
new
Gson
();
try
{
file
=
new
File
(
path
+
newNameFile
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
(
BufferedReader
reader
=
new
BufferedReader
(
new
FileReader
(
file
)))
{
StringBuilder
sb
=
new
StringBuilder
();
String
line
;
while
((
line
=
reader
.
readLine
())
!=
null
)
{
sb
.
append
(
line
);
}
jsonObject
=
gson
.
fromJson
(
sb
.
toString
(),
JsonObject
.
class
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
jsonObject
;
}
public
boolean
verifyFileIfexistBoolean
(
String
name
,
String
path
){
File
folder
=
new
File
(
path
);
String
[]
listOfFiles
=
folder
.
list
();
boolean
found
=
false
;
try
{
for
(
String
n:
listOfFiles
){
int
dotIndex
=
n
.
toString
().
lastIndexOf
(
'.'
);
if
(
dotIndex
==
-
1
)
{
System
.
out
.
println
(
n
);
}
else
{
n
=
n
.
toString
().
substring
(
0
,
dotIndex
);
}
if
(
n
.
equals
(
name
)){
found
=
true
;
}
}
}
catch
(
Exception
e
){
found
=
false
;
}
return
found
;
}
}
src/main/java/com/example/skyapi/helper/Folder.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
helper
;
import
java.util.List
;
public
class
Folder
{
private
String
name
;
private
List
<
Image
>
images
;
public
Folder
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
List
<
Image
>
getImages
()
{
return
images
;
}
public
void
setImages
(
List
<
Image
>
images
)
{
this
.
images
=
images
;
}
}
src/main/java/com/example/skyapi/helper/Image.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
helper
;
public
class
Image
{
private
String
name
;
private
byte
[]
file
;
public
String
getBase64
()
{
return
base64
;
}
public
void
setBase64
(
String
base64
)
{
this
.
base64
=
base64
;
}
private
String
base64
;
public
byte
[]
getFile
()
{
return
file
;
}
public
void
setFile
(
byte
[]
file
)
{
this
.
file
=
file
;
}
public
Image
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
src/main/java/com/example/skyapi/helper/Report.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
helper
;
public
class
Report
{
private
String
name
;
private
String
state
;
private
String
identifiant
;
public
String
getIdentifiant
()
{
return
identifiant
;
}
public
void
setIdentifiant
(
String
identifiant
)
{
this
.
identifiant
=
identifiant
;
}
public
Report
(
String
name
,
String
state
,
String
identiant
)
{
this
.
name
=
name
;
this
.
state
=
state
;
this
.
identifiant
=
identiant
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getState
()
{
return
state
;
}
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
}
src/main/java/com/example/skyapi/helper/User.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
helper
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table
(
name
=
"user_entity"
)
public
class
User
{
@Id
private
String
identifiant
;
@Column
(
unique
=
true
)
private
String
email
;
private
String
password
;
}
src/main/java/com/example/skyapi/repository/UserRepository.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
repository
;
import
com.example.skyapi.helper.User
;
import
org.springframework.data.repository.PagingAndSortingRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
UserRepository
extends
PagingAndSortingRepository
<
User
,
String
>
{
User
findByEmailAndPassword
(
String
email
,
String
password
);
User
findByEmail
(
String
email
);
User
findByIdentifiant
(
String
identifiant
);
}
src/main/java/com/example/skyapi/service/ApiService.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
service
;
import
com.example.skyapi.helper.Folder
;
import
com.example.skyapi.helper.Image
;
import
com.example.skyapi.helper.Report
;
import
com.google.gson.JsonObject
;
import
java.util.HashMap
;
import
java.util.List
;
public
interface
ApiService
{
List
<
Folder
>
getFolders
();
List
<
Image
>
getImages
(
Folder
folder
);
Image
getImage
(
Image
image
);
List
<
Image
>
getFolderAndImageFile
(
Folder
folder
);
JsonObject
writeInFile
(
Report
report
);
JsonObject
getSetting
(
String
name
);
}
src/main/java/com/example/skyapi/service/UserService.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
service
;
import
com.example.skyapi.helper.User
;
public
interface
UserService
{
User
addUser
(
User
user
);
User
login
(
String
email
,
String
password
);
User
findByEmail
(
String
email
);
User
findByIdentifiant
(
String
identifiant
);
}
src/main/java/com/example/skyapi/service/impl/ApiServiceImpl.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
service
.
impl
;
import
com.example.skyapi.helper.Config
;
import
com.example.skyapi.helper.Folder
;
import
com.example.skyapi.helper.Image
;
import
com.example.skyapi.helper.Report
;
import
com.example.skyapi.service.ApiService
;
import
com.google.gson.JsonObject
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Base64
;
import
java.util.HashMap
;
import
java.util.List
;
@Service
public
class
ApiServiceImpl
implements
ApiService
{
@Value
(
"${file.upload-dir.folder}"
)
private
String
DIRECTORY
;
static
final
Config
config
=
new
Config
();
@Override
public
List
<
Folder
>
getFolders
()
{
List
<
Folder
>
folderList
=
new
ArrayList
<>();
try
{
List
<
String
>
stringList
=
config
.
getFolder
(
DIRECTORY
);
if
(!
stringList
.
isEmpty
()){
for
(
String
list
:
stringList
){
folderList
.
add
(
new
Folder
(
list
));
}
}
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
folderList
;
}
@Override
public
List
<
Image
>
getImages
(
Folder
folder
)
{
List
<
Image
>
imageList
=
new
ArrayList
<>();
try
{
HashMap
<
String
,
List
<
String
>>
folderImages
=
config
.
getFolderAndImage
(
DIRECTORY
);
folderImages
.
forEach
((
s
,
strings
)
->
{
if
(
s
.
equals
(
folder
.
getName
())){
for
(
String
data:
strings
){
imageList
.
add
(
new
Image
(
data
));
}
}
});
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
imageList
;
}
@Override
public
Image
getImage
(
Image
image
)
{
return
null
;
}
@Override
public
List
<
Image
>
getFolderAndImageFile
(
Folder
folder
)
{
List
<
Image
>
files
=
new
ArrayList
<>();
try
{
HashMap
<
String
,
List
<
Image
>>
folderList
=
config
.
getFolderAndImageFile
(
DIRECTORY
);
folderList
.
forEach
((
s
,
strings
)
->
{
if
(
s
.
equals
(
folder
.
getName
())){
for
(
Image
image
:
strings
){
image
.
setBase64
(
Base64
.
getEncoder
().
encodeToString
(
image
.
getFile
()));
}
files
.
addAll
(
strings
);
}
});
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
files
;
}
@Override
public
JsonObject
writeInFile
(
Report
report
)
{
JsonObject
jsonObject
=
new
JsonObject
();
JsonObject
jsonObjectAll
=
new
JsonObject
();
if
(
config
.
verifyFileIfexistBoolean
(
"report"
,
DIRECTORY
+
report
.
getName
())){
jsonObjectAll
=
config
.
getFileTxt
(
report
.
getName
()
+
"/report.txt"
,
DIRECTORY
);
jsonObject
.
addProperty
(
"state"
,
report
.
getState
());
jsonObjectAll
.
getAsJsonObject
().
add
(
report
.
getIdentifiant
(),
jsonObject
);
config
.
saveFile
(
jsonObjectAll
,
report
.
getName
()+
"/report"
,
DIRECTORY
);
}
else
{
jsonObject
.
addProperty
(
"state"
,
report
.
getState
());
jsonObjectAll
.
add
(
report
.
getIdentifiant
(),
jsonObject
);
config
.
saveFile
(
jsonObjectAll
,
report
.
getName
()+
"/report"
,
DIRECTORY
);
}
return
jsonObject
;
}
@Override
public
JsonObject
getSetting
(
String
name
)
{
JsonObject
jsonObjectText
=
new
JsonObject
();
if
(
config
.
verifyFileIfexistBoolean
(
"report"
,
DIRECTORY
+
name
)){
jsonObjectText
=
config
.
getFileTxt
(
name
+
"/report.txt"
,
DIRECTORY
);
}
else
{
jsonObjectText
.
addProperty
(
"state"
,
"null"
);
}
return
jsonObjectText
;
}
}
src/main/java/com/example/skyapi/service/impl/UserServiceImpl.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
.
service
.
impl
;
import
com.example.skyapi.helper.User
;
import
com.example.skyapi.repository.UserRepository
;
import
com.example.skyapi.service.UserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Random
;
import
java.util.UUID
;
@Service
public
class
UserServiceImpl
implements
UserService
{
@Autowired
UserRepository
userRepository
;
@Override
public
User
addUser
(
User
user
)
{
String
identifiant
=
identifiant
();
user
.
setIdentifiant
(
identifiant
);
return
userRepository
.
save
(
user
);
}
@Override
public
User
login
(
String
email
,
String
password
)
{
return
userRepository
.
findByEmailAndPassword
(
email
,
password
);
}
@Override
public
User
findByEmail
(
String
email
)
{
return
userRepository
.
findByEmail
(
email
);
}
@Override
public
User
findByIdentifiant
(
String
identifiant
)
{
return
userRepository
.
findByIdentifiant
(
identifiant
);
}
private
static
String
identifiant
(){
return
UUID
.
randomUUID
().
toString
();
}
}
src/main/resources/application.properties
0 → 100644
View file @
af57c6cc
server.port
=
8080
spring.sql.init.platform
=
postgres
spring.datasource.url
=
jdbc:postgresql://192.168.1.46:5433/imagecompressed?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=GMT+1:00
spring.datasource.password
=
@sql$23asas
spring.datasource.username
=
postgres
spring.jpa.database
=
postgresql
spring.jpa.show-sql
=
true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation
=
true
spring.jpa.properties.hibernate.dialect
=
org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto
=
update
file.upload-dir.folder
=
C:
\\
Users
\\
indatacore
\\
Desktop
\\
indatacore
\\
mattel
\\
spring.mvc.converters.preferred-json-mapper
=
gson
\ No newline at end of file
src/test/java/com/example/skyapi/SkyApiApplicationTests.java
0 → 100644
View file @
af57c6cc
package
com
.
example
.
skyapi
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
@SpringBootTest
class
SkyApiApplicationTests
{
@Test
void
contextLoads
()
{
}
}
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