battlemetrics
Version:
A Promise-Based Battlemetrics API Wrapper
83 lines (82 loc) • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Flags = void 0;
const base_1 = require("../../base");
const resourceName = 'player-flags';
class Flags extends base_1.Client {
createFlag(params, optionalParams) {
let createFlagDataObj = {
data: {
type: 'playerFlag',
attributes: {
icon: params.icon,
name: params.name,
color: params.color,
description: params.description,
},
},
};
if (optionalParams) {
if (optionalParams.orgId) {
createFlagDataObj.data['relationships'] = {
organization: {
data: {
type: 'organization',
id: optionalParams.orgId,
},
},
};
}
if (optionalParams.userId) {
if (createFlagDataObj.data.relationships) {
createFlagDataObj.data.relationships['user'] = {
data: {
type: 'user',
id: optionalParams.userId,
},
};
}
else {
createFlagDataObj.data['relationships'] = {
user: {
data: {
type: 'user',
id: optionalParams.userId,
},
},
};
}
}
}
return this.request(`${resourceName}`, {
method: 'POST',
data: JSON.stringify(createFlagDataObj),
});
}
deleteFlagById(flagId) {
return this.request(`${resourceName}/${flagId}`, {
method: 'DELETE',
});
}
//getFlags to be implemented
//getFlagInfoById to be implemented
updateFlagById(flagId, params) {
let updateFlagDataObj = {
data: {
type: 'playerFlag',
id: flagId,
attributes: {
icon: params.icon,
name: params.name,
color: params.color,
description: params.description,
},
},
};
return this.request(`${resourceName}/${flagId}`, {
method: 'PATCH',
data: JSON.stringify(updateFlagDataObj),
});
}
}
exports.Flags = Flags;