Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
DutchEllie | da55b65a42 | |
DutchEllie | 62bac12144 |
|
@ -1,3 +1,8 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: newsite
|
name: newsite
|
||||||
version: v0.0.3
|
version: v0.0.4
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: mariadb
|
||||||
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
version: 11.1.8
|
|
@ -27,3 +27,15 @@ ingress:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
auth:
|
||||||
|
database: website
|
||||||
|
username: ellie
|
||||||
|
password: ellie
|
||||||
|
rootPassword: ellie
|
||||||
|
primary:
|
||||||
|
service:
|
||||||
|
port: 3306
|
||||||
|
persistence:
|
||||||
|
size: 3Gi
|
|
@ -1,6 +1,8 @@
|
||||||
baseURL: changeme.dutchellie.nl
|
baseURL: changeme.dutchellie.nl
|
||||||
name: changeme-prod
|
name: changeme-prod
|
||||||
containerEnv:
|
containerEnv:
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: production
|
||||||
# - name: APIURL
|
# - name: APIURL
|
||||||
# value: https://api.quenten.nl/api
|
# value: https://api.quenten.nl/api
|
||||||
service:
|
service:
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
baseURL: changemestaging.dutchellie.nl
|
baseURL: changemestaging.dutchellie.nl
|
||||||
name: changeme-staging
|
name: changeme-staging
|
||||||
containerEnv:
|
containerEnv:
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: staging
|
||||||
# - name: APIURL
|
# - name: APIURL
|
||||||
# value: https://api.quenten.nl/api/testing
|
# value: https://api.quenten.nl/api/testing
|
||||||
service:
|
service:
|
||||||
|
|
|
@ -6,3 +6,4 @@ node_modules
|
||||||
.env
|
.env
|
||||||
.env.*
|
.env.*
|
||||||
!.env.example
|
!.env.example
|
||||||
|
*.sqlite3
|
File diff suppressed because it is too large
Load Diff
|
@ -11,7 +11,8 @@
|
||||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||||
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
||||||
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
|
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
|
||||||
"format": "prettier --write --plugin-search-dir=. ."
|
"format": "prettier --write --plugin-search-dir=. .",
|
||||||
|
"knex": "node --loader ts-node/esm node_modules/.bin/knex --knexfile src/lib/db/knexfile.ts"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sveltejs/adapter-auto": "next",
|
"@sveltejs/adapter-auto": "next",
|
||||||
|
@ -38,7 +39,11 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"js-sha256": "^0.9.0",
|
"js-sha256": "^0.9.0",
|
||||||
|
"knex": "^2.2.0",
|
||||||
|
"mysql2": "^2.3.3",
|
||||||
|
"sqlite3": "^5.0.11",
|
||||||
"svelte-gestures": "^1.4.1",
|
"svelte-gestures": "^1.4.1",
|
||||||
"svelte-language-server": "^0.14.29"
|
"svelte-language-server": "^0.14.29",
|
||||||
|
"ts-node": "^10.9.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
import knex from "knex";
|
||||||
|
import configs from "./knexfile";
|
||||||
|
|
||||||
|
const config = configs[process.env.NODE_ENV || "development"];
|
||||||
|
|
||||||
|
const db = knex(config);
|
||||||
|
|
||||||
|
export default db;
|
|
@ -0,0 +1,54 @@
|
||||||
|
import type { Knex } from "knex";
|
||||||
|
|
||||||
|
// Update with your config settings.
|
||||||
|
|
||||||
|
const config: { [key: string]: Knex.Config } = {
|
||||||
|
development: {
|
||||||
|
client: "sqlite3",
|
||||||
|
connection: {
|
||||||
|
filename: "/home/quenten/Documents/repos/dutchellie.nl/DutchEllie/svelte-website/src/lib/db/dev.sqlite3"
|
||||||
|
},
|
||||||
|
debug: true,
|
||||||
|
useNullAsDefault: true,
|
||||||
|
migrations: {
|
||||||
|
extension: 'ts',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
staging: {
|
||||||
|
client: "mysql",
|
||||||
|
connection: {
|
||||||
|
database: "website_staging",
|
||||||
|
user: "ellie",
|
||||||
|
password: "ellie"
|
||||||
|
},
|
||||||
|
pool: {
|
||||||
|
min: 2,
|
||||||
|
max: 10
|
||||||
|
},
|
||||||
|
migrations: {
|
||||||
|
tableName: "knex_migrations",
|
||||||
|
extension: 'ts',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
production: {
|
||||||
|
client: "mysql",
|
||||||
|
connection: {
|
||||||
|
database: "website",
|
||||||
|
user: "ellie",
|
||||||
|
password: "ellie"
|
||||||
|
},
|
||||||
|
pool: {
|
||||||
|
min: 2,
|
||||||
|
max: 10
|
||||||
|
},
|
||||||
|
migrations: {
|
||||||
|
tableName: "knex_migrations",
|
||||||
|
extension: 'ts',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
|
@ -0,0 +1,19 @@
|
||||||
|
import type { Knex } from "knex";
|
||||||
|
|
||||||
|
|
||||||
|
export async function up(knex: Knex): Promise<void> {
|
||||||
|
return knex.schema.createTable("users", (table) => {
|
||||||
|
table.increments("userid", { primaryKey: true });
|
||||||
|
table.string("username", 255).notNullable;
|
||||||
|
table.string("email", 255).notNullable;
|
||||||
|
table.string("password", 64).notNullable;
|
||||||
|
table.string("website", 255);
|
||||||
|
table.timestamps(true, true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export async function down(knex: Knex): Promise<void> {
|
||||||
|
return knex.schema.dropTable("users");
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import type { Knex } from "knex";
|
||||||
|
|
||||||
|
|
||||||
|
export async function up(knex: Knex): Promise<void> {
|
||||||
|
return knex.schema.createTable("music", (table) => {
|
||||||
|
table.increments("musicid", { primaryKey: true });
|
||||||
|
table.string("ytlink", 255);
|
||||||
|
table.integer("userid");
|
||||||
|
table.foreign("userid").references("userid").inTable("users");
|
||||||
|
table.timestamps(true, true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export async function down(knex: Knex): Promise<void> {
|
||||||
|
return knex.schema.dropTable("music");
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
import db from "./db";
|
||||||
|
import type User from "../entities/user";
|
||||||
|
import type Music from "../entities/music";
|
||||||
|
|
||||||
|
export function addSong(link: string, userid: number): Promise<number> {
|
||||||
|
const song: Music = {
|
||||||
|
ytlink: link,
|
||||||
|
userID: userid,
|
||||||
|
};
|
||||||
|
return db()
|
||||||
|
.insert(song)
|
||||||
|
.into("music")
|
||||||
|
.then((v) => {
|
||||||
|
return v[0];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getSongsByUserID(userid: number): Promise<Music[]> {
|
||||||
|
return db()
|
||||||
|
.select("*")
|
||||||
|
.from<Music>("music")
|
||||||
|
.where("userid", userid)
|
||||||
|
.then((v) => {
|
||||||
|
return v;
|
||||||
|
});
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import db from "./db";
|
||||||
|
import type User from "../entities/user";
|
||||||
|
|
||||||
|
export function getID(userid: number): Promise<User | undefined>{
|
||||||
|
const user = db().select("*").from<User>("users").where("userid", userid).first().then((user) => {
|
||||||
|
return user;
|
||||||
|
});
|
||||||
|
return user;
|
||||||
|
};
|
||||||
|
|
||||||
|
export function createUser(username: string, email: string, website: string, password: string): Promise<number> {
|
||||||
|
return db()
|
||||||
|
.insert({
|
||||||
|
username: username,
|
||||||
|
email: email,
|
||||||
|
website: website,
|
||||||
|
password: password,
|
||||||
|
})
|
||||||
|
.into("users")
|
||||||
|
.then((n) => {
|
||||||
|
return n[0];
|
||||||
|
});
|
||||||
|
};
|
|
@ -0,0 +1,9 @@
|
||||||
|
interface Music {
|
||||||
|
musicID?: number;
|
||||||
|
ytlink: string;
|
||||||
|
userID: number;
|
||||||
|
created_at?: Date,
|
||||||
|
updated_at?: Date,
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Music;
|
|
@ -0,0 +1,11 @@
|
||||||
|
interface User {
|
||||||
|
userid: number,
|
||||||
|
username: string,
|
||||||
|
email: string,
|
||||||
|
password: string,
|
||||||
|
website?: string,
|
||||||
|
created_at: Date,
|
||||||
|
updated_at: Date,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default User;
|
Loading…
Reference in New Issue