diff options
Diffstat (limited to 'www/wiki/resources/src/mediawiki/api/user.js')
-rw-r--r-- | www/wiki/resources/src/mediawiki/api/user.js | 37 |
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 ) ); |