示例#1
0
def api_user(id):
    if request.method == 'PUT':
        data = request.get_json()
        try:
            UserController().update_user(id=data['id'],
                                         name=data['name'],
                                         fruit=data['fruit'])
            return "Success", 200
        except:
            return "Bad request", 400
    elif request.method == 'GET':
        return UserController().get_user(id).toJson()
    elif request.method == 'DELETE':
        pass
    else:
        return "Bad request", 400
示例#2
0
    def get(self):
        try:
            session = Session()
            uuid = request.headers["GreenList-User-Id"]
            user = UserController().get_user_by_id(uuid, session)
            if not user:
                abort(401)
            products = (
                SuggestionController().get_suboptimal_products(session))
            result = []
            for product in products:
                product_json = self.product_to_json(product)

                suggestions = SuggestionController().get_suggestions(
                    user, product, session)

                alternatives = [
                    self.suggestion_to_json(suggestion)
                    for suggestion in suggestions
                ]

                product_json.update({'alternatives': alternatives})
                result.append(product_json)
            return result
        finally:
            session.close()
示例#3
0
def api_users():
    if request.method == 'POST':
        return "Not implemented", 500
    elif request.method == 'GET':
        users = UserController().get_all_users()
        return jsonify([user.toJson() for user in users])
    else:
        return "Bad request", 400
示例#4
0
def list_all():
    if not LoginController.athenticate_user():
        return redirect(url_for('logout'))

    resp = google.get("/oauth2/v2/userinfo")
    email = resp.json()["email"]

    # all_agents = UserModel.find_all()
    user = UserController()
    all_agents = user.get_all()
    return render_template('list_all.html', all_agents=all_agents, email=email)
示例#5
0
文件: app.py 项目: Reyes2777/anubis
async def register(request):
    body = json.loads(await request.body())
    name_user = body.get('name_user') or None
    email = body.get('email')
    pwd = body.get('pwd')
    user_controller = UserController(email=email, pwd=pwd)
    ok, message = await user_controller.create_user(username=name_user)
    if ok:
        return JSONResponse({'message': f'user created successfully {email}'},
                            status_code=200)
    else:
        return JSONResponse({'message': message}, status_code=400)
示例#6
0
文件: app.py 项目: Reyes2777/anubis
async def login(request):
    body = json.loads(await request.body())
    user_controller = UserController(email=body.get('email'),
                                     pwd=body.get('pwd'))
    user = await user_controller.get_user()
    if user:
        if verify_password(user.password, body.get('pwd')):
            return JSONResponse({'status': 'logged in'}, status_code=200)
        else:
            return JSONResponse({'status': 'password is wrong'},
                                status_code=401)
    else:
        return JSONResponse({'status': 'not logged'}, status_code=400)
示例#7
0
    def post(self):
        try:
            req = request.get_json()
            user_id = req['userId']
            product_id = req['productId']
            quantity = req['quantity']

            session = Session()

            user = UserController().get_user_by_id(user_id, session)
            product = ProductController().get_product(product_id, session)

            PurchasesController().add_purchase(user, product, quantity,
                                               session)
        finally:
            session.commit()
            session.close()
示例#8
0
    def co2_difference_to_trees(self,
                                user,
                                original,
                                alternative,
                                session=None):
        own_session = False
        if not session:
            session = Session()
            own_session = True

        challenge_months = (
            UserController().get_challenge_duration_in_months(user))
        tree_co2_equivalent = TREE_CO2_GRAMS_PER_MONTH * challenge_months
        saved_trees = (original - alternative) / tree_co2_equivalent

        if own_session:
            session.close()
        return saved_trees
示例#9
0
from pydantic import UUID4
import requests
import uuid
from uuid import UUID
from tortoise.contrib.pydantic import pydantic_model_creator
from fastapi import FastAPI, HTTPException
from tortoise.exceptions import DoesNotExist

from utils import get_current_user, demand_current_user

from controllers.user import UserController

router = APIRouter(tags=["User"])
user_router = router

controller = UserController()


@router.get("/", response_model=List[controller.pydantic_model])
async def get_users():
    return await controller.retrieveAll()


from models.user import User, User_Pydantic


UserPydantic = pydantic_model_creator(User, name="user")


@router.get("/me", response_model=UserPydantic)
async def get_me(current_user: dict = Depends(demand_current_user)):
示例#10
0
 def __init__(self):
     self.controller = UserController()
示例#11
0
def users():
    users = UserController().get_all_users()
    return render_template('users.html', users=users)
示例#12
0
def user(id):
    user = UserController().get_user(id)
    return render_template('users.html', users=[user])