resolved merge conflict

This commit is contained in:
Ben
2018-09-11 22:03:29 +01:00
13 changed files with 1525 additions and 75 deletions

View File

@@ -32,4 +32,5 @@ Object.defineProperty(global, "__function", {
return __stack[1].getFunctionName(); return __stack[1].getFunctionName();
} }
}); });
module.exports = require('./src/app'); module.exports = require('./src/app');

1438
logs.log

File diff suppressed because it is too large Load Diff

47
package-lock.json generated
View File

@@ -2505,6 +2505,14 @@
"prr": "1.0.1" "prr": "1.0.1"
} }
}, },
"error-stack-parser": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz",
"integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==",
"requires": {
"stackframe": "1.0.4"
}
},
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -5866,6 +5874,45 @@
"safe-buffer": "5.1.1" "safe-buffer": "5.1.1"
} }
}, },
"stack-generator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.3.tgz",
"integrity": "sha512-kdzGoqrnqsMxOEuXsXyQTmvWXZmG0f3Ql2GDx5NtmZs59sT2Bt9Vdyq0XdtxUi58q/+nxtbF9KOQ9HkV1QznGg==",
"requires": {
"stackframe": "1.0.4"
}
},
"stackframe": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz",
"integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw=="
},
"stacktrace-gps": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.0.2.tgz",
"integrity": "sha512-9o+nWhiz5wFnrB3hBHs2PTyYrS60M1vvpSzHxwxnIbtY2q9Nt51hZvhrG1+2AxD374ecwyS+IUwfkHRE/2zuGg==",
"requires": {
"source-map": "0.5.6",
"stackframe": "1.0.4"
},
"dependencies": {
"source-map": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
}
}
},
"stacktrace-js": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.0.tgz",
"integrity": "sha1-d2ymRqlbxsayuQd2U2p/xyxt21g=",
"requires": {
"error-stack-parser": "2.0.2",
"stack-generator": "2.0.3",
"stacktrace-gps": "3.0.2"
}
},
"static-extend": { "static-extend": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",

View File

@@ -8,13 +8,15 @@
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"body-parser": "^1.18.3", "body-parser": "^1.18.3",
"colors": "^1.3.1", "colors": "^1.3.1",
"error-stack-parser": "^2.0.2",
"express": "^4.16.3", "express": "^4.16.3",
"js-sha256": "^0.9.0", "js-sha256": "^0.9.0",
"json-stringify-safe": "^5.0.1", "json-stringify-safe": "^5.0.1",
"jsonwebtoken": "^8.3.0", "jsonwebtoken": "^8.3.0",
"regenerator-runtime": "^0.12.1", "regenerator-runtime": "^0.12.1",
"sequelize": "^4.38.0", "sequelize": "^4.38.0",
"sqlite3": "^4.0.2" "sqlite3": "^4.0.2",
"stacktrace-js": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"babel-preset-env": "^1.7.0", "babel-preset-env": "^1.7.0",

View File

@@ -6,6 +6,7 @@ import {PermaLink} from '../models/permalinks/permalink';
export class NoteController extends ControllerHandler { export class NoteController extends ControllerHandler {
static async newNote(req, res, next) { static async newNote(req, res, next) {
<<<<<<< HEAD
let errors = new API.errors(res); let errors = new API.errors(res);
// Logger.debug(JSON.stringify(req.user, false, 4)); // Logger.debug(JSON.stringify(req.user, false, 4));
@@ -18,6 +19,9 @@ export class NoteController extends ControllerHandler {
if (!creatorid) errors.addError(403, 'Forbidden'); if (!creatorid) errors.addError(403, 'Forbidden');
=======
Logger.debug(JSON.stringify(req.user));
>>>>>>> 9a16dd229269b65aebe97d1fa8ce0aea771785ad
next(); next();

View File

@@ -29,4 +29,6 @@ export class Database extends BaseDatabase {
Database.users = require('./users').UserTools; Database.users = require('./users').UserTools;
Database.auth = require('./tokens').TokenTools; Database.auth = require('./tokens').TokenTools;
Database.permalink = require('./permaLink').PermaLinkTools; Database.permalink = require('./permalinks').PermaLinkTools;
Database.notegroup = require('./notegroups').NoteGroupTools;
Database.note = require('./notes').NoteTools;

View File

@@ -19,7 +19,7 @@ export class NoteTools extends BaseDatabase {
}); });
return note; return note;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while inserting note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -31,7 +31,7 @@ export class NoteTools extends BaseDatabase {
await Note.destroy({where: {id: id}}); await Note.destroy({where: {id: id}});
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while deleting note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -43,7 +43,7 @@ export class NoteTools extends BaseDatabase {
await Note.update({endpoint: endpoint}, {where: {id: id}}); await Note.update({endpoint: endpoint}, {where: {id: id}});
await this.updateLastUpdateTime(id); await this.updateLastUpdateTime(id);
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while editing note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -56,7 +56,7 @@ export class NoteTools extends BaseDatabase {
if (note == null) return -1; if (note == null) return -1;
return note; return note;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while getting note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -69,7 +69,7 @@ export class NoteTools extends BaseDatabase {
await this.updateLastUpdatedTime(id); await this.updateLastUpdatedTime(id);
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while updating note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -82,7 +82,7 @@ export class NoteTools extends BaseDatabase {
await this.updateLastUpdatedTime(id); await this.updateLastUpdatedTime(id);
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while updating note catergory ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -95,7 +95,7 @@ export class NoteTools extends BaseDatabase {
await this.updateLastUpdatedTime(id); await this.updateLastUpdatedTime(id);
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while reordering note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -108,7 +108,7 @@ export class NoteTools extends BaseDatabase {
await this.updateLastUpdatedTime(id); await this.updateLastUpdatedTime(id);
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while renaming note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -121,7 +121,7 @@ export class NoteTools extends BaseDatabase {
if (note == null) return -1; if (note == null) return -1;
return note; return note;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while getting note ${id}: ${e}`);
return -1; return -1;
} }
} }
@@ -134,7 +134,7 @@ export class NoteTools extends BaseDatabase {
if (note == null) return -1; if (note == null) return -1;
return note; return note;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while getting notes from ${userid}: ${e}`);
return -1; return -1;
} }
} }
@@ -147,7 +147,7 @@ export class NoteTools extends BaseDatabase {
if (note == null) return -1; if (note == null) return -1;
return note; return note;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while getting notes from group ${groupid}: ${e}`);
return -1; return -1;
} }
} }
@@ -159,7 +159,7 @@ export class NoteTools extends BaseDatabase {
await Note.update({lastupdated: new Date().getTime()}, {where: {id: id}}); await Note.update({lastupdated: new Date().getTime()}, {where: {id: id}});
return 1; return 1;
} catch (e) { } catch (e) {
Logger.error(`An error occured while inserting group ${id}: ${e}`); Logger.error(`An error occured while updating note update time ${id}: ${e}`);
return -1; return -1;
} }
} }

View File

@@ -1,56 +0,0 @@
import Sequelize from 'sequelize';
import {BaseDatabase} from './baseDatabase';
import {Logger} from '../logger';
export class PermaLinkTools extends BaseDatabase {
static async listAll() {
let PermaNote = BaseDatabase.PermaNote;
return PermaNote.findAll();
}
static async newNote(uid, endpoint, text, id) {
let PermaNote = BaseDatabase.PermaNote;
id = id || null;
try {
let note = await PermaNote.create({
uid: uid,
endpoint: endpoint,
text: text,
creatorid: id
});
return note;
} catch (e) {
Logger.error(`An error occured while inserting user a note with the endpoint ${endpoint} into permanote table: ${e}`);
return -1;
}
}
static async getNoteByUID(uid) {
let PermaNote = BaseDatabase.PermaNote;
try {
let note = await PermaNote.findOne({where: {uid: uid}});
if (note == null) return -1;
return note;
} catch (e) {
Logger.error(`An error occured while querying for a permanote by uid ${uid}: ${e}`);
return -1;
}
}
static async getNoteByEndpoint(endpoint) {
let PermaNote = BaseDatabase.PermaNote;
try {
let note = await PermaNote.findOne({where: {endpoint: endpoint}});
if (note == null) return -1;
return note;
} catch (e) {
Logger.error(`An error occured while querying for a permanote by endpoint ${endpoint}: ${e}`);
return -1;
}
}
}

View File

@@ -1,4 +1,5 @@
const colours = require('colors/safe'); const colours = require('colors/safe');
const StackTrace = require('stacktrace-js');
const fs = require('fs'); const fs = require('fs');
let LogLevel = 1; let LogLevel = 1;
@@ -47,7 +48,7 @@ export class Logger {
static debug(message) { static debug(message) {
if (LogLevel > 1) return; if (LogLevel > 1) return;
let d = new Date(); let d = new Date();
fs.appendFileSync(logPath, `[${d.toLocaleString()}] [DEBUG] ${message} \n`); fs.appendFileSync(logPath, `[${d.toLocaleString()}] [DEBUG] [${StackTrace.getSync()[1].fileName + ':' + StackTrace.getSync()[1].lineNumber}] ${message} \n`);
console.log('[' + d.toLocaleString() + '] [' console.log('[' + d.toLocaleString() + '] ['
+ colours.cyan('DEBUG') + '] ' + message); + colours.cyan('DEBUG') + '] ' + message);
} }

View File

@@ -0,0 +1,3 @@
export class Groups {
}

View File

@@ -0,0 +1,5 @@
import {Groups} from './groups';
export class Notes extends Groups {
}

View File

@@ -6,9 +6,10 @@ import {Logger} from '../logger';
export class Password extends User { export class Password extends User {
static async gen(passwordSecret) { static async gen(passwordSecret) {
let prehash = await sha256(passwordSecret);
let toHash = Buffer.from(prehash).toString('base64');
let salt = await bcrypt.genSaltSync(10); let salt = await bcrypt.genSaltSync(10);
let prehash = await sha256(passwordSecret) let hash = await bcrypt.hashSync(toHash, salt);
let hash = await bcrypt.hashSync(prehash, salt);
return hash; return hash;
} }
@@ -16,10 +17,12 @@ export class Password extends User {
static async compare(password, hashToCompare) { static async compare(password, hashToCompare) {
try { try {
let prehash = await sha256(password); let prehash = await sha256(password);
let res = await bcrypt.compareSync(prehash, hashToCompare); let toHash = Buffer.from(prehash).toString('base64');
let res = await bcrypt.compareSync(toHash, hashToCompare);
return res; return res;
} catch (e) { } catch (e) {
Logger.error(`Somthing went wrong with comparing password hashes: ${e}`); Logger.error(`Somthing went wrong with comparing hashes: ${e}`);
} }
} }
} }