v1.0.0
This commit is contained in:
227
api/config/db.js
227
api/config/db.js
@@ -4,31 +4,210 @@ const path = require('path');
|
||||
const dbPath = process.env.DATABASE_PATH || '../';
|
||||
const db = new sqlite3.Database(path.join(dbPath, 'database.sqlite'));
|
||||
|
||||
// db.serialize(() => {
|
||||
// db.run(`
|
||||
// CREATE TABLE IF NOT EXISTS sheeps (
|
||||
// id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
// uuid TEXT UNIQUE
|
||||
// )
|
||||
// `);
|
||||
db.serialize(() => {
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS sheeps (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER,
|
||||
name TEXT,
|
||||
icon TEXT,
|
||||
uuid TEXT,
|
||||
uuid_manager TEXT,
|
||||
appointment TEXT DEFAULT 'lamb',
|
||||
mode INTEGER DEFAULT 0,
|
||||
mode_title TEXT DEFAULT 'Користувач'
|
||||
)
|
||||
`);
|
||||
|
||||
// db.run(`
|
||||
// CREATE TABLE IF NOT EXISTS administrators (
|
||||
// sheep_id INTEGER PRIMARY KEY,
|
||||
// can_view_sheeps INTEGER DEFAULT 0,
|
||||
// FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
// )
|
||||
// `);
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS possibilities (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
sheep_id INTEGER,
|
||||
can_add_sheeps INTEGER DEFAULT 0,
|
||||
can_view_sheeps INTEGER DEFAULT 0,
|
||||
can_add_territory INTEGER DEFAULT 0,
|
||||
can_view_territory INTEGER DEFAULT 0,
|
||||
can_manager_territory INTEGER DEFAULT 0,
|
||||
can_add_stand INTEGER DEFAULT 0,
|
||||
can_view_stand INTEGER DEFAULT 0,
|
||||
can_manager_stand INTEGER DEFAULT 0,
|
||||
can_add_schedule INTEGER DEFAULT 0,
|
||||
can_view_schedule INTEGER DEFAULT 0,
|
||||
FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
)
|
||||
`);
|
||||
|
||||
// db.run(`
|
||||
// CREATE TABLE IF NOT EXISTS sessions (
|
||||
// session_id TEXT PRIMARY KEY,
|
||||
// sheep_id INTEGER,
|
||||
// role TEXT DEFAULT 'sheep',
|
||||
// expires_at INTEGER,
|
||||
// FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
// )
|
||||
// `);
|
||||
// });
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS groups (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_number INTEGER,
|
||||
share_hash TEXT
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS subscription (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
sheep_id INTEGER,
|
||||
token TEXT,
|
||||
FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS badges (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
sheep_id INTEGER,
|
||||
quantity INTEGER,
|
||||
FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS house (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER,
|
||||
title TEXT,
|
||||
number TEXT,
|
||||
points TEXT DEFAULT '[]',
|
||||
points_number TEXT DEFAULT '[]',
|
||||
geo TEXT DEFAULT '[]',
|
||||
osm_id TEXT DEFAULT '[]',
|
||||
settlement TEXT,
|
||||
description TEXT,
|
||||
created_at TIMESTAMP,
|
||||
updated_at TIMESTAMP,
|
||||
FOREIGN KEY (group_id) REFERENCES groups(group_number)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS entrance (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
house_id INTEGER,
|
||||
entrance_number INTEGER,
|
||||
title TEXT,
|
||||
points TEXT DEFAULT '[]',
|
||||
points_number TEXT DEFAULT '[]',
|
||||
floors_quantity TEXT,
|
||||
apartments_quantity TEXT,
|
||||
description TEXT,
|
||||
created_at TIMESTAMP,
|
||||
updated_at TIMESTAMP,
|
||||
FOREIGN KEY (house_id) REFERENCES house(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS entrance_history (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
entrance_id INTEGER,
|
||||
name TEXT,
|
||||
date_start TIMESTAMP,
|
||||
date_end TIMESTAMP,
|
||||
group_id INTEGER,
|
||||
sheep_id TEXT,
|
||||
working INTEGER DEFAULT 0,
|
||||
FOREIGN KEY (entrance_id) REFERENCES entrance(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS apartments (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
entrance_id INTEGER,
|
||||
apartment_number INTEGER,
|
||||
title TEXT,
|
||||
floors_number INTEGER,
|
||||
status INTEGER,
|
||||
description TEXT,
|
||||
sheep_id TEXT,
|
||||
updated_at TIMESTAMP,
|
||||
FOREIGN KEY (entrance_id) REFERENCES entrance(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS apartments_history (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
sheep_id TEXT,
|
||||
apartments_id INTEGER,
|
||||
status INTEGER,
|
||||
description TEXT,
|
||||
created_at TIMESTAMP,
|
||||
FOREIGN KEY (apartments_id) REFERENCES apartments(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS homestead (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER,
|
||||
title TEXT,
|
||||
number TEXT,
|
||||
points TEXT DEFAULT '[]',
|
||||
point_icons TEXT DEFAULT '[]',
|
||||
geo TEXT DEFAULT '[]',
|
||||
osm_id TEXT DEFAULT '[]',
|
||||
settlement TEXT,
|
||||
description TEXT,
|
||||
created_at TIMESTAMP,
|
||||
updated_at TIMESTAMP,
|
||||
FOREIGN KEY (group_id) REFERENCES groups(group_number)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS homestead_history (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
homestead_id INTEGER,
|
||||
name TEXT,
|
||||
date_start TIMESTAMP,
|
||||
date_end TIMESTAMP,
|
||||
group_id INTEGER,
|
||||
sheep_id TEXT,
|
||||
working INTEGER DEFAULT 0,
|
||||
FOREIGN KEY (homestead_id) REFERENCES homestead(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS meetings_schedule (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
date TIMESTAMP,
|
||||
type INTEGER,
|
||||
name TEXT,
|
||||
sheep_id TEXT,
|
||||
title TEXT,
|
||||
number TEXT,
|
||||
FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS stand_list (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
title TEXT,
|
||||
hour_start INTEGER DEFAULT 10,
|
||||
hour_end INTEGER DEFAULT 16,
|
||||
quantity_sheep INTEGER DEFAULT 2,
|
||||
week_days TEXT DEFAULT '[0, 1, 2, 3, 4, 5, 6]'
|
||||
)
|
||||
`);
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS stand_schedule (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
stand INTEGER,
|
||||
date TIMESTAMP,
|
||||
hour INTEGER,
|
||||
sheep_id TEXT,
|
||||
number_sheep TEXT,
|
||||
updated_at TIMESTAMP,
|
||||
FOREIGN KEY (stand) REFERENCES stand_list(id),
|
||||
FOREIGN KEY (sheep_id) REFERENCES sheeps(id)
|
||||
)
|
||||
`);
|
||||
});
|
||||
|
||||
module.exports = db;
|
||||
@@ -1,6 +0,0 @@
|
||||
const TelegramConfig = {
|
||||
token: "7855966674:AAEw9l_EF0GcpjrkSFzt0aLukEfJxBA2gcY",
|
||||
chatId: "224538769"
|
||||
}
|
||||
|
||||
module.exports = TelegramConfig;
|
||||
Reference in New Issue
Block a user