Skip to content

Commit 601eb01

Browse files
committed
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)');
1 parent 63bf4ec commit 601eb01

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

extensions/data.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//@extension priority -10000
2+
3+
const { DB_WRITE } = extension.import('core').database;
4+
const svc_database = extension.import('service:database');
5+
const svc_kvstore = extension.import('service:puter-kvstore');
6+
7+
extension.exports = {
8+
db: svc_database.get(DB_WRITE, 'extensions'),
9+
kv: svc_kvstore.as('puter-kvstore'),
10+
};

src/backend/src/CoreModule.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ const install = async ({ context, services, app, useapi, modapi }) => {
105105
def('web', require('./util/expressutil'));
106106
def('core.validation', require('@heyputer/backend-core-0').validation);
107107

108+
def('core.database', require('./services/database/consts.js'));
109+
108110
// Extension compatibility
109111
const runtimeModule = new RuntimeModule({ name: 'core' });
110112
context.get('runtime-modules').register(runtimeModule);

0 commit comments

Comments
 (0)