complete redesign: use nodejs on server instead of php - documentation to be updated
This commit is contained in:
7
nodejs/database/config.json
Normal file
7
nodejs/database/config.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"host" : "localhost",
|
||||
"user" : "root",
|
||||
"port" : 8654,
|
||||
"password" : "ert456",
|
||||
"database" : "safechat"
|
||||
}
|
11
nodejs/database/index.js
Normal file
11
nodejs/database/index.js
Normal file
@@ -0,0 +1,11 @@
|
||||
module.exports = function() {
|
||||
var mysql = require('mysql');
|
||||
var fs = require('fs');
|
||||
var config = require(__dirname+'/config.json');
|
||||
config.multipleStatements = true;
|
||||
var pool = mysql.createPool(config);
|
||||
|
||||
pool.query(fs.readFileSync(__dirname+'/schema.sql').toString());
|
||||
|
||||
return pool;
|
||||
};
|
30
nodejs/database/schema.sql
Normal file
30
nodejs/database/schema.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
CREATE TABLE IF NOT EXISTS `user` (
|
||||
`name` varchar(50) NOT NULL UNIQUE COMMENT 'unique name of the user',
|
||||
`pubkey` text NOT NULL COMMENT 'armored gnupg public key of the user',
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='list of all registered users and their public keys';
|
||||
create table if not exists `message` (
|
||||
`id`
|
||||
int not null auto_increment
|
||||
comment "id of the message, it is used in the client to check if a message has already been downloaded or not",
|
||||
`time`
|
||||
timestamp default current_timestamp
|
||||
comment "time when the message has been stored on the server",
|
||||
`user`
|
||||
varchar(50) not null
|
||||
comment "name of the user that sent the message",
|
||||
`msg`
|
||||
longtext not null
|
||||
comment "message content, must be armored gnupg encrypted format",
|
||||
primary key (id),
|
||||
foreign key (user)
|
||||
references user(name)
|
||||
on delete cascade
|
||||
on update cascade
|
||||
) character set utf8 engine=innodb
|
||||
comment="table to hold all messages for later download by the receiver";
|
||||
create table if not exists options (
|
||||
name varchar(50) not null unique comment "option name",
|
||||
value text not null comment "option value",
|
||||
primary key (name)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 comment="table for system settings";
|
Reference in New Issue
Block a user