diff --git a/src/main/kotlin/data/remote/mongoDataSource/MongoDBDataSourceImpl.kt b/src/main/kotlin/data/remote/mongoDataSource/MongoDBDataSourceImpl.kt index 66f87fa..2b86e6b 100644 --- a/src/main/kotlin/data/remote/mongoDataSource/MongoDBDataSourceImpl.kt +++ b/src/main/kotlin/data/remote/mongoDataSource/MongoDBDataSourceImpl.kt @@ -1,6 +1,7 @@ package data.remote.mongoDataSource import com.mongodb.client.model.Filters +import com.mongodb.client.model.Filters.and import com.mongodb.client.model.Filters.eq import com.mongodb.client.model.Updates import com.mongodb.client.model.Updates.combine @@ -16,6 +17,7 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.toList import kotlinx.coroutines.withContext +import logic.entities.Audit import logic.entities.Task import logic.exceptions.* import org.bson.conversions.Bson @@ -62,19 +64,29 @@ class MongoDBDataSourceImpl( //region audit operations override suspend fun getAllAuditLogs(): List { - TODO("Not yet implemented") + return auditsCollection.find().toList() } override suspend fun addAuditLog(audit: AuditDto) { - TODO("Not yet implemented") + auditsCollection.insertOne(audit) } override suspend fun getAuditLogsByProjectId(projectId: String): List { - TODO("Not yet implemented") + return auditsCollection.find( + and( + eq("entityId", projectId), + eq("entityType", Audit.EntityType.PROJECT.name) + ) + ).toList() } override suspend fun getAuditLogsByTaskId(taskId: String): List { - TODO("Not yet implemented") + return auditsCollection.find( + and( + eq("entityId", taskId), + eq("entityType", Audit.EntityType.TASK.name) + ) + ).toList() } //endregion