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 } |