Updates some fundamentals and libraries

This commit is contained in:
2026-05-12 10:06:11 -05:00
parent 2e0244e1ee
commit ab34f16a45
5 changed files with 20 additions and 25 deletions

View File

@@ -10,16 +10,9 @@ REST API to support a community scavenger hunt app.
## TODO: ## TODO:
### User Endpoints ### User Endpoints
* list teams for hunt GET `/hunt/{id}/team` * upload photo for hunt item POST `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo` - body: image binary
* create new hunt team POST `/hunt/{id}/team` * delete photo for hunt item DELETE `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}`
* join hunt team POST `/hunt/{id}/team/{id}` * list hunt teams with scores for hunt `GET /lead/hunt/{huntId}/team`
* list items for hunt GET `/hunt/{id}/item` * list hunters with scores for hunt GET `/lead/hunt/{huntId}/hunter`
* get hunt item info GET `/hunt/{id}/item/{id}`
* get hunt team item info GET `/hunt/{id}/team/{id}/item/{id}`
* get photos for hunt item GET `/hunt/{id}/team/{id}/item/{id}/photo`
* upload photo for hunt item POST `/hunt/{id}/team/{id}/item/{id}/photo`
* delete photo for hunt item DELETE `/hunt/{id}/team/{id}/item/{id}/photo`
* list hunt teams with scores for hunt `GET /lead/hunt/{id}/team`
* list hunters with scores for hunt GET `/lead/hunt/{id}/hunter`
### Admin Endpoints ### Admin Endpoints
* approve photo for hunt item POST `/admin/hunt/{id}/team/{id}` * approve photo for hunt item POST `/admin/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}` - body: approval status

View File

@@ -1,9 +1,9 @@
plugins { plugins {
kotlin("jvm") version "2.2.21" kotlin("jvm") version "2.3.21"
kotlin("plugin.spring") version "2.2.21" kotlin("plugin.spring") version "2.3.21"
id("org.springframework.boot") version "4.0.0" id("org.springframework.boot") version "4.0.6"
id("io.spring.dependency-management") version "1.1.7" id("io.spring.dependency-management") version "1.1.7"
kotlin("plugin.jpa") version "2.2.21" kotlin("plugin.jpa") version "2.3.21"
} }
group = "net.halfbinary" group = "net.halfbinary"
@@ -27,23 +27,25 @@ repositories {
} }
dependencies { dependencies {
val mysqlConnectorJ = "9.5.0" val mariaDriver = "3.5.8"
val commonsValidator = "1.10.1" val commonsValidator = "1.10.1"
val jakartaValidation = "3.1.1" val jakartaValidation = "3.1.1"
val jsonWebToken = "0.13.0" val jsonWebToken = "0.13.0"
val springdocUi = "3.0.3"
implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-security")
implementation("jakarta.validation:jakarta.validation-api:${jakartaValidation}") implementation("jakarta.validation:jakarta.validation-api:$jakartaValidation")
implementation("com.mysql:mysql-connector-j:${mysqlConnectorJ}") implementation("org.mariadb.jdbc:mariadb-java-client:${mariaDriver}")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("commons-validator:commons-validator:${commonsValidator}") implementation("commons-validator:commons-validator:$commonsValidator")
implementation("io.jsonwebtoken:jjwt-api:${jsonWebToken}") implementation("io.jsonwebtoken:jjwt-api:$jsonWebToken")
implementation("io.jsonwebtoken:jjwt-impl:${jsonWebToken}") implementation("io.jsonwebtoken:jjwt-impl:$jsonWebToken")
implementation("io.jsonwebtoken:jjwt-jackson:${jsonWebToken}") implementation("io.jsonwebtoken:jjwt-jackson:$jsonWebToken")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springdocUi")
developmentOnly("org.springframework.boot:spring-boot-devtools") developmentOnly("org.springframework.boot:spring-boot-devtools")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testImplementation("org.springframework.boot:spring-boot-starter-actuator-test") testImplementation("org.springframework.boot:spring-boot-starter-actuator-test")

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

2
gradlew vendored
View File

@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop. # Darwin, MinGW, and NonStop.
# #
# (3) This script is generated from the Groovy template # (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project. # within the Gradle project.
# #
# You can find Gradle at https://github.com/gradle/gradle/. # You can find Gradle at https://github.com/gradle/gradle/.