This commit is contained in:
Nathan Bierema 2021-10-25 13:44:22 -04:00
parent 0d8edd24ef
commit 0d26ed09b2
5 changed files with 14 additions and 15 deletions

View File

@ -22,10 +22,9 @@ packageExtensions:
'apollo-server-core@^3.4.0': 'apollo-server-core@^3.4.0':
dependencies: dependencies:
'@types/node': '^14.17.15' '@types/node': '^14.17.15'
'knex@^0.19.5': 'tarn@^3.0.1':
dependencies: dependencies:
'@types/node': '^14.17.15' '@types/node': '^14.17.15'
'sqlite3': '^5.0.2'
'@chakra-ui/switch@^1.2.10': '@chakra-ui/switch@^1.2.10':
peerDependencies: peerDependencies:
'framer-motion': '3.x || 4.x' 'framer-motion': '3.x || 4.x'

View File

@ -1,9 +1,9 @@
import path from 'path'; import path from 'path';
import knexModule, { Config } from 'knex'; import knexModule, { Knex } from 'knex';
import { SCServer } from 'socketcluster-server'; import { SCServer } from 'socketcluster-server';
export default function connector(options: SCServer.SCServerOptions) { export default function connector(options: SCServer.SCServerOptions) {
const dbOptions = options.dbOptions as Config; const dbOptions = options.dbOptions as Knex.Config;
dbOptions.useNullAsDefault = true; dbOptions.useNullAsDefault = true;
if (!(dbOptions as any).migrate) { if (!(dbOptions as any).migrate) {
return knexModule(dbOptions); return knexModule(dbOptions);

View File

@ -1,6 +1,6 @@
import type knexModule from 'knex'; import { Knex } from 'knex';
export function up(knex: knexModule) { export function up(knex: Knex) {
return Promise.all([ return Promise.all([
knex.schema.createTable('remotedev_reports', function (table) { knex.schema.createTable('remotedev_reports', function (table) {
table.uuid('id').primary(); table.uuid('id').primary();
@ -79,7 +79,7 @@ export function up(knex: knexModule) {
]); ]);
} }
export function down(knex: knexModule) { export function down(knex: Knex) {
return Promise.all([ return Promise.all([
knex.schema.dropTable('remotedev_reports'), knex.schema.dropTable('remotedev_reports'),
knex.schema.dropTable('remotedev_apps'), knex.schema.dropTable('remotedev_apps'),

View File

@ -1,6 +1,6 @@
import type knexModule from 'knex'; import { Knex } from 'knex';
export function seed(knex: knexModule) { export function seed(knex: Knex) {
return Promise.all([knex('remotedev_apps').del()]).then(function () { return Promise.all([knex('remotedev_apps').del()]).then(function () {
return Promise.all([ return Promise.all([
knex('remotedev_apps').insert({ knex('remotedev_apps').insert({

View File

@ -1,12 +1,12 @@
import { v4 as uuidV4 } from 'uuid'; import { v4 as uuidV4 } from 'uuid';
import pick from 'lodash/pick'; import pick from 'lodash/pick';
import { SCServer } from 'socketcluster-server'; import { SCServer } from 'socketcluster-server';
import knexModule from 'knex'; import { Knex } from 'knex';
import connector from './db/connector'; import connector from './db/connector';
const reports = 'remotedev_reports'; const reports = 'remotedev_reports';
// var payloads = 'remotedev_payloads'; // var payloads = 'remotedev_payloads';
let knex: knexModule; let knex: Knex;
const baseFields = ['id', 'title', 'added']; const baseFields = ['id', 'title', 'added'];
@ -44,13 +44,13 @@ export interface ReportBaseFields {
added: string | null; added: string | null;
} }
function list(query?: unknown, fields?: string[]): Promise<ReportBaseFields[]> { function list(query?: string, fields?: string[]): Promise<ReportBaseFields[]> {
const r = knex.select(fields || baseFields).from(reports); const r = knex.select(fields || baseFields).from(reports);
if (query) return r.where(query); if (query) return r.where(query);
return r; return r;
} }
function listAll(query: unknown): Promise<Report[]> { function listAll(query?: string): Promise<Report[]> {
const r = knex.select().from(reports); const r = knex.select().from(reports);
if (query) return r.where(query); if (query) return r.where(query);
return r; return r;
@ -133,8 +133,8 @@ function byBaseFields(data: Report): ReportBaseFields {
} }
export interface Store { export interface Store {
list: (query?: unknown, fields?: string[]) => Promise<ReportBaseFields[]>; list: (query?: string, fields?: string[]) => Promise<ReportBaseFields[]>;
listAll: (query?: unknown) => Promise<Report[]>; listAll: (query?: string) => Promise<Report[]>;
get: (id: string) => Promise<Report | { error: string }>; get: (id: string) => Promise<Report | { error: string }>;
add: (data: AddData) => Promise<ReportBaseFields | { error: string }>; add: (data: AddData) => Promise<ReportBaseFields | { error: string }>;
} }