Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensible Data Persistence Model #2576

Closed
20 tasks done
nazarhussain opened this issue Sep 19, 2018 · 1 comment · Fixed by #2781
Closed
20 tasks done

Extensible Data Persistence Model #2576

nazarhussain opened this issue Sep 19, 2018 · 1 comment · Fixed by #2781
Assignees

Comments

@nazarhussain
Copy link
Contributor

nazarhussain commented Sep 19, 2018

Purpose of this task is to use a Extended Data Mapper pattern for the database component outlined by the LIP “Introduce new flexible, resilient and modular architecture for Lisk Core”. The proposed model will help to extend and maintain the persistence layer of Lisk Core by being generic, easy to understand and organized.

  1. Create basic structure for entities and storage initialization Create basic structure for entities and storage initialization #2613
  2. Create Account entity with CRUD operations and unit tests Create Account entity with CRUD operations and unit tests  #2614
  3. Create Block entity with CRUD operations and unit tests Create Block entity with CRUD operations and unit tests  #2615
  4. Create Transaction entity with CRUD operations and unit tests Create Transaction entity with CRUD operations and unit tests  #2616
  5. Create Peer entity with CRUD operations and unit tests Create Peer entity with CRUD operations and unit tests  #2617
  6. Create Round entity with CRUD operations and unit tests Create Round entity with CRUD operations and unit tests  #2618
  7. Create Migration entity with CRUD operations and unit tests Create Migration entity with CRUD operations and unit tests  #2619
  8. Replace db.accounts.list, modules.accounts[.shared].get* and logic.account.get*
    with storage.entieis.Account.get Replace account getter interfaces with storage.entities.Account.get #2620
  9. Replace db.transactions.list and modules.transactions[.shared].get*
    with storage.entieis.Transaction.get Replace transactions getter interfaces with storage.entities.Transaction.get #2621
  10. Replace db.blocks.list and modules.blocks[.shared].list*
    with storage.entieis.Transaction.get Replace blocks getter interfaces with storage.entities.Block.get #2622
  11. Refactor modules.accounts[.shared] namespace Refactor modules.accounts[.shared] namespace #2623
  12. Refactor modules.transactions[.shared] namespace Refactor modules.transactions[.shared] namespace #2624
  13. Refactor modules.blocks[.shared] namespace Refactor modules.blocks[.shared] namespace #2625
  14. Replace db.migration and move custom interfaces to storage.entities.Migration Remove db.migration repository #2626
  15. Replace db.accounts and move custom interfaces to storage.entities.Account Remove db.accounts repository  #2627
  16. Replace db.transactions and move custom interfaces to storage.entities.Transaction Remove db.transactions repository  #2628
  17. Replace db.blocks and move custom interfaces to storage.entities.Block Remove db.blocks repository #2629
  18. Replace db.rounds and move custom interfaces to storage.entities.Round Remove db.rounds repository #2630
  19. Replace db.peers and move custom interfaces to storage.entities.Peer Remove db.peers repository #2631
  20. Scan all modules to find interfaces which can be replaced by storage.entities Clean db namespace and remove its reference usage #2632
@MaciejBaj MaciejBaj transferred this issue from LiskArchive/lisk-modular Nov 26, 2018
@nazarhussain nazarhussain changed the title Expose persistent entities with public interfaces Extensible Data Persistence Model Nov 26, 2018
@MaciejBaj
Copy link
Contributor

👏

@MaciejBaj MaciejBaj reopened this Jan 23, 2019
MaciejBaj added a commit that referenced this issue Jan 23, 2019
…nce-model

Extensible Data Persistence Model - Closes #2576
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants