# LeStorage # Rules - To store data in the json format inside files, you first need to create some model class, for example `Car` - You make `Car` inherit `ModelObject`, and implement `Storable` - To get the `StoredCollection` that manages all your cars and stores them for you, you do `Store.main.registerCollection()` to retrieve a collection. LeStorage stores data as JSON files inside the **storage** directory. ## Multi Store You can store collections inside separate folders by creating other stores: - Use StoreCenter.main.store(identifier: id, parameter: param) to create a new store. The directory will be named after the identifier under the **storage** directory. The parameter is used to retrieve data from server as the GET requests will add the parameter as an argument in the URL, like https://www.myurl.net/api/cars/?param=id # Sync - When registering your collection, you can choose to have it synchronized. To do that: - Call `StoreCenter.main.configureURLs` - Pass `synchronized: true` when registering the collection - For each of your `ModelObject`, make sure that `resourceName()` returns the resource path of the endpoint, for example "cars" - Synchronization is expected to be done with a rest_framework API on a django server - On Django, when using cascading delete foreign, you'll want to avoid sending useless delete API calls to django, so override the `deleteDependencies` function of your ModelObject and call `deleteDependencies` on the collection for the objects you also want to delete to reproduce the cascading effect