Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mirera-db
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
mirera
mirera-db
Commits
d55666c0
Commit
d55666c0
authored
Sep 29, 2016
by
Данила Ерёмин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updates for courses
parent
b4300623
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
5 deletions
+35
-5
dbCourse.js
dbCourse.js
+19
-4
models/Course.js
models/Course.js
+16
-1
No files found.
dbCourse.js
View file @
d55666c0
...
...
@@ -9,17 +9,20 @@ const dbUtils = require('db-utils');
module
.
exports
=
function
(
Course
)
{
return
{
addCourse
:
function
(
owner
,
name
,
info
,
description
)
{
return
dbUtils
.
dbCreateItem
(
Course
,{
owner
:
owner
,
name
:
name
,
info
:
info
,
description
:
description
});
return
dbUtils
.
dbCreateItem
(
Course
,{
owner
:
owner
,
name
:
name
,
info
:
info
,
description
:
description
,
teachers
:
[
owner
]
});
},
updateCourse
:
function
(
courseId
,
owner
,
name
,
info
,
description
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,{
_id
:
courseId
},
{
owner
:
owner
,
name
:
name
,
info
:
info
,
description
:
description
});
updateCourse
:
function
(
courseId
,
name
,
info
,
description
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,{
_id
:
courseId
},
{
name
:
name
,
info
:
info
,
description
:
description
});
},
getCourseById
:
function
(
courseId
)
{
return
dbUtils
.
dbFindOne
(
Course
,
{
_id
:
courseId
},
[{
path
:
'
owner
'
}]);
},
getCourseByOwner
:
function
(
owner
)
{
getCourse
s
ByOwner
:
function
(
owner
)
{
return
dbUtils
.
dbFind
(
Course
,
{
owner
:
owner
},
{
population
:
[{
path
:
'
owner
'
}]});
},
getCoursesByTeacher
:
function
(
teacherId
)
{
return
dbUtils
.
dbFind
(
Course
,
{
teachers
:
teacherId
},
{
population
:
[{
path
:
'
owner
'
}]});
},
removeCourseById
:
function
(
courseId
)
{
return
dbUtils
.
dbRemoveItem
(
Course
,
{
_id
:
courseId
});
},
...
...
@@ -28,6 +31,18 @@ module.exports = function (Course) {
},
getCoursesCount
:
function
()
{
return
dbUtils
.
dbCount
(
Course
,
{});
},
addTeacher
:
function
(
courseId
,
teacherId
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,
{
_id
:
courseId
},
{
$push
:
{
teachers
:
teacherId
}
});
},
deleteTeacher
:
function
(
courseId
,
teacherId
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,
{
_id
:
courseId
},
{
$pull
:
{
teachers
:
teacherId
}});
},
addGroup
:
function
(
courseId
,
groupId
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,
{
_id
:
courseId
},
{
$push
:
{
groups
:
groupId
}
});
},
deleteGroup
:
function
(
courseId
,
groupId
)
{
return
dbUtils
.
dbFindOneAndUpdate
(
Course
,
{
_id
:
courseId
},
{
$pull
:
{
groups
:
groupId
}});
}
};
};
...
...
models/Course.js
View file @
d55666c0
...
...
@@ -10,7 +10,22 @@ var CourseSchema = new mongoose.Schema({
ref
:
'
User
'
,
required
:
true
},
teachers
:
{
type
:
[{
type
:
mongoose
.
Schema
.
Types
.
ObjectId
,
ref
:
'
User
'
,
required
:
true
}],
default
:
[]
},
groups
:
{
type
:
[{
type
:
mongoose
.
Schema
.
Types
.
ObjectId
,
ref
:
'
Group
'
,
required
:
true
}],
default
:
[]
},
name
:
{
type
:
String
,
default
:
''
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment