diff --git a/README.md b/README.md index b94a34f..bbd2fe1 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,9 @@ REST API to support a community scavenger hunt app. ## TODO: ### User Endpoints -* list teams for hunt GET `/hunt/{id}/team` -* create new hunt team POST `/hunt/{id}/team` -* join hunt team POST `/hunt/{id}/team/{id}` -* list items for hunt GET `/hunt/{id}/item` -* 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` +* upload photo for hunt item POST `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo` - body: image binary +* delete photo for hunt item DELETE `/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}` +* list hunt teams with scores for hunt `GET /lead/hunt/{huntId}/team` +* list hunters with scores for hunt GET `/lead/hunt/{huntId}/hunter` ### Admin Endpoints -* approve photo for hunt item POST `/admin/hunt/{id}/team/{id}` \ No newline at end of file +* approve photo for hunt item POST `/admin/hunt/{huntId}/team/{teamId}/item/{itemId}/photo/{photoId}` - body: approval status \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index aa6e7f4..6db3bbd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,9 @@ plugins { - kotlin("jvm") version "2.2.21" - kotlin("plugin.spring") version "2.2.21" - id("org.springframework.boot") version "4.0.0" + kotlin("jvm") version "2.3.21" + kotlin("plugin.spring") version "2.3.21" + id("org.springframework.boot") version "4.0.6" 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" @@ -27,23 +27,25 @@ repositories { } dependencies { - val mysqlConnectorJ = "9.5.0" + val mariaDriver = "3.5.8" val commonsValidator = "1.10.1" val jakartaValidation = "3.1.1" 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-web") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-security") - implementation("jakarta.validation:jakarta.validation-api:${jakartaValidation}") - implementation("com.mysql:mysql-connector-j:${mysqlConnectorJ}") + implementation("jakarta.validation:jakarta.validation-api:$jakartaValidation") + implementation("org.mariadb.jdbc:mariadb-java-client:${mariaDriver}") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") - implementation("commons-validator:commons-validator:${commonsValidator}") - implementation("io.jsonwebtoken:jjwt-api:${jsonWebToken}") - implementation("io.jsonwebtoken:jjwt-impl:${jsonWebToken}") - implementation("io.jsonwebtoken:jjwt-jackson:${jsonWebToken}") + implementation("commons-validator:commons-validator:$commonsValidator") + implementation("io.jsonwebtoken:jjwt-api:$jsonWebToken") + implementation("io.jsonwebtoken:jjwt-impl:$jsonWebToken") + implementation("io.jsonwebtoken:jjwt-jackson:$jsonWebToken") + implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:$springdocUi") developmentOnly("org.springframework.boot:spring-boot-devtools") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") testImplementation("org.springframework.boot:spring-boot-starter-actuator-test") diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f8e1ee3..d997cfc 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 23449a2..dbc3ce4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME 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 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index adff685..0262dcb 100644 --- a/gradlew +++ b/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (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. # # You can find Gradle at https://github.com/gradle/gradle/.