Skip to content

Instantly share code, notes, and snippets.

View Tonel's full-sized avatar

Antonello Zanini Tonel

View GitHub Profile
@Entity
@Table(name = "post")
open class Post {
@get:Id
@get:GeneratedValue
@get:Column(name = "id")
open var id: Long? = null
@get:Column(name = "title")
@Entity
@Table(name = "author")
open class Author {
@get:Id
@get:GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
@get:Column(name = "id", unique = true, nullable = false)
open var id: Int? = null
@get:Basic
@get:Column(name = "name", nullable = false, length = 50)
@Entity
@Table(name = "author")
open class Author {
@get:Id
@get:GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
@get:Column(name = "id", unique = true, nullable = false)
open var id: Int? = null
@get:Basic
@get:Column(name = "name", nullable = false, length = 50)
@Entity
@Table(name = "author")
open class Author {
@get:Id
@get:GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
@get:Column(name = "id", unique = true, nullable = false)
open var id: Int? = null
@get:Basic
@get:Column(name = "name", nullable = false, length = 50)
@Repository
class AuthorDao : EntityDao<Author, Int>() {
override var entity : Class<Author>? = Author::class.java
fun findByName(
name : String
) : List<Author> {
val criteriaBuilder = getCriteriaBuilder()
val criteriaQuery = getCriteriaQuery()
val root = criteriaQuery.from(entity)
@Service
class AuthorService : CustomService() {
fun getByKey(key : Int) : Author {
return authorDao.findByKey(key).get()
}
fun getByName(name : String) : List<Author> {
return authorDao.findByName(name)
}
@RestController
@RequestMapping("/authors")
class AuthorController : CustomController() {
@Autowired
lateinit var authorMapper: AuthorMapper
@GetMapping("v1/")
fun getAll() : ResponseEntity<List<AuthorDto>> {
return ResponseEntity(
authorMapper.authorsToAuthorDtos(
class AuthorDto {
@JsonProperty("id")
var id: Int? = null
@JsonProperty("name")
var name: String? = null
@JsonProperty("surname")
var surname: String? = null
@Tonel
Tonel / Auth.kt
Last active August 1, 2020 11:41
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.VALUE_PARAMETER)
annotation class Auth
@Component
class AuthTokenHandler {
@Autowired
private lateinit var tokenAPIHandler: TokenAPI
fun getUserFromToken(token : String?) : User {
if (token == null)
throw AuthenticationException()