Skip to content

Commit

Permalink
using idea to sort imports
Browse files Browse the repository at this point in the history
  • Loading branch information
herzrasen committed Oct 21, 2019
1 parent f1dfde5 commit e7ee47f
Show file tree
Hide file tree
Showing 25 changed files with 91 additions and 136 deletions.
1 change: 0 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ scalacOptions ++= Seq(
"-Xlint:poly-implicit-overload", // Parameterized overloaded implicit methods are not visible as view bounds.
"-Xlint:private-shadow", // A private field (or class parameter) shadows a superclass field.
"-Xlint:stars-align", // Pattern sequence wildcard must align with sequence component.
"-Xlint:type-parameter-shadow", // A local type parameter shadows a type already in scope.
"-Ywarn-dead-code", // Warn when dead code is identified.
"-Ywarn-extra-implicit", // Warn when more than one implicit parameter section is defined.
"-Ywarn-numeric-widen", // Warn when numerics are widened.
Expand Down
8 changes: 0 additions & 8 deletions scalastyle-config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,4 @@
<check level="warning" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="true"></check>
<check level="warning" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
<check level="warning" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
<check level="warning" class="org.scalastyle.scalariform.ImportOrderChecker" enabled="true">
<parameters>
<parameter name="groups">java,scala,others</parameter>
<parameter name="group.java">javax?\..+</parameter>
<parameter name="group.scala">scala\..+</parameter>
<parameter name="group.others">.+</parameter>
</parameters>
</check>
</scalastyle>
7 changes: 3 additions & 4 deletions src/main/scala/me/herzrasen/stash/Stash.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ import akka.http.scaladsl.server._
import akka.stream.ActorMaterializer
import com.typesafe.scalalogging.StrictLogging
import io.getquill._
import me.herzrasen.stash.http.server.AuthRoute
import me.herzrasen.stash.http.server.UserRoute
import me.herzrasen.stash.repository.PostgresUserRepository
import me.herzrasen.stash.repository.UserRepository
import me.herzrasen.stash.http.server.{AuthRoute, UserRoute}
import me.herzrasen.stash.repository.{PostgresUserRepository, UserRepository}

import scala.concurrent.ExecutionContext

object Stash extends App with RouteConcatenation with StrictLogging {
Expand Down
6 changes: 2 additions & 4 deletions src/main/scala/me/herzrasen/stash/auth/JwtDirectives.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package me.herzrasen.stash.auth

import akka.http.scaladsl.server.AuthorizationFailedRejection
import akka.http.scaladsl.server.Directive0
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.directives._
import me.herzrasen.stash.auth.BearerToken
import me.herzrasen.stash.domain._
import akka.http.scaladsl.server.{AuthorizationFailedRejection, Directive0}
import me.herzrasen.stash.domain.Roles._
import me.herzrasen.stash.domain._

trait JwtDirectives extends HeaderDirectives with RouteDirectives {

Expand Down
22 changes: 8 additions & 14 deletions src/main/scala/me/herzrasen/stash/auth/JwtUtil.scala
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package me.herzrasen.stash.auth

import java.security.MessageDigest
import java.time.ZonedDateTime
import java.util.{Base64, Date}

import com.auth0.jwt.JWT
import com.auth0.jwt.algorithms.Algorithm
import java.time.ZonedDateTime
import java.util.Base64
import java.util.Date
import me.herzrasen.stash.domain.Roles
import me.herzrasen.stash.domain.Roles._
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.domain.{Roles, User}

object JwtUtil {

Expand All @@ -29,25 +28,20 @@ object JwtUtil {
def isExpired(jwt: String): Boolean =
Option(JWT.decode(jwt).getExpiresAt) match {
case Some(expiredAt) =>
if (expiredAt.toInstant().isBefore(ZonedDateTime.now().toInstant())) {
true
} else {
false
}
expiredAt.toInstant().isBefore(ZonedDateTime.now().toInstant())
case None => false
}

def role(jwt: String): Role =
def role(jwt: String): Roles.Role =
Option(JWT.decode(jwt).getClaim("role").asString) match {
case Some(role) => Roles.parse(role)
case None => Unknown
case None => Roles.Unknown
}

def user(jwt: String): Option[String] =
Option(JWT.decode(jwt).getClaim("user")).map(_.asString)

def hash(password: String): String = {
import java.security.MessageDigest
val bytes =
MessageDigest.getInstance("SHA-256").digest(password.getBytes("UTF-8"))
Base64.getEncoder.encodeToString(bytes)
Expand Down
12 changes: 2 additions & 10 deletions src/main/scala/me/herzrasen/stash/domain/Roles.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,8 @@ case object Roles {
}

def isAdmin(role: Role): Boolean =
if (role == Admin) {
true
} else {
false
}
role == Admin

def isUnknown(role: Role): Boolean =
if (role == Unknown) {
true
} else {
false
}
role == Unknown
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ package me.herzrasen.stash.http.server

import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.directives._
import akka.http.scaladsl.server.directives.Credentials._
import akka.http.scaladsl.server.directives._
import com.typesafe.scalalogging.StrictLogging
import me.herzrasen.stash.auth.JwtUtil
import me.herzrasen.stash.domain.Roles.Unknown
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.repository.UserRepository

import scala.concurrent.{ExecutionContext, Future}

class AuthRoute()(implicit repository: UserRepository, ec: ExecutionContext)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import akka.http.scaladsl.server.directives._
import me.herzrasen.stash.auth.JwtDirectives
import me.herzrasen.stash.json.UserProtocol._
import me.herzrasen.stash.repository.UserRepository

import scala.util.{Failure, Success}

class UserRoute()(implicit repository: UserRepository)
Expand Down
3 changes: 1 addition & 2 deletions src/main/scala/me/herzrasen/stash/json/UserProtocol.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package me.herzrasen.stash.json

import me.herzrasen.stash.domain.User
import me.herzrasen.stash.json.RoleProtocol._
import spray.json.{DefaultJsonProtocol, RootJsonFormat}

object UserProtocol extends DefaultJsonProtocol {

import RoleProtocol._

implicit val userFormat: RootJsonFormat[User] = jsonFormat4(User.apply)

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package me.herzrasen.stash.repository
import io.getquill._
import me.herzrasen.stash.domain.Shop
import monix.execution.Scheduler

import scala.concurrent.Future

class PostgresShopRepository()(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package me.herzrasen.stash.repository

import io.getquill._
import me.herzrasen.stash.domain.Roles
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.domain.{Roles, User}
import monix.execution.Scheduler

import scala.concurrent.Future

class PostgresUserRepository()(
Expand Down Expand Up @@ -75,12 +75,11 @@ class PostgresUserRepository()(
.runToFuture
.map(_.headOption)

object Encoders {
import io.getquill.MappedEncoding
private object Encoders {

implicit val encodeRole: MappedEncoding[Roles.Role, String] =
MappedEncoding(
_.mkString
_.mkString()
)

implicit val decodeRole: MappedEncoding[String, Roles.Role] =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package me.herzrasen.stash.repository

import scala.concurrent.Future

import me.herzrasen.stash.domain.Shop

import scala.concurrent.Future

trait ShopRepository {
def createTable(): Unit
def create(shop: Shop): Future[Shop]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package me.herzrasen.stash.repository

import me.herzrasen.stash.domain.User

import scala.concurrent.Future

trait UserRepository {
Expand Down
4 changes: 2 additions & 2 deletions src/test/scala/me/herzrasen/stash/auth/BearerTokenTest.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package me.herzrasen.stash.auth
import org.scalatest.FlatSpec
import org.scalatest.Matchers

import org.scalatest.{FlatSpec, Matchers}

class BearerTokenTest extends FlatSpec with Matchers {

Expand Down
21 changes: 9 additions & 12 deletions src/test/scala/me/herzrasen/stash/auth/JwtDirectivesTest.scala
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
package me.herzrasen.stash.auth
import org.scalatest.FlatSpec
import org.scalatest.Matchers
import akka.http.scaladsl.testkit.ScalatestRouteTest
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.directives.PathDirectives
import akka.http.scaladsl.server.directives.RouteDirectives
import akka.http.scaladsl.server.AuthorizationFailedRejection
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.domain.Roles

import java.time.ZonedDateTime
import java.util.Date

import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.server.directives.{PathDirectives, RouteDirectives}
import akka.http.scaladsl.server.{AuthorizationFailedRejection, Route, RouteConcatenation}
import akka.http.scaladsl.testkit.ScalatestRouteTest
import com.auth0.jwt.JWT
import java.util.Date
import java.time.ZonedDateTime
import com.auth0.jwt.algorithms.Algorithm
import akka.http.scaladsl.server.RouteConcatenation
import me.herzrasen.stash.domain.{Roles, User}
import org.scalatest.{FlatSpec, Matchers}

class JwtDirectivesTest extends FlatSpec with Matchers with ScalatestRouteTest {

Expand Down
12 changes: 6 additions & 6 deletions src/test/scala/me/herzrasen/stash/auth/JwtUtilTest.scala
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package me.herzrasen.stash.auth
import org.scalatest.FlatSpec
import org.scalatest.Matchers
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.domain.Roles

import java.time.ZonedDateTime
import java.util.Date

import com.auth0.jwt.JWT
import com.auth0.jwt.algorithms.Algorithm
import java.util.Date
import java.time.ZonedDateTime
import me.herzrasen.stash.domain.Roles.Admin
import me.herzrasen.stash.domain.{Roles, User}
import org.scalatest.{FlatSpec, Matchers}

class JwtUtilTest extends FlatSpec with Matchers {

Expand Down
4 changes: 2 additions & 2 deletions src/test/scala/me/herzrasen/stash/domain/RolesTest.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package me.herzrasen.stash.domain
import org.scalatest.FlatSpec
import org.scalatest.Matchers

import me.herzrasen.stash.domain.Roles._
import org.scalatest.{FlatSpec, Matchers}

class RolesTest extends FlatSpec with Matchers {

Expand Down
20 changes: 8 additions & 12 deletions src/test/scala/me/herzrasen/stash/http/server/AuthRouteTest.scala
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
package me.herzrasen.stash.http.server
import org.scalatest.FlatSpec
import org.scalatest.Matchers

import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.model.headers.{BasicHttpCredentials, HttpChallenge}
import akka.http.scaladsl.server.AuthenticationFailedRejection
import akka.http.scaladsl.server.AuthenticationFailedRejection.{CredentialsMissing, CredentialsRejected}
import akka.http.scaladsl.testkit.ScalatestRouteTest
import me.herzrasen.stash.repository.UserRepository
import me.herzrasen.stash.repository.InMemoryUserRepository
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.auth.JwtUtil
import me.herzrasen.stash.domain.Roles
import akka.http.scaladsl.model.headers.BasicHttpCredentials
import akka.http.scaladsl.model.StatusCodes
import me.herzrasen.stash.domain.Roles.Admin
import akka.http.scaladsl.server.AuthenticationFailedRejection
import akka.http.scaladsl.server.AuthenticationFailedRejection.CredentialsMissing
import akka.http.scaladsl.model.headers.HttpChallenge
import akka.http.scaladsl.server.AuthenticationFailedRejection.CredentialsRejected
import me.herzrasen.stash.domain.{Roles, User}
import me.herzrasen.stash.repository.{InMemoryUserRepository, UserRepository}
import org.scalatest.{FlatSpec, Matchers}

class AuthRouteTest extends FlatSpec with Matchers with ScalatestRouteTest {

Expand Down
18 changes: 8 additions & 10 deletions src/test/scala/me/herzrasen/stash/http/server/UserRouteTest.scala
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package me.herzrasen.stash.http.server
import org.scalatest.FlatSpec
import org.scalatest.Matchers

import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.server.AuthorizationFailedRejection
import akka.http.scaladsl.testkit.ScalatestRouteTest
import me.herzrasen.stash.auth.JwtUtil
import me.herzrasen.stash.domain.Roles
import me.herzrasen.stash.repository.UserRepository
import me.herzrasen.stash.repository.InMemoryUserRepository
import me.herzrasen.stash.domain.User
import akka.http.scaladsl.model.StatusCodes

import spray.json._
import me.herzrasen.stash.domain.{Roles, User}
import me.herzrasen.stash.json.UserProtocol._
import akka.http.scaladsl.server.AuthorizationFailedRejection
import me.herzrasen.stash.repository.{InMemoryUserRepository, UserRepository}
import org.scalatest.{FlatSpec, Matchers}
import spray.json._

import scala.concurrent.Future

class UserRouteTest extends FlatSpec with Matchers with ScalatestRouteTest {
Expand Down
5 changes: 2 additions & 3 deletions src/test/scala/me/herzrasen/stash/json/RoleProtocolTest.scala
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package me.herzrasen.stash.json

import me.herzrasen.stash.domain.Roles._
import me.herzrasen.stash.json.RoleProtocol._
import org.scalatest.{FlatSpec, Matchers}
import spray.json._
import me.herzrasen.stash.domain.Roles._
import org.scalatest.FlatSpec
import org.scalatest.Matchers

class RoleProtocolTest extends FlatSpec with Matchers {

Expand Down
5 changes: 2 additions & 3 deletions src/test/scala/me/herzrasen/stash/json/ShopProtocolTest.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package me.herzrasen.stash.json
import org.scalatest.FlatSpec
import org.scalatest.Matchers
import me.herzrasen.stash.domain.Shop

import me.herzrasen.stash.domain.Shop
import me.herzrasen.stash.json.ShopProtocol._
import org.scalatest.{FlatSpec, Matchers}
import spray.json._

class ShopProtocolTest extends FlatSpec with Matchers {
Expand Down
9 changes: 4 additions & 5 deletions src/test/scala/me/herzrasen/stash/json/UserProtocolTest.scala
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package me.herzrasen.stash.json
import org.scalatest.FlatSpec
import org.scalatest.Matchers

import UserProtocol._
import spray.json._
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.domain.Roles.{User => UserRole}
import me.herzrasen.stash.domain.User
import me.herzrasen.stash.json.UserProtocol._
import org.scalatest.{FlatSpec, Matchers}
import spray.json._

class UserProtocolTest extends FlatSpec with Matchers {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package me.herzrasen.stash.repository

import me.herzrasen.stash.domain.User
import scala.concurrent.Future

import scala.collection.mutable
import scala.concurrent.Future

class InMemoryUserRepository extends UserRepository {

Expand Down
Loading

0 comments on commit e7ee47f

Please sign in to comment.