UNPKG

@jigx/mdk

Version:

Jigx Mobile Development Kit - SDK for building Jigx applications

27 lines 3.03 kB
/** * Configures expense data provider with offline-capable sync. * Extracts JSON fields for efficient querying while preserving document storage. * @param app - Application builder instance * @returns Configured datasource for expense records */ export function dataExpenses(app) { return app.addDatasource.sqlite('data-expenses', 'dynamic') .entity('default/expenses') .query(/* sql */ ` SELECT id, -- Either, use data directly as JSON document exp.data, -- Or, extract specific fields json_extract(exp.data, '$.title') AS title, json_extract(exp.data, '$.amount') AS amount, json_extract(exp.data, '$.category') AS category, json_extract(exp.data, '$.date') AS date, json_extract(exp.data, '$.description') AS description FROM [default/expenses] AS exp ORDER BY json_extract(exp.data, '$.date') DESC `) // If using `data` directly .isDocument(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1leHBlbnNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RlbXBsYXRlLWFwcC0xL2RhdGFzb3VyY2VzL2RhdGEtZXhwZW5zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQXVCO0lBQ2xELE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQztTQUN4RCxNQUFNLENBQUMsa0JBQWtCLENBQUM7U0FDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQTs7Ozs7Ozs7Ozs7OztLQWFmLENBQUM7UUFDRiwyQkFBMkI7U0FDMUIsVUFBVSxFQUFFLENBQUE7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFzb3VyY2VCdWlsZGVyLCBBcHBsaWNhdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMnXG5cbi8qKlxuICogQ29uZmlndXJlcyBleHBlbnNlIGRhdGEgcHJvdmlkZXIgd2l0aCBvZmZsaW5lLWNhcGFibGUgc3luYy5cbiAqIEV4dHJhY3RzIEpTT04gZmllbGRzIGZvciBlZmZpY2llbnQgcXVlcnlpbmcgd2hpbGUgcHJlc2VydmluZyBkb2N1bWVudCBzdG9yYWdlLlxuICogQHBhcmFtIGFwcCAtIEFwcGxpY2F0aW9uIGJ1aWxkZXIgaW5zdGFuY2VcbiAqIEByZXR1cm5zIENvbmZpZ3VyZWQgZGF0YXNvdXJjZSBmb3IgZXhwZW5zZSByZWNvcmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRhRXhwZW5zZXMoYXBwOiBBcHBsaWNhdGlvbkJ1aWxkZXIpOiBEYXRhc291cmNlQnVpbGRlciB7XG4gIHJldHVybiBhcHAuYWRkRGF0YXNvdXJjZS5zcWxpdGUoJ2RhdGEtZXhwZW5zZXMnLCAnZHluYW1pYycpXG4gICAgLmVudGl0eSgnZGVmYXVsdC9leHBlbnNlcycpXG4gICAgLnF1ZXJ5KC8qIHNxbCAqL2BcbiAgICAgIFNFTEVDVCBcbiAgICAgICAgaWQsXG4gICAgICAgIC0tIEVpdGhlciwgdXNlIGRhdGEgZGlyZWN0bHkgYXMgSlNPTiBkb2N1bWVudFxuICAgICAgICBleHAuZGF0YSxcbiAgICAgICAgLS0gT3IsIGV4dHJhY3Qgc3BlY2lmaWMgZmllbGRzXG4gICAgICAgIGpzb25fZXh0cmFjdChleHAuZGF0YSwgJyQudGl0bGUnKSBBUyB0aXRsZSxcbiAgICAgICAganNvbl9leHRyYWN0KGV4cC5kYXRhLCAnJC5hbW91bnQnKSBBUyBhbW91bnQsXG4gICAgICAgIGpzb25fZXh0cmFjdChleHAuZGF0YSwgJyQuY2F0ZWdvcnknKSBBUyBjYXRlZ29yeSxcbiAgICAgICAganNvbl9leHRyYWN0KGV4cC5kYXRhLCAnJC5kYXRlJykgQVMgZGF0ZSxcbiAgICAgICAganNvbl9leHRyYWN0KGV4cC5kYXRhLCAnJC5kZXNjcmlwdGlvbicpIEFTIGRlc2NyaXB0aW9uXG4gICAgICBGUk9NIFtkZWZhdWx0L2V4cGVuc2VzXSBBUyBleHBcbiAgICAgIE9SREVSIEJZIGpzb25fZXh0cmFjdChleHAuZGF0YSwgJyQuZGF0ZScpIERFU0NcbiAgICBgKVxuICAgIC8vIElmIHVzaW5nIGBkYXRhYCBkaXJlY3RseVxuICAgIC5pc0RvY3VtZW50KClcbn0iXX0=