src/main/kotlin/de/uapcore/lightpit/dao/DataAccessObject.kt

changeset 184
e8eecee6aadf
parent 180
009700915269
child 207
479dd7993ef9
equal deleted inserted replaced
183:61669abf277f 184:e8eecee6aadf
24 */ 24 */
25 25
26 package de.uapcore.lightpit.dao 26 package de.uapcore.lightpit.dao
27 27
28 import de.uapcore.lightpit.entities.* 28 import de.uapcore.lightpit.entities.*
29 import de.uapcore.lightpit.filter.IssueFilter 29 import de.uapcore.lightpit.util.IssueFilter
30 import de.uapcore.lightpit.viewmodel.ComponentSummary
31 import de.uapcore.lightpit.viewmodel.IssueSummary
32 import de.uapcore.lightpit.viewmodel.VersionSummary
30 33
31 interface DataAccessObject { 34 interface DataAccessObject {
32 fun listUsers(): List<User> 35 fun listUsers(): List<User>
33 fun findUser(id: Int): User? 36 fun findUser(id: Int): User?
34 fun findUserByName(username: String): User? 37 fun findUserByName(username: String): User?
35 fun insertUser(user: User) 38 fun insertUser(user: User)
36 fun updateUser(user: User) 39 fun updateUser(user: User)
37 40
41 /**
42 * Lists all versions of the specified [project].
43 *
44 * The list is first ordered by the ordinal of the version and
45 * then by name, both descending.
46 */
38 fun listVersions(project: Project): List<Version> 47 fun listVersions(project: Project): List<Version>
48 fun listVersionSummaries(project: Project): List<VersionSummary>
39 fun findVersion(id: Int): Version? 49 fun findVersion(id: Int): Version?
40 fun findVersionByNode(project: Project, node: String): Version? 50 fun findVersionByNode(project: Project, node: String): Version?
41 fun insertVersion(version: Version) 51 fun insertVersion(version: Version)
42 fun updateVersion(version: Version) 52 fun updateVersion(version: Version)
43 53
44 fun listComponents(project: Project): List<Component> 54 fun listComponents(project: Project): List<Component>
55 fun listComponentSummaries(project: Project): List<ComponentSummary>
45 fun findComponent(id: Int): Component? 56 fun findComponent(id: Int): Component?
46 fun findComponentByNode(project: Project, node: String): Component? 57 fun findComponentByNode(project: Project, node: String): Component?
47 fun insertComponent(component: Component) 58 fun insertComponent(component: Component)
48 fun updateComponent(component: Component) 59 fun updateComponent(component: Component)
49 60
61 /**
62 * Lists all projects ordered by name.
63 */
50 fun listProjects(): List<Project> 64 fun listProjects(): List<Project>
51 fun findProject(id: Int): Project? 65 fun findProject(id: Int): Project?
52 fun findProjectByNode(node: String): Project? 66 fun findProjectByNode(node: String): Project?
53 fun insertProject(project: Project) 67 fun insertProject(project: Project)
54 fun updateProject(project: Project) 68 fun updateProject(project: Project)
55 69
56 fun collectIssueSummary(project: Project): IssueSummary 70 fun collectIssueSummary(project: Project): IssueSummary
57 71
58 fun listIssues(filter: IssueFilter): List<Issue> 72 fun listIssues(filter: IssueFilter): List<Issue>
59 fun findIssue(id: Int): Issue? 73 fun findIssue(id: Int): Issue?
60 fun insertIssue(issue: Issue) 74 fun insertIssue(issue: Issue): Int
61 fun updateIssue(issue: Issue) 75 fun updateIssue(issue: Issue)
62 76
63 fun listComments(issue: Issue): List<IssueComment> 77 fun listComments(issue: Issue): List<IssueComment>
64 fun insertComment(issueComment: IssueComment) 78 fun insertComment(issueComment: IssueComment)
65 } 79 }

mercurial