Skip to content

Commit

Permalink
diet submit code.
Browse files Browse the repository at this point in the history
  • Loading branch information
nimaafshar79 committed Jun 11, 2020
1 parent 224b235 commit 2649fd7
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 4 deletions.
9 changes: 8 additions & 1 deletion foods/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import datetime
from sqlalchemy.ext.hybrid import hybrid_property
from sqlalchemy import Column, Integer, REAL, CHAR, VARCHAR, TIMESTAMP, TEXT, ForeignKey
from sqlalchemy import Column, Integer, REAL, CHAR, VARCHAR, TIMESTAMP, TEXT, ForeignKey, JSON
import json
from flask_admin.contrib.sqla import ModelView
from flask import jsonify
Expand Down Expand Up @@ -230,5 +230,12 @@ class FoodModelView(ModelView):
}


class DietRecord(db.Model):
id = Column(Integer(), primary_key=True)
generatedAt = Column('generated_at', TIMESTAMP(), nullable=False, default=datetime.datetime.now)
ownerId = Column('owner_id', Integer(), ForeignKey('users.id'), nullable=False)
diet = Column('diet', JSON(), nullable=False)


db.event.listen(db.session, 'before_commit', SearchableMixin.before_commit)
db.event.listen(db.session, 'after_commit', SearchableMixin.after_commit)
18 changes: 16 additions & 2 deletions foods/views.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
from flask import jsonify, request
from flask_jwt_extended import jwt_required
from flask_jwt_extended import jwt_required, get_jwt_identity

from foods import foods
from foods.diet import dovade, sevade, yevade
from foods.utils import (beautify_category, get_foods_with_categories,
set_placeholder)
from utils.decorators import confirmed_only
from users.models import User

from .models import Food
from .models import Food, DietRecord
from extentions import db


def submit_diet_record(food_ids,jwt_identity):
user = User.query.filter_by(Email=jwt_identity).first()
if user is None:
return
diet_record = DietRecord(ownerId=user.id, diet=food_ids)
db.session.add(diet_record)
db.session.commit()


@foods.route('/yevade/<int:calorie>', methods=['GET'])
Expand All @@ -22,6 +33,7 @@ def get_yevade(calorie):
if catdog is None:
return jsonify({'error': 'Not Found'}), 404
else:
submit_diet_record([catdog[0].id],get_jwt_identity())
return jsonify({'diet': [catdog[0].simple_view, catdog[1]]}), 200
else:
return jsonify({'error': 'I\'m a teapot'}), 418
Expand All @@ -42,6 +54,7 @@ def get_dovade(calorie):
if catdog is None:
return jsonify({'error': 'Not Found'}), 404
else:
submit_diet_record([catdog[0].id, catdog[1].id],get_jwt_identity())
return jsonify({'diet': [catdog[0].simple_view, catdog[1].simple_view, catdog[2]]}), 200
else:
return jsonify({'error': 'I\'m a teapot'}), 418
Expand All @@ -64,6 +77,7 @@ def get_sevade(calorie):
if catdog is None:
return jsonify({'error': 'Not Found'}), 404
else:
submit_diet_record([catdog[0].id, catdog[1].id, catdog[2].id],get_jwt_identity())
return jsonify(
{'diet': [catdog[0].simple_view, catdog[1].simple_view, catdog[2].simple_view, catdog[3]]}), 200
else:
Expand Down
3 changes: 2 additions & 1 deletion users/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class User(db.Model):
ConfirmedOn = Column(DateTime(), nullable=True)
FoodSet = db.relationship('Food', backref='author', lazy=True)
PostSet = db.relationship('Post', backref='writer', lazy=True)
DietSet = db.relationship('DietRecord', backref='owner', lazy=True)

def __init__(self, full_name, email, password, admin=False,
registerd_on=None, confirmed=False, confirmed_on=None):
Expand Down Expand Up @@ -53,4 +54,4 @@ class UserModelView(ModelView):
column_filters = ['Admin', 'RegisteredOn', 'Confirmed', 'ConfirmedOn']
edit_modal = False # i don't know but it didn't work for true
column_editable_list = ['Admin', 'Confirmed']
form_excluded_columns = ('FoodSet', )
form_excluded_columns = ('FoodSet',)

0 comments on commit 2649fd7

Please sign in to comment.