Compare commits

..

4 commits

Author SHA1 Message Date
Imbus
b9c8cf5b05 Release in makefile 2024-05-03 08:34:42 +02:00
Imbus
43668dc8d3 Passing more tests 2024-05-03 08:34:33 +02:00
Imbus
9425d585bf Updated sql 2024-05-03 08:34:18 +02:00
Imbus
e0310d0410 Ignore 2024-05-03 08:33:17 +02:00
5 changed files with 41 additions and 9 deletions

1
.gitignore vendored
View file

@ -27,3 +27,4 @@ krusty.sqlite3
*.sqlite3 *.sqlite3
*.db *.db
*.tar.gz

View file

@ -26,7 +26,7 @@ CREATE TABLE IF NOT EXISTS orders (
-- Recipes for all the cookies (essentially a list of cookies) -- Recipes for all the cookies (essentially a list of cookies)
CREATE TABLE IF NOT EXISTS recipes ( CREATE TABLE IF NOT EXISTS recipes (
recipe_id int PRIMARY KEY, recipe_id int PRIMARY KEY,
recipe_name varchar(100) -- Cookie name recipe_name varchar(100) UNIQUE -- Cookie name
); );
-- "The company has a raw materials warehouse in which -- "The company has a raw materials warehouse in which

View file

@ -1,6 +1,6 @@
-- Inserts here -- Inserts here
INSERT OR IGNORE INTO INSERT
customers (customer_id, customer_name, customer_address) OR IGNORE INTO customers (customer_id, customer_name, customer_address)
VALUES VALUES
(1, 'Bjudkakor AB', 'Ystad'), (1, 'Bjudkakor AB', 'Ystad'),
(2, 'Finkakor AB', 'Helsingborg'), (2, 'Finkakor AB', 'Helsingborg'),
@ -11,12 +11,35 @@ VALUES
(7, 'Skånekakor AB', 'Perstorp'), (7, 'Skånekakor AB', 'Perstorp'),
(8, 'Småbröd AB', 'Malmö'); (8, 'Småbröd AB', 'Malmö');
INSERT INTO INSERT
recipes (recipe_name) OR IGNORE INTO recipes (recipe_name)
VALUES VALUES
('Nut ring'), ('Nut ring'),
('Nut cookie'), ('Nut cookie'),
('Amneris'), ('Amneris'),
('Tango'), ('Tango'),
('Almond delight'), ('Almond delight'),
('Berliner'); ('Berliner');
INSERT
OR IGNORE INTO ingredients (ingredient_name, amount, unit)
VALUES
('Bread crumbs', 500000, 'g'),
('Butter', 500000, 'g'),
('Chocolate', 500000, 'g'),
('Chopped almonds', 500000, 'g'),
('Cinnamon', 500000, 'g'),
('Egg whites', 500000, 'ml'),
('Eggs', 500000, 'g'),
('Fine-ground nuts', 500000, 'g'),
('Flour', 500000, 'g'),
('Ground, roasted nuts', 500000, 'g'),
('Icing sugar', 500000, 'g'),
('Marzipan', 500000, 'g'),
('Potato starch', 500000, 'g'),
('Roasted, chopped nuts', 500000, 'g'),
('Sodium bicarbonate', 500000, 'g'),
('Sugar', 500000, 'g'),
('Vanilla', 500000, 'g'),
('Vanilla sugar', 500000, 'g'),
('Wheat flour', 500000, 'g');

View file

@ -22,8 +22,8 @@ public class Database {
// "jdbc:sqlite:<filename>.sqlite3" to use a file-based database instead. // "jdbc:sqlite:<filename>.sqlite3" to use a file-based database instead.
// Nore that ":memory:" is an **SQLite specific** magic string that tells the // Nore that ":memory:" is an **SQLite specific** magic string that tells the
// underlying SQLite engine to store the database in memory. // underlying SQLite engine to store the database in memory.
// private static final String jdbcString = "jdbc:sqlite::memory:"; private static final String jdbcString = "jdbc:sqlite::memory:";
private static final String jdbcString = "jdbc:sqlite:krusty.db"; // private static final String jdbcString = "jdbc:sqlite:krusty.db";
private Connection conn = null; private Connection conn = null;
public String getCustomers(Request req, Response res) { public String getCustomers(Request req, Response res) {
@ -34,11 +34,14 @@ public class Database {
} }
public String getRawMaterials(Request req, Response res) { public String getRawMaterials(Request req, Response res) {
return "{}"; String result = selectQuery("ingredients", "raw-materials", "ingredient_name", "amount", "unit");
result = result.replaceAll("ingredient_name", "name");
return result;
} }
public String getCookies(Request req, Response res) { public String getCookies(Request req, Response res) {
String result = selectQuery("recipes", "cookies", "recipe_name"); String result = selectQuery("recipes", "cookies", "recipe_name");
result = result.replaceAll("recipe_name", "name");
return result; return result;
} }

View file

@ -17,4 +17,9 @@ migrate:
sqlite3 app/krusty.db < app/Migrations/create-schema.sql sqlite3 app/krusty.db < app/Migrations/create-schema.sql
sqlite3 app/krusty.db < app/Migrations/initial-data.sql sqlite3 app/krusty.db < app/Migrations/initial-data.sql
GITHASH := $(shell git rev-parse --short HEAD)
# Tar everything that isnt gitignored
release:
git ls-files -z | xargs -0 tar -czf krusty-imbus_$(GITHASH).tar.gz
.PHONY: run clean test build .PHONY: run clean test build