Implement TodoItem Data Access Object (DAO) for Room Database#7
Open
valin1993 wants to merge 7 commits into
Open
Conversation
valin1993
marked this pull request as ready for review
June 28, 2025 17:33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implement TodoItem Data Access Object (DAO) for Room Database
Description
Task
Implement TodoItem Data Access Object (DAO) with basic CRUD methods for interacting with Todo items in the Room database
Acceptance Criteria
Summary of Work
This pull request implements a comprehensive Data Access Object (DAO) for Todo items, providing a robust abstraction layer for database operations in our Android Todo application.
Changes Made
Implementation Details
CRUD Operations
insert(todoItem: TodoItem): Inserts a single todo item with REPLACE conflict strategyinsertAll(todoItems: List<TodoItem>): Batch insert of multiple todo itemsupdate(todoItem: TodoItem): Updates an existing todo itemdelete(todoItem: TodoItem): Deletes a specific todo itemdeleteAll(): Removes all todo items from the databaseRetrieval Methods
getById(id: Long): Retrieves a single todo item by its IDgetAllTodoItems(): Returns all todo items sorted by creation dategetCompletedTodoItems(): Retrieves completed todo itemsgetActiveTodoItems(): Retrieves active (non-completed) todo itemsUtility Methods
count(): Returns the total number of todo items in the databaseKey Features
Testing Approach
Notes
Changes Made
Tests
Signatures
Staking Key
AfoZUkZfJSxTqy9XdG9qCSUsfqzySwuexqZzpD6oeYva: 2sKi965p71eQUSw1nSV9y6vtx8jXo75sGC5Yw1BPbVJGDM58wL7GsXj1MdLXzZDnf5ziw44EaQwEYMAuKpJ1PRRaNa8M8H96FZpvusdSvFf5Rc73m2ryisC3g9mS5gA3W2jFhECbxNgZ1SDQ57W9vq1m9UuWE7EoSWKvirgQHRvWqYeBPUdU9kAPR5tLD8oAyvM91SDfEPB9icL2swsiSy2mqsYAbYUXudH1uGyYqLwnw4Zm7g23goioKoQc3ARtKLizhuQZPrYabTcdmL2rcEEL3u18GcTzifAZSWoRjnpJE3KunpsxrrW9Nd5HAga31f1KhMSmyfUYWGyEWV6pLDQEPkEYz9vVJ8D3K4uwVaiwhLmqPizWUuTAnn1uZ9dxPpMx4sBiD1LAMLTffW3fAWCNt2JMx4zMjSrp
Public Key
D5VNc6HXDCJwfNP7nbNk7yTC96mW9m7UFtU4oHiK2H8T: SWqRFr6Pe8bd6oMort7ctqSpWmzUCdBcJ7akucAYXqDCrAYEtM3FBXRmksZ6VPXSg1Y8NHbFUJc584Bx9YU2v4ecfDEB1DMTXt4zsKG2uGyCH62orgFeuxChneT7qkYbKtJ2dxcN3kitmFRy6mKxymHhY1N8q8o8V9dATvCYUyfA9Nxw3b1HqoDfqrad44SFSFRfBJsFNgkzsB9oeeiVgnu4M3CKixrN32zxorbAWUu7ceD6seGfsXZd91rDFBZTwGZyhS7JHeM4GDqccnCPjj6EBMg7EteZLNDFBBTPngT89ZzXcyDmJTeJ6iZbK95LA3amRxLkTg3zbLQaSGBbub1C8CBXbdGWgRPiZ17TZqGwV7fCMpU36c4KRxMzZTYqZjUu1EaLsvdswREePLXehXjrvzn1ojkKdAc