Skip to content

Commit 1b40d2d

Browse files
author
Erik Vårdal Itland
committed
Prøv å bygge med foreløpig versjon
1 parent 3c7b53e commit 1b40d2d

6 files changed

Lines changed: 36 additions & 19 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Kravbank backend README
22

3+
TODO: Remove this, it is only to trigger a new build in GitHub
4+
35
## Prerequisites
46

57
* In order to run the application locally, you need a .env file

src/main/kotlin/org/kravbank/domain/Publication.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
package org.kravbank.domain;
1+
package org.kravbank.domain
22

33
import com.fasterxml.jackson.annotation.JsonIgnore
44
import com.fasterxml.jackson.annotation.JsonManagedReference
5-
import io.quarkus.hibernate.orm.panache.PanacheEntity;
5+
import io.quarkus.hibernate.orm.panache.PanacheEntity
66
import java.time.LocalDateTime
77
import java.util.*
88
import javax.persistence.*
99

1010
@Entity
11-
class Publication : PanacheEntity() {
11+
class Publication : PanacheEntity(), SoftDeletable {
1212

1313
var comment: String = ""
1414

@@ -19,7 +19,7 @@ class Publication : PanacheEntity() {
1919
@Column(unique = true)
2020
var ref: String = UUID.randomUUID().toString()
2121

22-
var deletedDate: LocalDateTime? = null
22+
override var deletedDate: LocalDateTime? = null
2323

2424
@ManyToOne(
2525
cascade = [CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH], //CascadeType.Detach
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.kravbank.domain
2+
3+
import java.time.LocalDateTime
4+
5+
interface SoftDeletable {
6+
var deletedDate: LocalDateTime?
7+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.kravbank.repository
2+
3+
import io.quarkus.hibernate.orm.panache.PanacheRepository
4+
import org.kravbank.domain.SoftDeletable
5+
import java.time.LocalDateTime
6+
7+
//private var <T> T.deletedDate: LocalDateTime?
8+
// get() {}
9+
// set() {}
10+
11+
open class BackendRepository<T : SoftDeletable> : PanacheRepository<T> {
12+
fun deletePublication(publication: T): T {
13+
val deletedDate = LocalDateTime.now()
14+
//val updates = update("deleteddate = ?1 where id = ?2", deletedDate, publication)
15+
publication.deletedDate = deletedDate
16+
persistAndFlush(publication)
17+
return publication
18+
}
19+
}

src/main/kotlin/org/kravbank/repository/PublicationRepository.kt

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package org.kravbank.repository
22

3-
import io.quarkus.hibernate.orm.panache.PanacheRepository
43
import org.kravbank.domain.Publication
54
import org.kravbank.lang.BackendException
65
import org.kravbank.lang.BadRequestException
76
import org.kravbank.lang.NotFoundException
87
import org.kravbank.utils.Messages.RepoErrorMsg.PUBLICATION_BADREQUEST_CREATE
98
import org.kravbank.utils.Messages.RepoErrorMsg.PUBLICATION_BADREQUEST_UPDATE
109
import org.kravbank.utils.Messages.RepoErrorMsg.PUBLICATION_NOTFOUND
11-
import java.time.LocalDateTime
1210
import java.util.*
1311
import javax.enterprise.context.ApplicationScoped
14-
import kotlin.streams.toList
1512

1613
@ApplicationScoped
17-
class PublicationRepository : PanacheRepository<Publication> {
14+
class PublicationRepository : BackendRepository<Publication>() {
1815
@Throws(BackendException::class)
1916
fun findByRef(projectId: Long, ref: String): Publication {
2017
val publication =
@@ -43,13 +40,6 @@ class PublicationRepository : PanacheRepository<Publication> {
4340
}
4441
}
4542

46-
fun deletePublication(id: Long): Boolean {
47-
val deletedDate = LocalDateTime.now()
48-
val updates = update("deleteddate = ?1 where id = ?2", deletedDate, id)
49-
if (updates > 0) return true
50-
return false
51-
}
52-
5343
@Throws(BackendException::class)
5444
fun updatePublication(id: Long, publication: Publication) {
5545
val updated = update(

src/main/kotlin/org/kravbank/service/PublicationService.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package org.kravbank.service
33
import org.kravbank.dao.PublicationForm
44
import org.kravbank.domain.Publication
55
import org.kravbank.lang.BackendException
6-
import org.kravbank.lang.BadRequestException
76
import org.kravbank.repository.ProjectRepository
87
import org.kravbank.repository.PublicationRepository
98
import java.time.LocalDateTime
@@ -39,9 +38,9 @@ class PublicationService(
3938
fun delete(projectRef: String, publicationRef: String): Publication {
4039
val foundProject = projectRepository.findByRef(projectRef)
4140
val publication = publicationRepository.findByRef(foundProject.id, publicationRef)
42-
val deleted = publicationRepository.deletePublication(publication.id)
43-
if (deleted) return publication
44-
throw BadRequestException("Bad request! Did not delete publication")
41+
return publicationRepository.deletePublication(publication)
42+
43+
// throw BadRequestException("Bad request! Did not delete publication") TODO: Put somewhere else further up in chain
4544
}
4645

4746
@Throws(BackendException::class)

0 commit comments

Comments
 (0)