├── .gitignore ├── Dockerfile ├── README.md ├── docker-compose.yml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle.kts ├── src ├── main │ ├── kotlin │ │ └── programmer │ │ │ └── zaman │ │ │ └── now │ │ │ └── kotlin │ │ │ └── restful │ │ │ ├── KotlinRestfulApiApplication.kt │ │ │ ├── auth │ │ │ ├── ApiKeyConfiguration.kt │ │ │ └── ApiKeyInterceptor.kt │ │ │ ├── config │ │ │ └── ApiKeySeeder.kt │ │ │ ├── controller │ │ │ ├── ErrorController.kt │ │ │ └── ProductController.kt │ │ │ ├── entity │ │ │ ├── ApiKey.kt │ │ │ └── Product.kt │ │ │ ├── error │ │ │ ├── NotFoundException.kt │ │ │ └── UnauthorizedException.kt │ │ │ ├── model │ │ │ ├── CreateProductRequest.kt │ │ │ ├── ListProductRequest.kt │ │ │ ├── ProductResponse.kt │ │ │ ├── UpdateProductRequest.kt │ │ │ └── WebResponse.kt │ │ │ ├── repository │ │ │ ├── ApiKeyRepository.kt │ │ │ └── ProductRepository.kt │ │ │ ├── service │ │ │ ├── ProductService.kt │ │ │ └── impl │ │ │ │ └── ProductServiceImpl.kt │ │ │ └── validation │ │ │ └── ValidationUtil.kt │ └── resources │ │ └── application.properties └── test │ └── kotlin │ └── programmer │ └── zaman │ └── now │ └── kotlin │ └── restful │ └── KotlinRestfulApiApplicationTests.kt ├── system-design.puml └── test.http /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "kotlin-restful-api" 2 | -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/KotlinRestfulApiApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/KotlinRestfulApiApplication.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/auth/ApiKeyConfiguration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/auth/ApiKeyConfiguration.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/auth/ApiKeyInterceptor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/auth/ApiKeyInterceptor.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/config/ApiKeySeeder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/config/ApiKeySeeder.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/controller/ErrorController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/controller/ErrorController.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/controller/ProductController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/controller/ProductController.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/entity/ApiKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/entity/ApiKey.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/entity/Product.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/entity/Product.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/error/NotFoundException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/error/NotFoundException.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/error/UnauthorizedException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/error/UnauthorizedException.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/model/CreateProductRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/model/CreateProductRequest.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/model/ListProductRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/model/ListProductRequest.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/model/ProductResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/model/ProductResponse.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/model/UpdateProductRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/model/UpdateProductRequest.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/model/WebResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/model/WebResponse.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/repository/ApiKeyRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/repository/ApiKeyRepository.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/repository/ProductRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/repository/ProductRepository.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/service/ProductService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/service/ProductService.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/service/impl/ProductServiceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/service/impl/ProductServiceImpl.kt -------------------------------------------------------------------------------- /src/main/kotlin/programmer/zaman/now/kotlin/restful/validation/ValidationUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/kotlin/programmer/zaman/now/kotlin/restful/validation/ValidationUtil.kt -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/test/kotlin/programmer/zaman/now/kotlin/restful/KotlinRestfulApiApplicationTests.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/src/test/kotlin/programmer/zaman/now/kotlin/restful/KotlinRestfulApiApplicationTests.kt -------------------------------------------------------------------------------- /system-design.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/system-design.puml -------------------------------------------------------------------------------- /test.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProgrammerZamanNow/kotlin-restful-api/HEAD/test.http --------------------------------------------------------------------------------