From 585706cc1641046eff1df59575e18c8e659bfd0a Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 12 Aug 2020 00:23:03 -0700 Subject: [PATCH] Fix css issue. --- cli.js | 68 --------------- cli/create-account.js | 22 ----- cli/init.js | 7 ++ components/charts/MetricCard.module.css | 1 + index.js | 1 - prisma/schema.mysql.prisma | 84 +++++++++++++++++++ ...schema.prisma => schema.postgresql.prisma} | 2 + rollup.cli.config.js | 18 ---- 8 files changed, 94 insertions(+), 109 deletions(-) delete mode 100644 cli.js delete mode 100644 cli/create-account.js create mode 100644 cli/init.js delete mode 100644 index.js create mode 100644 prisma/schema.mysql.prisma rename prisma/{schema.prisma => schema.postgresql.prisma} (97%) delete mode 100644 rollup.cli.config.js diff --git a/cli.js b/cli.js deleted file mode 100644 index 8a3b9b80..00000000 --- a/cli.js +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -function _interopDefault(ex) { - return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex; -} - -require('dotenv/config'); -var yargs = _interopDefault(require('yargs')); -var chalk = _interopDefault(require('chalk')); -var client = require('@prisma/client'); - -const prisma = new client.PrismaClient({ - log: [ - { - emit: 'event', - level: 'query', - }, - ], -}); - -prisma.on('query', e => { - if (process.env.LOG_QUERY) { - console.log(`${e.query} (${e.duration}ms)`); - } -}); - -var createAccount = async () => { - const account = await prisma.account.findOne({ - where: { - username: 'admin', - }, - }); - - if (!account) { - await prisma.account.create({ - data: { - username: 'admin', - password: '$2a$10$BXHPV7APlV1I6WrKJt1igeJAyVsvbhMTaTAi3nHkUJFGPsYmfZq3y', - is_admin: true, - }, - }); - console.log('Account succesfully created.'); - } else { - console.log('Account already exists.'); - } -}; - -const cmd = yargs.usage('Usage: umami [arguments]').help('h').alias('h', 'help'); - -const { argv } = cmd; -const { - _: [action, ...params], -} = argv; - -const exec = async () => { - if (action === 'create') { - await createAccount(); - } else { - cmd.showHelp(); - } - - console.log(chalk.green('Finished.')); -}; - -exec().then(() => { - process.exit(0); -}); diff --git a/cli/create-account.js b/cli/create-account.js deleted file mode 100644 index f689fe8c..00000000 --- a/cli/create-account.js +++ /dev/null @@ -1,22 +0,0 @@ -import { prisma } from '../lib/db'; - -export default async () => { - const account = await prisma.account.findOne({ - where: { - username: 'admin', - }, - }); - - if (!account) { - await prisma.account.create({ - data: { - username: 'admin', - password: '$2a$10$BXHPV7APlV1I6WrKJt1igeJAyVsvbhMTaTAi3nHkUJFGPsYmfZq3y', - is_admin: true, - }, - }); - console.log('Account succesfully created.'); - } else { - console.log('Account already exists.'); - } -}; diff --git a/cli/init.js b/cli/init.js new file mode 100644 index 00000000..f78eb6ae --- /dev/null +++ b/cli/init.js @@ -0,0 +1,7 @@ +import term from 'terminal-kit'; + +const { terminal } = term; + +export default function init() { + terminal('hello!'); +} diff --git a/components/charts/MetricCard.module.css b/components/charts/MetricCard.module.css index 84f88211..96adad3c 100644 --- a/components/charts/MetricCard.module.css +++ b/components/charts/MetricCard.module.css @@ -10,6 +10,7 @@ line-height: 40px; min-height: 40px; font-weight: 600; + white-space: nowrap; } .label { diff --git a/index.js b/index.js deleted file mode 100644 index f053ebf7..00000000 --- a/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; diff --git a/prisma/schema.mysql.prisma b/prisma/schema.mysql.prisma new file mode 100644 index 00000000..401f81b5 --- /dev/null +++ b/prisma/schema.mysql.prisma @@ -0,0 +1,84 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mysql" + url = env("DATABASE_URL") +} + +model account { + user_id Int @default(autoincrement()) @id + username String @unique + password String + is_admin Boolean @default(false) + created_at DateTime? @default(now()) + updated_at DateTime? @default(now()) + website website[] +} + +model event { + event_id Int @default(autoincrement()) @id + website_id Int + session_id Int + created_at DateTime? @default(now()) + url String + event_type String + event_value String + session session @relation(fields: [session_id], references: [session_id]) + website website @relation(fields: [website_id], references: [website_id]) + + @@index([created_at], name: "event_created_at_idx") + @@index([session_id], name: "event_session_id_idx") + @@index([website_id], name: "event_website_id_idx") +} + +model pageview { + view_id Int @default(autoincrement()) @id + website_id Int + session_id Int + created_at DateTime? @default(now()) + url String + referrer String? + session session @relation(fields: [session_id], references: [session_id]) + website website @relation(fields: [website_id], references: [website_id]) + + @@index([created_at], name: "pageview_created_at_idx") + @@index([session_id], name: "pageview_session_id_idx") + @@index([website_id], name: "pageview_website_id_idx") +} + +model session { + session_id Int @default(autoincrement()) @id + session_uuid String @unique + website_id Int + created_at DateTime? @default(now()) + hostname String? + browser String? + os String? + device String? + screen String? + language String? + country String? + website website @relation(fields: [website_id], references: [website_id]) + event event[] + pageview pageview[] + + @@index([created_at], name: "session_created_at_idx") + @@index([website_id], name: "session_website_id_idx") +} + +model website { + website_id Int @default(autoincrement()) @id + website_uuid String @unique + user_id Int + name String + domain String? + created_at DateTime? @default(now()) + account account @relation(fields: [user_id], references: [user_id]) + event event[] + pageview pageview[] + session session[] + + @@index([user_id], name: "website_user_id_idx") +} diff --git a/prisma/schema.prisma b/prisma/schema.postgresql.prisma similarity index 97% rename from prisma/schema.prisma rename to prisma/schema.postgresql.prisma index 65f0b145..6803135a 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.postgresql.prisma @@ -79,4 +79,6 @@ model website { event event[] pageview pageview[] session session[] + + @@index([user_id], name: "website_user_id_idx") } diff --git a/rollup.cli.config.js b/rollup.cli.config.js deleted file mode 100644 index 0a63d131..00000000 --- a/rollup.cli.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import 'dotenv/config'; -import hashbang from 'rollup-plugin-hashbang'; -import commonjs from '@rollup/plugin-commonjs'; - -export default { - input: 'cli/index.js', - output: { - file: 'cli.js', - format: 'cjs', - }, - plugins: [ - hashbang(), - commonjs({ - include: 'node_modules/**', - }), - ], - external: ['yargs', 'chalk', 'dotenv/config', '@prisma/client'], -};