Source: objects/GroupMember.js

const Endpoints = require('./Endpoints');
class GroupMember {
	/**
	 * Create a group member object
	 * @param {User} User User object
	 * @param {Group} Group Group object
	 */
	constructor(User, Group) {
		this.user = User;
		this.group = Group;
	}
	/**
	 * @returns {Promise<void>}
	 */
	kick() {
		return new Promise((resolve, reject) => {
			Endpoints.Groups.groups.kick(this.user._Client, this.group.id, this.user.id).then(() => {
				resolve();
			}).catch((err) => {
				reject(err);
			});
		});
	}
	/**
	 * Ban this member from this group
	 * @param {*} reason Ban reason
	 * @param {*} deleteM Whether to delete messages
	 * @returns {Promise<void>}
	 */
	ban(reason, deleteM) {
		return new Promise((resolve, reject) => {
			Endpoints.Groups.servers.ban(this.user._Client, this.group.id, this.user.id, reason, deleteM).then(() => {
				resolve();
			}).catch((err) => {
				reject(err);
			});
		});
	}
	/**
	 * Unban this member from this group
	 * @returns {Promise<void>}
	 */
	unban() {
		return new Promise((resolve, reject) => {
			Endpoints.Groups.servers.unban(this.user._Client, this.group.id, this.user.id).then(() => {
				resolve();
			}).catch((err) => {
				reject(err);
			});
		});
	}
}
module.exports = GroupMember;