├── .github └── workflows │ ├── pull_request.yml │ └── release.yml ├── .gitignore ├── .scala-steward.conf ├── .scalafmt.conf ├── .sdkmanrc ├── LICENSE ├── README.md ├── examples └── simple-app │ ├── .gitignore │ ├── app │ ├── com │ │ └── alexitc │ │ │ └── example │ │ │ ├── DummyAuthenticatorService.scala │ │ │ ├── SimpleAuthError.scala │ │ │ └── UserError.scala │ └── controllers │ │ ├── HelloWorldController.scala │ │ └── common │ │ ├── MyJsonController.scala │ │ └── MyJsonControllerComponents.scala │ ├── build.sbt │ ├── conf │ ├── application.conf │ ├── logback.xml │ ├── messages │ └── routes │ ├── project │ ├── build.properties │ └── plugins.sbt │ └── test │ └── controllers │ ├── HelloWorldControllerSpec.scala │ └── common │ └── MyPlayAPISpec.scala ├── playsonify-core └── src │ ├── main │ └── scala │ │ └── com │ │ └── alexitc │ │ └── playsonify │ │ ├── core │ │ ├── FutureOr.scala │ │ ├── I18nService.scala │ │ └── package.scala │ │ ├── models │ │ ├── ErrorId.scala │ │ ├── MessageKey.scala │ │ ├── WrappedInt.scala │ │ ├── WrappedLong.scala │ │ ├── WrappedString.scala │ │ ├── applicationErrors.scala │ │ ├── ordering │ │ │ ├── OrderingCondition.scala │ │ │ ├── OrderingError.scala │ │ │ └── package.scala │ │ ├── pagination │ │ │ ├── PaginatedQueryError.scala │ │ │ └── package.scala │ │ └── publicErrors.scala │ │ ├── parsers │ │ └── FieldOrderingParser.scala │ │ └── validators │ │ └── PaginatedQueryValidator.scala │ └── test │ └── scala │ └── com │ └── alexitc │ └── playsonify │ ├── parsers │ └── FieldOrderingParserSpec.scala │ └── validators │ └── PaginatedQueryValidatorSpec.scala ├── playsonify-play-test └── src │ └── main │ └── scala │ └── com │ └── alexitc │ └── playsonify │ └── test │ └── PlayAPISpec.scala ├── playsonify-play └── src │ ├── main │ └── scala │ │ └── com │ │ └── alexitc │ │ └── playsonify │ │ └── play │ │ ├── AbstractAuthenticatorService.scala │ │ ├── AbstractJsonController.scala │ │ ├── I18nPlayService.scala │ │ ├── JsonControllerComponents.scala │ │ ├── PublicErrorRenderer.scala │ │ ├── codecs │ │ ├── DefaultCodecs.scala │ │ └── package.scala │ │ └── package.scala │ └── test │ └── scala │ └── com │ └── alexitc │ └── playsonify │ └── play │ ├── AbstractJsonControllerSpec.scala │ ├── common │ ├── CustomAuthenticator.scala │ ├── CustomControllerComponents.scala │ ├── CustomError.scala │ ├── CustomJsonController.scala │ ├── CustomModel.scala │ └── CustomUser.scala │ └── controllers │ ├── AuthenticatedNoInputController.scala │ ├── PublicController.scala │ └── PublicWithInputController.scala ├── playsonify-sql └── src │ ├── main │ └── scala │ │ └── com │ │ └── alexitc │ │ └── playsonify │ │ └── sql │ │ ├── ColumnNameResolver.scala │ │ └── FieldOrderingSQLInterpreter.scala │ └── test │ └── scala │ └── com │ └── alexitc │ └── playsonify │ └── sql │ └── FieldOrderingSQLInterpreterSpec.scala └── project ├── build.properties └── plugins.sbt /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/.github/workflows/pull_request.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/.gitignore -------------------------------------------------------------------------------- /.scala-steward.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/.scala-steward.conf -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /.sdkmanrc: -------------------------------------------------------------------------------- 1 | java=8.0.292.j9-adpt 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/README.md -------------------------------------------------------------------------------- /examples/simple-app/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | .idea 3 | logs 4 | -------------------------------------------------------------------------------- /examples/simple-app/app/com/alexitc/example/DummyAuthenticatorService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/com/alexitc/example/DummyAuthenticatorService.scala -------------------------------------------------------------------------------- /examples/simple-app/app/com/alexitc/example/SimpleAuthError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/com/alexitc/example/SimpleAuthError.scala -------------------------------------------------------------------------------- /examples/simple-app/app/com/alexitc/example/UserError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/com/alexitc/example/UserError.scala -------------------------------------------------------------------------------- /examples/simple-app/app/controllers/HelloWorldController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/controllers/HelloWorldController.scala -------------------------------------------------------------------------------- /examples/simple-app/app/controllers/common/MyJsonController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/controllers/common/MyJsonController.scala -------------------------------------------------------------------------------- /examples/simple-app/app/controllers/common/MyJsonControllerComponents.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/app/controllers/common/MyJsonControllerComponents.scala -------------------------------------------------------------------------------- /examples/simple-app/build.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/build.sbt -------------------------------------------------------------------------------- /examples/simple-app/conf/application.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/simple-app/conf/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/conf/logback.xml -------------------------------------------------------------------------------- /examples/simple-app/conf/messages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/conf/messages -------------------------------------------------------------------------------- /examples/simple-app/conf/routes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/conf/routes -------------------------------------------------------------------------------- /examples/simple-app/project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.6.2 2 | -------------------------------------------------------------------------------- /examples/simple-app/project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/project/plugins.sbt -------------------------------------------------------------------------------- /examples/simple-app/test/controllers/HelloWorldControllerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/test/controllers/HelloWorldControllerSpec.scala -------------------------------------------------------------------------------- /examples/simple-app/test/controllers/common/MyPlayAPISpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/examples/simple-app/test/controllers/common/MyPlayAPISpec.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/core/FutureOr.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/core/FutureOr.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/core/I18nService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/core/I18nService.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/core/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/core/package.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/ErrorId.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/ErrorId.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/MessageKey.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/MessageKey.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedInt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedInt.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedLong.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedLong.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedString.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/WrappedString.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/applicationErrors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/applicationErrors.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/OrderingCondition.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/OrderingCondition.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/OrderingError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/OrderingError.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/ordering/package.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/pagination/PaginatedQueryError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/pagination/PaginatedQueryError.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/pagination/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/pagination/package.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/models/publicErrors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/models/publicErrors.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/parsers/FieldOrderingParser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/parsers/FieldOrderingParser.scala -------------------------------------------------------------------------------- /playsonify-core/src/main/scala/com/alexitc/playsonify/validators/PaginatedQueryValidator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/main/scala/com/alexitc/playsonify/validators/PaginatedQueryValidator.scala -------------------------------------------------------------------------------- /playsonify-core/src/test/scala/com/alexitc/playsonify/parsers/FieldOrderingParserSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/test/scala/com/alexitc/playsonify/parsers/FieldOrderingParserSpec.scala -------------------------------------------------------------------------------- /playsonify-core/src/test/scala/com/alexitc/playsonify/validators/PaginatedQueryValidatorSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-core/src/test/scala/com/alexitc/playsonify/validators/PaginatedQueryValidatorSpec.scala -------------------------------------------------------------------------------- /playsonify-play-test/src/main/scala/com/alexitc/playsonify/test/PlayAPISpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play-test/src/main/scala/com/alexitc/playsonify/test/PlayAPISpec.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/AbstractAuthenticatorService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/AbstractAuthenticatorService.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/AbstractJsonController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/AbstractJsonController.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/I18nPlayService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/I18nPlayService.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/JsonControllerComponents.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/JsonControllerComponents.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/PublicErrorRenderer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/PublicErrorRenderer.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/codecs/DefaultCodecs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/codecs/DefaultCodecs.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/codecs/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/codecs/package.scala -------------------------------------------------------------------------------- /playsonify-play/src/main/scala/com/alexitc/playsonify/play/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/main/scala/com/alexitc/playsonify/play/package.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/AbstractJsonControllerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/AbstractJsonControllerSpec.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomAuthenticator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomAuthenticator.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomControllerComponents.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomControllerComponents.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomError.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomError.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomJsonController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomJsonController.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomModel.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomModel.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomUser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/common/CustomUser.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/AuthenticatedNoInputController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/AuthenticatedNoInputController.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/PublicController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/PublicController.scala -------------------------------------------------------------------------------- /playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/PublicWithInputController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-play/src/test/scala/com/alexitc/playsonify/play/controllers/PublicWithInputController.scala -------------------------------------------------------------------------------- /playsonify-sql/src/main/scala/com/alexitc/playsonify/sql/ColumnNameResolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-sql/src/main/scala/com/alexitc/playsonify/sql/ColumnNameResolver.scala -------------------------------------------------------------------------------- /playsonify-sql/src/main/scala/com/alexitc/playsonify/sql/FieldOrderingSQLInterpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-sql/src/main/scala/com/alexitc/playsonify/sql/FieldOrderingSQLInterpreter.scala -------------------------------------------------------------------------------- /playsonify-sql/src/test/scala/com/alexitc/playsonify/sql/FieldOrderingSQLInterpreterSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/playsonify-sql/src/test/scala/com/alexitc/playsonify/sql/FieldOrderingSQLInterpreterSpec.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.6.2 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexITC/playsonify/HEAD/project/plugins.sbt --------------------------------------------------------------------------------