-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
49 lines (49 loc) · 1.7 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fastify_1 = __importDefault(require("fastify"));
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
const fastify_kysely_1 = require("fastify-kysely");
const kysely_1 = require("kysely");
const listen = async () => {
const sqliteDialect = new kysely_1.SqliteDialect({
database: new better_sqlite3_1.default(':memory:')
});
const kyselyInstance = new kysely_1.Kysely({ dialect: sqliteDialect });
const server = (0, fastify_1.default)();
await server.register(fastify_kysely_1.fastifyKysely, {
namespace: 'sqliteDB',
kysely: kyselyInstance
});
await server.kysely.sqliteDB.schema.createTable('person')
.addColumn('id', 'integer', (col) => col.primaryKey())
.addColumn('first_name', 'varchar')
.addColumn('last_name', 'varchar')
.execute();
await server.kysely.sqliteDB.insertInto('person')
.values([
{
first_name: 'Max',
last_name: 'Jack',
},
{
first_name: 'Greg',
last_name: 'Johnson',
},
])
.execute();
server.get('/', async (request, reply) => {
const result = await request.server.kysely.sqliteDB.selectFrom('person').selectAll().execute();
return result;
});
server.listen({ port: 5000 }, (err, address) => {
if (err) {
console.error(err);
process.exit(1);
}
console.log(`Server listening at ${address}`);
});
};
listen().then();