summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jsonapi.js12
-rw-r--r--models/participant_items.js4
-rw-r--r--models/player.js32
-rw-r--r--package-lock.json7
-rw-r--r--package.json1
5 files changed, 46 insertions, 10 deletions
diff --git a/jsonapi.js b/jsonapi.js
index fa3b6ef..163a337 100644
--- a/jsonapi.js
+++ b/jsonapi.js
@@ -8,7 +8,7 @@ var _isArray = require('lodash/isArray');
var _map = require('lodash/map');
var _partial = require('lodash/partial');
var _each = require('lodash/each');
-var _camelCase = require('lodash/camelCase');
+var _snakecase = require('lodash/snakeCase');
var _memoize = require('lodash/memoize');
var _chain = require('lodash/chain');
var _find = require('lodash/find');
@@ -28,13 +28,15 @@ exports.parse = (obj) => {
}
function parseResourceDataObject(response, data) {
- var result = _clone(data);
+ var result = {};
+ Object.defineProperty(result, "id", { value: data.id, enumerable: true });
+ Object.defineProperty(result, "type", { value: data.type, enumerable: true });
_each(data.attributes, function(value, name) {
- Object.defineProperty(result, _camelCase(name), { value: value, enumerable: true });
+ Object.defineProperty(result, _snakecase(name), { value: value, enumerable: true });
});
_each(data.relationships, function(value, name) {
if (_isArray(value.data)) {
- Object.defineProperty(result, _camelCase(name), {
+ Object.defineProperty(result, _snakecase(name), {
get: _memoize(function() {
const related = _map(value.data, function(related) {
var resdata = _find(response.included, function(included) {
@@ -48,7 +50,7 @@ function parseResourceDataObject(response, data) {
enumerable: true
});
} else if (value.data) {
- Object.defineProperty(result, _camelCase(name), {
+ Object.defineProperty(result, _snakecase(name), {
get: _memoize(function() {
var resdata = _find(response.included, function(included) {
return included.id === value.data.id && included.type === value.data.type;
diff --git a/models/participant_items.js b/models/participant_items.js
index b90fc50..89d2e61 100644
--- a/models/participant_items.js
+++ b/models/participant_items.js
@@ -45,6 +45,10 @@ module.exports = function(sequelize, DataTypes) {
type: "DOUBLE",
allowNull: true
},
+ trueskill_ranked_delta: {
+ type: "DOUBLE",
+ allowNull: true
+ },
any_afk: {
type: DataTypes.INTEGER(3).UNSIGNED,
allowNull: true
diff --git a/models/player.js b/models/player.js
index 11e5db3..d4ba62e 100644
--- a/models/player.js
+++ b/models/player.js
@@ -41,10 +41,6 @@ module.exports = function(sequelize, DataTypes) {
type: DataTypes.INTEGER(11),
allowNull: false
},
- lifetime_gold: {
- type: "DOUBLE(8,2)",
- allowNull: false
- },
skill_tier: {
type: DataTypes.INTEGER(6),
allowNull: true
@@ -68,6 +64,34 @@ module.exports = function(sequelize, DataTypes) {
trueskill_ranked_sigma: {
type: "DOUBLE",
allowNull: true
+ },
+ rank_points_ranked: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ rank_points_blitz: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ played_ranked: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ played_casual: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ played_blitz: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ played_aral: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true
+ },
+ guild_tag: {
+ type: DataTypes.STRING(191),
+ allowNull: true
}
}, {
tableName: 'player',
diff --git a/package-lock.json b/package-lock.json
index 9e64827..d7b7ea2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -304,6 +304,11 @@
"version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
},
+ "lodash.snakecase": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
+ "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40="
+ },
"lru-cache": {
"version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
"integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=",
@@ -361,7 +366,7 @@
"mysql": {
"version": "2.14.1",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.14.1.tgz",
- "integrity": "sha512-ZPXqQeYH7L1QPDyC77Rcp32cNCQnNjz8Y4BbF17tOjm5yhSfjFa3xS4PvuxWJtEEmwVc4ccI7sSntj4eyYRq0A==",
+ "integrity": "sha1-6TJAFegQpQq9qUhVyrQe361WKEo=",
"requires": {
"bignumber.js": "4.0.2",
"readable-stream": "2.3.3",
diff --git a/package.json b/package.json
index 0758a0d..d421afc 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"license": "UNLICENSED",
"dependencies": {
"bluebird": "^3.5.0",
+ "lodash.snakecase": "^4.1.1",
"mysql": "^2.14.1",
"request": "^2.81.0",
"request-promise": "^4.2.1",