summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/api.js.coffee
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-20 21:55:25 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-20 21:55:25 +0200
commit3cdac0b93440db5a3b0871a06be53bf8767b7dc8 (patch)
treea04e717183d184e2de6826ec9a099dfa9bd27ade /app/assets/javascripts/api.js.coffee
parenta163135cb5bd9886b634d8026b7adf473b023782 (diff)
downloadgitlab-ce-3cdac0b93440db5a3b0871a06be53bf8767b7dc8.tar.gz
Use Api.js to handle api calls to gitlab
Diffstat (limited to 'app/assets/javascripts/api.js.coffee')
-rw-r--r--app/assets/javascripts/api.js.coffee53
1 files changed, 53 insertions, 0 deletions
diff --git a/app/assets/javascripts/api.js.coffee b/app/assets/javascripts/api.js.coffee
new file mode 100644
index 00000000000..ca721517867
--- /dev/null
+++ b/app/assets/javascripts/api.js.coffee
@@ -0,0 +1,53 @@
+@Api =
+ users_path: "/api/:version/users.json"
+ user_path: "/api/:version/users/:id.json"
+ notes_path: "/api/:version/projects/:id/notes.json"
+
+ # Get 20 (depends on api) recent notes
+ # and sort the ascending from oldest to newest
+ notes: (project_id, callback) ->
+ url = Api.buildUrl(Api.notes_path)
+ url = url.replace(':id', project_id)
+
+ $.ajax(
+ url: url,
+ data:
+ private_token: gon.api_token
+ gfm: true
+ recent: true
+ dataType: "json"
+ ).done (notes) ->
+ notes.sort (a, b) ->
+ return a.id - b.id
+ callback(notes)
+
+ user: (user_id, callback) ->
+ url = Api.buildUrl(Api.user_path)
+ url = url.replace(':id', user_id)
+
+ $.ajax(
+ url: url
+ data:
+ private_token: gon.api_token
+ dataType: "json"
+ ).done (user) ->
+ callback(user)
+
+ # Return users list. Filtered by query
+ # Only active users retrieved
+ users: (query, callback) ->
+ url = Api.buildUrl(Api.users_path)
+
+ $.ajax(
+ url: url
+ data:
+ private_token: gon.api_token
+ search: query
+ per_page: 20
+ active: true
+ dataType: "json"
+ ).done (users) ->
+ callback(users)
+
+ buildUrl: (url) ->
+ return url.replace(':version', gon.api_version)