Testing Sklad features

by MaxenceBrasselet

HTML

<script src="https://rawgithub.com/1999/sklad/master/sklad.js"></script>
<script src="file:///E:/Maxence/dev/git/Bitbucket/TeiaNote/TeiaNoteAPI/DB/table.js" />

JavaScript

var _skladInstance = undefined;
var _db = undefined;
var _version = 3;
var _migrations = {};


// static.
window.open = function () { 
    sklad.open('SkladDB', { 
        version: _version,
        migration: _migrations
    },
    function (err, skladInstance) {
        if (err)
            throw new Error(err);

        _skladInstance = skladInstance
        _db = skladInstance.database;
        _version = _db.version;
    });
};

    window.getValues = function() {
        console.log("db: ", _db);
        console.log("version: ", _version);
    };

window.addTable = function() {
    _migrations[++_version] = function(database, transaction) {
        var objStore = database.createObjectStore('users', {autoIncrement: true});
        
        objStore.createIndex('name', 'name');
    };
    
    open();
}

window.addData = function() {
    sklad.open('SkladDB', 
               { version: _version },
               function (err, database) {
                   console.log(err);
                   database.insert(
                       { "users": [
                           { name: "user 1" }, 
                           { name: "user 2" }
                       ]}, 
                       function (err, insertedKeys) {
                            if (err)
                                throw new Error(err);

                            var t = true;
                       }
                   );
               }
    );
}

new TeiaNote.DB.Table('test');

window.get = function() {
    sklad.open('SkladDB', { version: _version }, function (err, database) {
        database.get("users", {
        }, function (err, records) {
            if (err)
                throw new Error(err);
            
            // records in an object with structure:
            // {
            //     key1: object1,
            //     key2: object2,
            //     ...
            // }
        });
    });
}