ArchGPT / insomnium

Insomnium is a fast local API testing tool that is privacy-focused and 100% local. For testing GraphQL, REST, WebSockets and gRPC. This is a fork of Kong/insomnia
MIT License
3.3k stars 123 forks source link

Add abstraction of the database + add FS implementation #153

Open MacFJA opened 4 months ago

MacFJA commented 4 months ago

This PR is PoC for the issue #24 (part of the Roadmap #13)


The PR is far from complete, and the approach is a bit naive.

The idea is to have an interface that implement all functions that Insonimum use to communicate with the Database based on the Insomnia real usage. Make an implementation with NeDB to check that Insonimum is still running. Then make a new implementation that use Node FS module.


So far, it's seem to work, but I don't cover all use case. And some unit tests are also failing

Tests: 55 failed, 939 passed, 994 total


We can even push the idea a bit further bit and implements 2 new databases: a Primary/Replica database (a simple implementation that forward all call to several other implementations) and a Git implementation With this, we can achieve seamless Git synchronization