Skip to content

Commit 5b993c1

Browse files
authored
Merge pull request #84 from codex-team/user-support
Users model
2 parents 192d4c2 + bd203e4 commit 5b993c1

File tree

2 files changed

+63
-3
lines changed

2 files changed

+63
-3
lines changed

index.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,26 @@ const BrowserWindow = electron.BrowserWindow;
1010
let pkg = require('./package.json');
1111

1212
const DirectoryClass = require('./models/directory');
13+
const UsersClass = require('./models/users');
1314
const DirectoryControllerClass = require('./controllers/directory');
1415
const NotesControllerClass = require('./controllers/note');
1516

17+
1618
const db = require('./utils/database');
1719

1820
db.makeInitialSettings(app.getPath('userData'));
1921
let Directory = new DirectoryClass();
22+
let Users = new UsersClass();
23+
24+
Users.register().then(function() {
25+
26+
let directoryCtrl = new DirectoryControllerClass();
27+
let notesCtrl = new NotesControllerClass();
28+
29+
}).catch(function (err) {
30+
console.log("Initialization error", err);
31+
});
2032

21-
// run controllers
22-
let directoryCtrl = new DirectoryControllerClass();
23-
let notesCtrl = new NotesControllerClass();
2433

2534
let mainWindow = null;
2635

models/users.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
'use strict';
2+
const random = require('../utils/random');
3+
const db = require('../utils/database');
4+
5+
/**
6+
* Model for current user representation.
7+
*/
8+
class User {
9+
10+
constructor() {}
11+
12+
/**
13+
* Return current user if exists, otherwise create new identity.
14+
* {
15+
* user: {
16+
* user_id - User unique ID
17+
* password - User unique password
18+
* }
19+
* }
20+
* @returns user identity
21+
*/
22+
async register() {
23+
24+
try {
25+
let user = await this.get();
26+
if (user) {
27+
return user;
28+
}
29+
30+
let userId = random.generatePassword();
31+
let newUser = {"user_id": userId, "name": "user"};
32+
await db.insert(db.USER, {'user': newUser});
33+
return newUser;
34+
}
35+
catch (err) {
36+
console.log("User register error: ", err);
37+
}
38+
39+
}
40+
41+
/**
42+
* Get current user.
43+
* @returns {*}
44+
*/
45+
async get() {
46+
return await db.findOne(db.USER, { "user": { $exists: true } });
47+
}
48+
49+
}
50+
51+
module.exports = User;

0 commit comments

Comments
 (0)