Skip to content

Commit

Permalink
added food outlet resource
Browse files Browse the repository at this point in the history
  • Loading branch information
Kunalpal215 committed Jun 28, 2023
1 parent 55b102d commit 11cbf26
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 9 deletions.
3 changes: 2 additions & 1 deletion api/javascript/admin_panel/admin-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const lostItemResource = require("./resources/lostItem.resource");
const foundItemResource = require("./resources/foundItem.resource");
const adminResource = require("./resources/admin.resource");
const contactsResource = require("./resources/contacts.resource");
const foodOutletResource = require("./resources/foodOutlet.resource");
AdminJs.registerAdapter(AdminJsMongoose);


Expand All @@ -31,7 +32,7 @@ var sessiontStore = new MongoDBStore(
});

const adminjs = new AdminJs({
resources: [messMenuResouce, adminResource, userResource, timingResource, contactsResource, cabSharingResource, lostItemResource, foundItemResource],
resources: [messMenuResouce, foodOutletResource, adminResource, userResource, timingResource, contactsResource, cabSharingResource, lostItemResource, foundItemResource],
assets: {
styles: styleAssets
},
Expand Down
22 changes: 22 additions & 0 deletions api/javascript/admin_panel/resources/foodOutlet.resource.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
const verifyRoles = require("../utils");
const roles = require("../roles");
const foodOutlets = require("../../models/foodOutlets");

let allowedRoles = [roles.SUPERADMIN, roles.FOODOUTLET];

module.exports = {
resource: foodOutlets,
options: {
listProperties: ["outletName","caption","closingTime","phoneNumber","location","latitude","longitude","tags","menu","imageURL"],
filterProperties: ["outletName","caption","closingTime","phoneNumber","location","latitude","longitude","tags","menu","imageURL"],
editProperties: ["outletName","caption","closingTime","phoneNumber","location","latitude","longitude","tags","menu","imageURL"],
showProperties: ["outletName","caption","closingTime","phoneNumber","location","latitude","longitude","tags","menu","imageURL"],
actions: {
list: { isAccessible: ({ currentAdmin }) => verifyRoles(currentAdmin, allowedRoles) },
new: { isAccessible: ({ currentAdmin }) => verifyRoles(currentAdmin, allowedRoles) },
filter: { isAccessible: ({ currentAdmin }) => verifyRoles(currentAdmin, allowedRoles) },
edit: { isAccessible: ({ currentAdmin }) => verifyRoles(currentAdmin, allowedRoles) },
delete: { isAccessible: ({ currentAdmin }) => verifyRoles(currentAdmin, allowedRoles) }
}
}
};
1 change: 1 addition & 0 deletions api/javascript/admin_panel/roles.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module.exports = {
SPORTS: "sports",
MESS: "mess",
FOODOUTLET: "food outlet",
FERRYTIMING: "ferry",
BUSSTOP: "bus",
CABSHARING: "cab sharing",
Expand Down
15 changes: 8 additions & 7 deletions api/javascript/models/foodOutlets.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const foodItems = require("./foodItems");
var Scraper = require("images-scraper");

const foodItemSchema = new mongoose.Schema({
name: {
itemName: {
type: String,
required: true
},
Expand Down Expand Up @@ -54,8 +54,7 @@ const foodOutletsSchema = new mongoose.Schema({
}],
menu: [foodItemSchema],
imageURL: {
type: String,
required: true
type: String
}
});

Expand All @@ -65,13 +64,15 @@ foodOutletsSchema.pre('save',async function(){
console.log(this.menu[i]);
console.log(this.menu[i]["imageURL"]);
console.log("here");
if(this.menu[i]["imageURL"].length===0){
if(!this.menu[i]["imageURL"] || this.menu[i]["imageURL"].length==0){
console.log("INSIDE HERE");
const google = new Scraper({
puppeteer: {
headless: true,
}
});
const imageResults = await google.scrape(this.menu[i]["name"],1);
const imageResults = await google.scrape(this.menu[i]["itemName"],1);
console.log(imageResults);
this.menu[i]["imageURL"] = imageResults[0]["url"];
console.log(imageResults);
}
Expand All @@ -83,13 +84,13 @@ foodOutletsSchema.pre('findOneAndUpdate',async function(){
console.log(this["_update"]['$set']['menu']);
console.log(this["_update"]['$set']['menu'][i]["imageURL"]);
console.log("here");
if(this["_update"]['$set']['menu'][i]["imageURL"].length===0){
if(!this["_update"]['$set']['menu'][i]["imageURL"].length===0 || this["_update"]['$set']['menu'][i]["imageURL"].length===0){
const google = new Scraper({
puppeteer: {
headless: true,
}
});
const imageResults = await google.scrape(this["_update"]['$set']['menu'][i]["name"],1);
const imageResults = await google.scrape(this["_update"]['$set']['menu'][i]["itemName"],1);
this["_update"]['$set']['menu'][i]["imageURL"] = imageResults[0]["url"];
console.log(imageResults);
}
Expand Down
3 changes: 2 additions & 1 deletion api/javascript/models/messMenuModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ const { allIITGHostels } = require("../helpers/constants");
const mealSchema = new mongoose.Schema({
mealDescription: {
type: String,
required: true
required: true,
maxLength: 60
},
timing: {
type: String,
Expand Down

0 comments on commit 11cbf26

Please sign in to comment.