dev(extensions): [+] data

The data extension adds convenient access to the database and kvstore
via it's 'db' and 'kv' exports.

Example usage:
  const { db, kv } = extensions.import('data');
  await kv.set('some-key', 'some-value');
  await db.write('INSERT INTO something (a, b) VALUES (1, 2)');
This commit is contained in:
KernelDeimos
2025-09-26 15:28:00 -04:00
parent 63bf4eccbe
commit 601eb019a2
2 changed files with 12 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
//@extension priority -10000
const { DB_WRITE } = extension.import('core').database;
const svc_database = extension.import('service:database');
const svc_kvstore = extension.import('service:puter-kvstore');
extension.exports = {
db: svc_database.get(DB_WRITE, 'extensions'),
kv: svc_kvstore.as('puter-kvstore'),
};
+2
View File
@@ -105,6 +105,8 @@ const install = async ({ context, services, app, useapi, modapi }) => {
def('web', require('./util/expressutil'));
def('core.validation', require('@heyputer/backend-core-0').validation);
def('core.database', require('./services/database/consts.js'));
// Extension compatibility
const runtimeModule = new RuntimeModule({ name: 'core' });
context.get('runtime-modules').register(runtimeModule);