apply linter and add useful comments to the util.js functions

This commit is contained in:
Pau 2023-01-09 13:35:05 +01:00
parent f79662beb6
commit 82b6fba8f8
12 changed files with 242 additions and 229 deletions

8
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": [
"javascript"
]
}

View File

@ -6,9 +6,7 @@ dotenv.config();
import models from './models/index.js';
let AccessToken = await getClientToken(models);
let tokenExpirationDate = AccessToken[1];
let tokenExpirationDate = await getClientToken(models);
try {
setInterval(async () => {
@ -17,8 +15,7 @@ try {
if (moment().isAfter(tokenExpirationDate)) {
console.log('Token expired, getting a new one...');
AccessToken = await getClientToken(models);
tokenExpirationDate = AccessToken[1];
tokenExpirationDate = await getClientToken(models);
}
}, process.env.STATUS == 'development' ? 2500 : 5000);

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const additionalPricePerPiece = {
id: {
@ -11,7 +11,7 @@ const additionalPricePerPiece = {
},
currency: {
type: Sequelize.STRING,
defaultValue: "EUR",
defaultValue: 'EUR',
},
value: {
type: Sequelize.DECIMAL(10, 2),
@ -20,7 +20,7 @@ const additionalPricePerPiece = {
export default (sequelize) => {
const AdditionalPricePerPiece = sequelize.define(
"FDadditionalPricePerPiece",
'FDadditionalPricePerPiece',
additionalPricePerPiece,
{
timestamps: false,

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const botanicalNames = {
tradeItemFk: {
@ -10,7 +10,7 @@ const botanicalNames = {
};
export default (sequelize) => {
const BotanicalNames = sequelize.define("FDbotanicalNames", botanicalNames, {
const BotanicalNames = sequelize.define('FDbotanicalNames', botanicalNames, {
timestamps: false,
freezeTableName: true,
});

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const characteristics = {
tradeItemFk: {
@ -14,7 +14,7 @@ const characteristics = {
export default (sequelize) => {
const Characteristics = sequelize.define(
"FDcharacteristics",
'FDcharacteristics',
characteristics,
{
timestamps: false,

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const clientConfig = {
id: {
@ -22,7 +22,7 @@ const clientConfig = {
export default (sequelize) => {
const ClientConfig = sequelize.define(
"FDClientConfig",
'FDClientConfig',
clientConfig,
{
timestamps: false,

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const countryOfOriginIsoCodes = {
tradeItemFk: {
@ -11,7 +11,7 @@ const countryOfOriginIsoCodes = {
export default (sequelize) => {
const CountryOfOriginIsoCodes = sequelize.define(
"FDcountryOfOriginIsoCodes",
'FDcountryOfOriginIsoCodes',
countryOfOriginIsoCodes,
{
timestamps: false,

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const PackageModel = {
id: {
@ -18,9 +18,9 @@ const PackageModel = {
};
export default (sequelize) => {
const Package = sequelize.define("FDpackage", PackageModel, {
const Package = sequelize.define('FDpackage', PackageModel, {
timestamps: false,
freezeTableName: true,
});
return Package;
}
};

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const packingConfigurations = {
id: {
@ -37,7 +37,7 @@ const packingConfigurations = {
export default (sequelize) => {
const PackingConfigurations = sequelize.define(
"FDpackingConfigurations",
'FDpackingConfigurations',
packingConfigurations,
{
timestamps: false,

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const photos = {
tradeItemFk: {
@ -22,9 +22,9 @@ const photos = {
};
export default (sequelize) => {
const Photos = sequelize.define("FDphotos", photos, {
const Photos = sequelize.define('FDphotos', photos, {
timestamps: false,
freezeTableName: true,
});
return Photos;
}
};

View File

@ -1,4 +1,4 @@
import { Sequelize } from "sequelize";
import { Sequelize } from 'sequelize';
const seasonalPeriod = {
id: {
@ -18,7 +18,7 @@ const seasonalPeriod = {
};
export default (sequelize) => {
const SeasonalPeriod = sequelize.define("FDseasonalPeriod", seasonalPeriod, {
const SeasonalPeriod = sequelize.define('FDseasonalPeriod', seasonalPeriod, {
timestamps: false,
freezeTableName: true,
});

View File

@ -1,19 +1,23 @@
import moment from 'moment';
import fetch from 'node-fetch';
/**
* The Endpoint where the Access Token is requested
*/
const _accessTokenEndpoint = 'https://idm.staging.floriday.io/oauth2/ausmw6b47z1BnlHkw0h7/v1/token';
const _accessTokenEndpoint =
'https://idm.staging.floriday.io/oauth2/ausmw6b47z1BnlHkw0h7/v1/token';
/**
* Gets the Access Token from the client config table
*
* @param {sequelize.models} models
* @returns {Date} tokenExpirationDate formated as YYYY-MM-DD HH:mm:ss
*/
async function getClientToken(models) {
const clientConfigData = await models.clientConfig.findAll();
const now = moment().format('YYYY-MM-DD HH:mm:ss');
const tokenExpirationDate = clientConfigData[0].tokenExpiration;
if (
clientConfigData[0].tokenExpiration == null ||
moment(now).isAfter(tokenExpirationDate)
) {
if (clientConfigData[0].tokenExpiration == null || moment(now).isAfter(tokenExpirationDate)) {
let clientId = clientConfigData[0].clientId;
let clientSecret = clientConfigData[0].clientSecret;
@ -50,20 +54,24 @@ async function getClientToken(models) {
tokenExpirationDate
);
return [accessToken, tokenExpirationDate];
return tokenExpirationDate;
} else {
console.log('Using the current token...');
return [clientConfigData[0].currentToken, tokenExpirationDate];
return tokenExpirationDate;
}
}
async function updateClientConfig(
models,
clientId,
clientSecret,
accessToken,
tokenExpirationDate
) {
/**
* Updates the Access Token in the client config table
*
* @param {sequelize.models} models
* @param {String} clientId
* @param {String} clientSecret
* @param {String} accessToken
* @param {String} tokenExpirationDate
*/
async function updateClientConfig(models, clientId, clientSecret, accessToken, tokenExpirationDate) {
try {
console.log('Updating the client config with the new token...');
await models.clientConfig.update(
@ -87,4 +95,4 @@ async function updateClientConfig(
}
}
export { getClientToken };
export { getClientToken, updateClientConfig };