summaryrefslogtreecommitdiff
path: root/www/wiki/resources/src/mediawiki/api/user.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/resources/src/mediawiki/api/user.js')
-rw-r--r--www/wiki/resources/src/mediawiki/api/user.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/www/wiki/resources/src/mediawiki/api/user.js b/www/wiki/resources/src/mediawiki/api/user.js
new file mode 100644
index 00000000..e7b4b6d5
--- /dev/null
+++ b/www/wiki/resources/src/mediawiki/api/user.js
@@ -0,0 +1,37 @@
+/**
+ * @class mw.Api.plugin.user
+ * @since 1.27
+ */
+( function ( mw, $ ) {
+
+ $.extend( mw.Api.prototype, {
+
+ /**
+ * Get the current user's groups and rights.
+ *
+ * @return {jQuery.Promise}
+ * @return {Function} return.done
+ * @return {Object} return.done.userInfo
+ * @return {string[]} return.done.userInfo.groups User groups that the current user belongs to
+ * @return {string[]} return.done.userInfo.rights Current user's rights
+ */
+ getUserInfo: function () {
+ return this.get( {
+ action: 'query',
+ meta: 'userinfo',
+ uiprop: [ 'groups', 'rights' ]
+ } ).then( function ( data ) {
+ if ( data.query && data.query.userinfo ) {
+ return data.query.userinfo;
+ }
+ return $.Deferred().reject().promise();
+ } );
+ }
+ } );
+
+ /**
+ * @class mw.Api
+ * @mixins mw.Api.plugin.user
+ */
+
+}( mediaWiki, jQuery ) );