-
Notifications
You must be signed in to change notification settings - Fork 4
Server
kormang edited this page Jul 17, 2015
·
33 revisions
#Database
- Initial database created for demo purposes on 14th of July. Changes will be made.
- Currently, in our initial database we have video collection, which contains the following document fields : _id, title, description, duration, author and path.
#Services
##Getting list of videos
-
GET: /videosThis returns all videos without the path/source -
GET: /videos?skip=number of videos to skip&limit=number of videos to returnHere skip and limit parameters are positive integer or zero in which case it's same as without parameters.
Example of response:
[
{
"_id":"55a50e8f8a9463a1b4f84f88",
"title":"Video about learning",
"description":"Learn all about your future",
"duration":12345,"author":"John Doe",
"path":"/videocontent/video0.mp4"
},
{
"_id":"55a50f288a9463a1b4f84f89",
"title":"Angular JS all about",
"description":"Easiest tutorial ever",
"duration":1230123,"author":"Jane Doe",
"path":"/videocontent/video1.mp4"
}
]
Empty array (arr.length == 0) means that there are no (more) results.
-
GET: /videos/:idFinds and returns one video from the database by _id
{
"_id":"55a50e8f8a9463a1b4f84f88",
"title":"Video about learning",
"description":"Learn all about your future",
"duration":12345,
"author":"John Doe",
"path":"/videocontent/video0.mp4",
"annotations":[
{
"id":"55a7a50cf5fe9d10b6f3b75b",
"text":"Text",
"dateCreated":"2014-12-02T23:00:00.000Z", /* ISO date string format */
"startTime":55555,"endTime":100000,
"tags":[
"55a77acb8a9463a1b4f84f8d"
]
} ,
{
"id":"55a8b493852f4a2809482514",
"text":"asdad",
"dateCreated":"2015-07-17T07:53:55.137Z",
"startTime":46,
"endTime":"56",
"tags":[
"55a77aee8a9463a1b4f84f8e"
]
}
]
}
##Adding annotation to video
-
POST: /annotation/:videoId/addPost parametars are text, startTime, endTime, tags.Example:text=Diplomski&startTime=5&endTime=10&tags=["55a77aee8a9463a1b4f84f8f", "55a77aee8a9463a1b4f84f8e"]startTime and endTime are in seconds, and tags are javascript array consisting of tag ids. A new annotation will be returned.
##Editing annotation
-
PUT: /annotation/:videoId/edit/:annotationIdPut parametars are text, startTime, endTime, tags, as with adding new annotation. But but some parameters can be excluded in which case they won't be changed. Edited annotation will be returned.
##Deleting annotation
DELETE: /annotation/:videoId/delete/:annotationId