Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop into master #49

Merged
merged 63 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
8dc89a4
feat: Initial spring-boot api
Jan 31, 2024
493d7ad
chore: removed .idea
Toto-hitori Feb 2, 2024
95d1df7
Merge branch 'develop' into feat/spring-api
Toto-hitori Feb 3, 2024
6a2d124
feat: auth controller
Toto-hitori Feb 3, 2024
f5b7791
feat: register endpoint
Toto-hitori Feb 3, 2024
2126f72
feat: non null checks in LoginDto
Toto-hitori Feb 3, 2024
51e37fe
feat: refresh token endpoint
Toto-hitori Feb 3, 2024
d9376be
feat: mocked security config
Toto-hitori Feb 3, 2024
c107683
feat: user and role tables
Toto-hitori Feb 3, 2024
575f170
feat: jwt auth filter
Toto-hitori Feb 3, 2024
c65dcd7
refactor: jwt auth filter
Toto-hitori Feb 3, 2024
4dc7fc7
feat: added user to role
Toto-hitori Feb 3, 2024
627ed44
feat: jwt expiration
Toto-hitori Feb 3, 2024
f068a59
Merge branch 'develop' of https://github.com/Arquisoft/wiq_en2b into …
Feb 4, 2024
e510b82
chore: name added in README.md
Feb 4, 2024
d1d4878
chore: name added in README.md
Feb 4, 2024
64026e4
Merge remote-tracking branch 'origin/feat/spring-api' into feat/sprin…
Feb 4, 2024
b9d1d16
feat and refactor: add the initial version of the routing
jjgancfer Feb 2, 2024
72916e1
fix: solved tests not passing
jjgancfer Feb 2, 2024
0ffe3aa
chore: add localization dependencies and dotenv
jjgancfer Feb 4, 2024
991505a
feat: add a new top bar
jjgancfer Feb 4, 2024
c19dc9b
chore: cleaned up the base html document
jjgancfer Feb 4, 2024
204096b
feat: email as jwt subject
Toto-hitori Feb 5, 2024
72eb50a
chore: commented authManager
Toto-hitori Feb 5, 2024
35c5655
feat: dummy login implementation
Toto-hitori Feb 5, 2024
4a93b0d
chore: cleaned code
Toto-hitori Feb 5, 2024
12e95d3
chore: commented code
Toto-hitori Feb 5, 2024
6563fb7
chore: unused imports
Toto-hitori Feb 5, 2024
ca736c4
feat: register implementation
Toto-hitori Feb 5, 2024
c4d0b28
chore: removed unused methods
Toto-hitori Feb 5, 2024
2a0a6ac
chore: cleaned code
Toto-hitori Feb 5, 2024
c9ce864
feat: register implementation
Toto-hitori Feb 5, 2024
6f569f5
chore: removed unused methods
Toto-hitori Feb 5, 2024
b4e767b
Merge remote-tracking branch 'origin/feat/spring-api' into feat/sprin…
Toto-hitori Feb 6, 2024
9f0097f
fix!: cors filter
Toto-hitori Feb 6, 2024
633222f
chore: moved RoleRepository
Toto-hitori Feb 6, 2024
7390b7b
Merge pull request #14 from Arquisoft/feat/initial-webapp-routing
gony02 Feb 6, 2024
70f7215
feat: database settings -> environment variables
Toto-hitori Feb 6, 2024
ac9d652
fix: added missing request body
Toto-hitori Feb 6, 2024
a3164b2
fix: added missing dependencies
Toto-hitori Feb 6, 2024
e99a2e1
refactor: JwtService -> JwtUtils
Toto-hitori Feb 6, 2024
7820bf5
feat: updated pom dependencies
Toto-hitori Feb 6, 2024
5a0c70c
feat: refresh token
Toto-hitori Feb 6, 2024
c9091c3
feat: exception handling
Toto-hitori Feb 6, 2024
6b18c5c
refactor: moved user folder
Toto-hitori Feb 6, 2024
8dd1e5c
feat: finished auth
Toto-hitori Feb 6, 2024
c3947c7
chore: used same logger as CustomControllerAdvice
Toto-hitori Feb 7, 2024
d31584e
Merge branch 'initial-modifications' into feat/spring-api
Toto-hitori Feb 7, 2024
72a2a8e
Merge pull request #17 from Arquisoft/feat/spring-api
UO283615 Feb 9, 2024
1b1a91f
chore: installed chakra ui and removed mui
jjgancfer Feb 9, 2024
8cfdf3e
refactor: removal of the login and register pages, and their tests
jjgancfer Feb 9, 2024
493abec
feat: added new topbar, with a external json that serves as nav tree
jjgancfer Feb 9, 2024
53e2030
feat: add localization for the top bar
jjgancfer Feb 9, 2024
8ff034d
test: add some initial rendering testing for the top bar
jjgancfer Feb 10, 2024
4e1f1da
chore: useless files
Toto-hitori Feb 14, 2024
065d6c0
chore: .idea
Toto-hitori Feb 14, 2024
f300902
chore: useless files
Toto-hitori Feb 14, 2024
87cab42
Merge remote-tracking branch 'origin/initial-modifications' into init…
Toto-hitori Feb 14, 2024
07d39d7
Merge branch 'initial-modifications' into feat/webapp/top-bar
gony02 Feb 15, 2024
d2b8c58
fix/chore: remove dead code and tests
jjgancfer Feb 16, 2024
d6821ec
Merge pull request #32 from Arquisoft/feat/webapp/top-bar
gony02 Feb 16, 2024
4c9857d
Merge branch 'develop' into initial-modifications
gony02 Feb 20, 2024
0851d7e
Merge pull request #48 from Arquisoft/initial-modifications
Toto-hitori Feb 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
node_modules
coverage
docs/build

### IntelliJ IDEA ###
*.iws
*.iml
*.ipr
.idea
.vscode
.DS_Store
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ We aim to create a platform that not only challenges your knowledge but also spa
🏆 Adaptable difficulty: You can adjust the difficulty to push your limits.
🌐 Multiplayer: Compete with friends and strangers to prove you are the best.


## Contributors
| Nombre | UO |
|---------------------------------|----------|
Expand All @@ -22,7 +21,7 @@ We aim to create a platform that not only challenges your knowledge but also spa
| Jorge Joaquín Gancedo Fernández | UO282161 |
| Sergio Quintana Fernández | UO288090 |
| Diego Villanueva Berros | UO283615 |
| Gonzalo Suárez Losada | UO283928 |
| Gonzalo Suárez Losada | UO283928 |

***

Expand Down
33 changes: 33 additions & 0 deletions api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/
!**/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/
308 changes: 308 additions & 0 deletions api/mvnw
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
#!/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="$(\unset -f command 2>/dev/null; \command -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 "$@"
Loading