47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
![]() |
'use strict';
|
||
|
|
||
|
const Team = require('./Team');
|
||
|
const Application = require('./interfaces/Application');
|
||
|
|
||
|
/**
|
||
|
* Represents a Client OAuth2 Application.
|
||
|
* @extends {Application}
|
||
|
*/
|
||
|
class ClientApplication extends Application {
|
||
|
_patch(data) {
|
||
|
super._patch(data);
|
||
|
|
||
|
/**
|
||
|
* The app's cover image
|
||
|
* @type {?string}
|
||
|
*/
|
||
|
this.cover = data.cover_image || null;
|
||
|
|
||
|
/**
|
||
|
* The app's RPC origins, if enabled
|
||
|
* @type {string[]}
|
||
|
*/
|
||
|
this.rpcOrigins = data.rpc_origins || [];
|
||
|
|
||
|
/**
|
||
|
* If this app's bot requires a code grant when using the OAuth2 flow
|
||
|
* @type {?boolean}
|
||
|
*/
|
||
|
this.botRequireCodeGrant = typeof data.bot_require_code_grant !== 'undefined' ? data.bot_require_code_grant : null;
|
||
|
|
||
|
/**
|
||
|
* If this app's bot is public
|
||
|
* @type {?boolean}
|
||
|
*/
|
||
|
this.botPublic = typeof data.bot_public !== 'undefined' ? data.bot_public : null;
|
||
|
|
||
|
/**
|
||
|
* The owner of this OAuth application
|
||
|
* @type {?User|Team}
|
||
|
*/
|
||
|
this.owner = data.team ? new Team(this.client, data.team) : data.owner ? this.client.users.add(data.owner) : null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = ClientApplication;
|