This repository was archived by the owner on Oct 15, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathframework.js
More file actions
97 lines (63 loc) · 1.88 KB
/
framework.js
File metadata and controls
97 lines (63 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
var arjs = require( "arangojs" );
var frmw = {};
frmw.users = [];
frmw.user = require( "./user" )( frmw );
frmw.task = require( "./task" )( frmw );
frmw.utils = require( "./utils" )( frmw );
frmw.db = arjs( { url:"http://127.0.0.1:8529", databaseName: "framework" } );
frmw.db.collection( "users", function( err, coll ){
if( err )
console.log( "Users collection is unreachable" );
else
frmw.db.users = coll;
} );
frmw.db.collection( "tasks", function( err, coll ){
if( err )
console.log( "Tasks collection is unreachable" );
else
frmw.db.tasks = coll;
} );
frmw.login = function( mail, pass, callback ) {
var vars = { mail: mail, pass: pass };
var query = "FOR u IN users FILTER u.mail == @mail AND u.pass == @pass RETURN u";
var error = null, data = null;
frmw.db.query( query, vars, function( err, cursor ) {
if( err ) {
console.log( err );
error = "BAD_REQUEST";
} else if( cursor._result.length == 0 ) {
error = "AUTH_FAILED";
} else {
data = cursor._result[0];
data.id = data._key;
delete data["_key"];
delete data["_id"];
delete data["_rev"];
}
callback( error, data );
} );
};
frmw.join = function( mail, pass, callback ) {
var vars = { mail: mail };
var query = "FOR u IN users FILTER u.mail == @mail RETURN u";
var error = null, data = null;
frmw.db.query( query, vars, function( err, cursor ) {
if( err ) {
error = "BAD_REQUEST";
console.log(err)
callback( error, data );
} else if( cursor._result.length > 0 ) {
error = "EMAIL_EXISTS";
callback( error, data );
} else {
data = { mail: mail, name: mail };
frmw.db.users.save( data, function( err2, doc ) {
data.id = doc._key;
data.pass = pass;
console.log( "new: " + data.name );
callback( error, data );
} );
}
} );
};
exports = module.exports = frmw;