remove testing code, updated readme, updated formatter
This commit is contained in:
parent
fcd0b5f1ec
commit
7be0fdfe3c
47
README.md
47
README.md
|
@ -14,7 +14,52 @@ The Floriday service project should perform the following tasks:
|
|||
|
||||
## Guidelines
|
||||
|
||||
- In case a new model is created, it must be created in the `models` folder and follow the same structure as the other models.
|
||||
- In case a new model is created, it should follow the following structure:
|
||||
|
||||
- /models
|
||||
- index.js
|
||||
- foo.js
|
||||
|
||||
### Foo.js
|
||||
|
||||
```javascript
|
||||
import { Sequelize } from "sequelize";
|
||||
|
||||
const bar = {
|
||||
barCharacteristicOne: {
|
||||
type: Sequelize.INTEGER,
|
||||
},
|
||||
barCharacteristicTwo: {
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
barCharacteristicThree: {
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
};
|
||||
|
||||
export default (sequelize) => {
|
||||
const Foo = sequelize.define(
|
||||
"FDfoo",
|
||||
bar,
|
||||
{
|
||||
timestamps: false,
|
||||
freezeTableName: true,
|
||||
}
|
||||
);
|
||||
return Foo;
|
||||
};
|
||||
```
|
||||
|
||||
### Index.js
|
||||
|
||||
```javascript
|
||||
import foo from "./foo";
|
||||
|
||||
let models = {
|
||||
bar: foo(sequelize),
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
To install dependencies:
|
||||
|
||||
|
|
87
index.js
87
index.js
|
@ -16,101 +16,20 @@ try {
|
|||
setInterval(async () => {
|
||||
console.log("Querying the API to check for new data...");
|
||||
console.log("Current token expiration date: ", tokenExpirationDate);
|
||||
console.log("Now is: ", moment().format("YYYY-MM-DD HH:mm:ss"));
|
||||
|
||||
if(moment().isAfter(tokenExpirationDate)){
|
||||
if (moment().isAfter(tokenExpirationDate)) {
|
||||
console.log("Token expired, getting a new one...");
|
||||
AccessToken = await getClientToken();
|
||||
tokenValue = AccessToken[0];
|
||||
tokenExpirationDate = AccessToken[1];
|
||||
}
|
||||
|
||||
const query = models.tradeItem.findAll({
|
||||
include: [
|
||||
{
|
||||
model: models.characteristics,
|
||||
association: models.tradeItem.hasMany(models.characteristics, {
|
||||
foreignKey: "tradeItemFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "characteristics",
|
||||
},
|
||||
{
|
||||
model: models.photos,
|
||||
association: models.tradeItem.hasMany(models.photos, {
|
||||
foreignKey: "tradeItemFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "photos",
|
||||
include: [
|
||||
{
|
||||
model: models.seasonalPeriod,
|
||||
association: models.photos.hasOne(models.seasonalPeriod, {
|
||||
foreignKey: "id",
|
||||
sourceKey: "seasonalPeriodFk",
|
||||
}),
|
||||
as: "seasonalPeriod",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
model: models.packagingConfigurations,
|
||||
association: models.tradeItem.hasMany(models.packagingConfigurations, {
|
||||
foreignKey: "tradeItemFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "packagingConfigurations",
|
||||
include: [
|
||||
{
|
||||
model: models.package,
|
||||
association: models.packagingConfigurations.hasOne(models.package, {
|
||||
foreignKey: "packingConfigurationsFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "package",
|
||||
},
|
||||
{
|
||||
model: models.additionalPricePerPiece,
|
||||
association: models.packagingConfigurations.hasOne(
|
||||
models.additionalPricePerPiece,
|
||||
{
|
||||
foreignKey: "packingConfigurationsFk",
|
||||
sourceKey: "id",
|
||||
}
|
||||
),
|
||||
as: "additionalPricePerPiece",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
model: models.botanicalNames,
|
||||
association: models.tradeItem.hasMany(models.botanicalNames, {
|
||||
foreignKey: "tradeItemFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "botanicalNames",
|
||||
},
|
||||
{
|
||||
model: models.countryOfOriginIsoCodes,
|
||||
association: models.tradeItem.hasMany(models.countryOfOriginIsoCodes, {
|
||||
foreignKey: "tradeItemFk",
|
||||
sourceKey: "id",
|
||||
}),
|
||||
as: "countryOfOriginIsoCodes",
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
const result = await query;
|
||||
|
||||
console.log(JSON.stringify(result, null, 2));
|
||||
}, 5000);
|
||||
} catch (error) {
|
||||
console.error("Unable to connect to the database:", error);
|
||||
}
|
||||
|
||||
async function getClientToken() {
|
||||
|
||||
let clientConfigData = await models.clientConfig.findAll();
|
||||
|
||||
const now = moment().format("YYYY-MM-DD HH:mm:ss");
|
||||
|
@ -128,7 +47,7 @@ async function getClientToken() {
|
|||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
},
|
||||
body: `grant_type=client_credentials&client_id=${clientId}&client_secret=${clientSecret}&scope=role:app catalog:read`,
|
||||
body: `grant_type=client_credentials&client_id=${clientId}&client_secret=${clientSecret}&scope=role:app catalog:read organization:read`,
|
||||
});
|
||||
|
||||
const tokenResponse = await tokenRequest.json();
|
||||
|
@ -175,7 +94,7 @@ async function updateClientConfig(
|
|||
}
|
||||
);
|
||||
console.log("Client config updated, new Token set");
|
||||
console.log("New token expiration date: ", tokenExpirationDate );
|
||||
console.log("New token expiration date: ", tokenExpirationDate);
|
||||
} catch (error) {
|
||||
console.log("There was a error while updating the client config");
|
||||
console.log(error);
|
||||
|
|
Loading…
Reference in New Issue