Skip to content
Merged
10 changes: 10 additions & 0 deletions src/main/kotlin/logic/repositories/AuditRepository.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.berlin.logic.repositories

import com.berlin.model.AuditLog

interface AuditRepository {
fun addAuditLog(auditLog: AuditLog):Boolean
fun getAuditLogsByProjectId(projectId:String):List<AuditLog>
fun getAuditLogsByTaskId(taskId:String):List<AuditLog>
fun getAuditLogsByUserId(userId:String):List<AuditLog>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.berlin.logic.repositories

import com.berlin.model.User

interface AuthenticationRepository {
fun createUser(user:User):Boolean
fun getUserById(userId:String):User?
fun getAllUsers():List<User>
}
11 changes: 11 additions & 0 deletions src/main/kotlin/logic/repositories/ProjectRepository.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.berlin.logic.repositories

import com.berlin.model.Project

interface ProjectRepository {
fun createProject(project:Project):Boolean
fun getProjectById(projectId:String):Project?
fun getAllProjects():List<Project>
fun updateProject(project: Project):Boolean
fun deleteProject(projectId: String):Boolean
}
11 changes: 11 additions & 0 deletions src/main/kotlin/logic/repositories/StateRepository.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.berlin.logic.repositories

import com.berlin.model.State

interface StateRepository {
fun createState(state: State):Boolean
fun getStatesByProjectId(projectId:String):List<State>
fun deleteState(stateId:String):Boolean
fun updateState(state: State):Boolean
fun getStateByTaskId(taskId:String):State?
}
13 changes: 13 additions & 0 deletions src/main/kotlin/logic/repositories/TaskRepository.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.berlin.logic.repositories

import com.berlin.model.Task
import com.berlin.model.User

interface TaskRepository {
fun createTask(task:Task):Boolean
fun getTaskById(taskId:String):Task?
fun getTasksByProjectId(projectId:String):List<Task>
fun updateTask(task: Task):Boolean
fun deleteTaskById(taskId: String):Boolean
fun getAssignedUserByTaskId(taskId: String):User?
}
5 changes: 5 additions & 0 deletions src/main/kotlin/model/AuditAction.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.berlin.model

enum class AuditAction {
CREATE, UPDATE, DELETE
}
12 changes: 12 additions & 0 deletions src/main/kotlin/model/AuditLog.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.berlin.model


data class AuditLog(
val id:String,
val timestamp: Long,
val createdBy:User,
val auditAction:AuditAction,
val changesDescription:String?,
val entityType:EntityType,
val entityId:String
)
5 changes: 5 additions & 0 deletions src/main/kotlin/model/EntityType.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.berlin.model

enum class EntityType {
PROJECT,TASK
}
9 changes: 9 additions & 0 deletions src/main/kotlin/model/Project.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.berlin.model

data class Project(
val id:String,
val name:String,
val description:String?,
val statesId:List<String>,
val tasksId:List<String>
)
7 changes: 7 additions & 0 deletions src/main/kotlin/model/State.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.berlin.model

data class State(
val id:String,
val name:String,
val projectId:String,
)
13 changes: 13 additions & 0 deletions src/main/kotlin/model/Task.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.berlin.model


data class Task(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can change all attributes to taskAttributename like taskDescription this is more readability

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we under the title Task it's clear

val id:String,
val projectId:String,
val title:String,
val description:String?,
val stateId:String,
val assignedTo:User,
val createBy:User,
val auditLogs:List<AuditLog>
)
9 changes: 9 additions & 0 deletions src/main/kotlin/model/User.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.berlin.model


data class User(
val id:String,
val userName:String,
val password:String,
val role:UserRole
)
5 changes: 5 additions & 0 deletions src/main/kotlin/model/UserRole.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.berlin.model

enum class UserRole {
ADMIN,MATE
}