Пример #1
0
from main import Resource, api, fields, create_access_token
from models.usermodel import UserModel, user_schema, users_schema
from werkzeug.security import generate_password_hash

ns_registration = api.namespace('registration', description='User sign up')
ns_login = api.namespace('login', description='Login details')

login_model = api.model('Login_credentials', {
    'email': fields.String(),
    'password': fields.String()
})

registration_model = api.model(
    'Signup_credentials', {
        'full_name': fields.String(),
        'email': fields.String(),
        'password': fields.String()
    })


@ns_login.route('')
class Login(Resource):
    @api.expect(login_model)
    def post(self):
        ''' use this to authenticate users'''
        data = api.payload
        email = data['email']
        if UserModel.check_if_mail_exists(email):
            if UserModel.check_passoword(data['password'], email):
                user_id = UserModel.get_user_id(email)
                access_token = create_access_token(identity=user_id)
Пример #2
0
from main import api, fields, Resource, jwt_required, get_jwt_identity
from models.tasksmodel import TaskModel, task_schema, tasks_schema
from models.usersmodel import UserModel

ns_tasks = api.namespace('tasks', description="All Task Operations")

# models Documenting the nature of your Payload
task_model = api.model(
    'Task', {
        'title': fields.String(),
        'description': fields.String(),
        'completed': fields.String()
    })


@ns_tasks.route('')
class Tasks(Resource):
    @jwt_required
    def get(self):
        """Use this Endpoint to get all Tasks"""
        uid = get_jwt_identity()
        user = UserModel.get_userby_id(uid)
        user_tasks = user.tasks

        return tasks_schema.dump(user_tasks), 200

    @api.expect(task_model)
    @jwt_required
    def post(self):
        """Use this Endpoint to add all Tasks"""
        data = api.payload
Пример #3
0
from main import Resource, api, fields
from models.user import UserModel, users_schema, user_schema

users_namespace = api.namespace(
    "users",
    description="THis endpoint deals with all operations regarding users")
user_model = api.model(
    "User",
    {
        "full_name": fields.String(),
        "email": fields.String(),
        "password": fields.String(),
    },
)


@users_namespace.route("")
class ItemList(Resource):
    def get(self):
        """Get a list of all users"""
        users = UserModel.fetch_all()
        if users:
            return users_schema.dump(users)
        else:
            return {"message": "please try again later"}, 500


@users_namespace.route("/<int:id>")
class User(Resource):
    def get(self, id: int):
        """ Geta a user by id"""
Пример #4
0
from main import api, fields, Resource
from models.usermodel import Users_model, user_schema, users_schema
from werkzeug.security import generate_password_hash, check_password_hash
from flask_jwt_extended import JWTManager,jwt_required,create_access_token,get_jwt_identity

# creating namespace
ns_registration = api.namespace("Register", description="Registration details")
ns_login = api.namespace("Login", description="Login details")

# this helps the user know hoe to input the data
register_model = api.model(
    "User",
    {
        "fullname": fields.String(),
        "email": fields.String(min_length=5),
        "password": fields.String(),
    },
)


login_model = api.model(
    "LoginLCredentials", {"email": fields.String(), "password": fields.String()}
)


@ns_login.route("")

class Login(Resource):
    
    @api.expect(login_model)
    def post(self):
Пример #5
0
from models.usermodel import Users_model, user_schema, users_schema
from flask_jwt_extended import (
    JWTManager,
    jwt_required,
    create_access_token,
    get_jwt_identity,
)

ns_users = api.namespace("users", description="all tasks regarding users")

# this helps the user know how to input the data
user_model = api.model(
    "User",
    {
        "fullname":
        fields.String(
            description="Fullname is required", required=True, min_length=2),
        "email":
        fields.String(description="Your email", required=True, min_length=2),
        "password":
        fields.String(description="Your password", required=True,
                      min_length=2),
    },
)


@ns_users.route("")
class User_list(Resource):
    @api.doc(security="apikey")
    @jwt_required
    def get(self):
        """Use this endpoint to get all users"""
Пример #6
0
from main import db, api, fields, Resource, jwt_required, get_jwt_identity
from models.store import StoreModel, stores_scehma, store_schema
from models.user import UserModel

store_namespace = api.namespace(
    "stores", description="This Endpoint deals with all operations pertaining Stores"
)

store_model = api.model("Store", {"name": fields.String()})
STORE_NOT_FOUND = "that store does not exists"
OPERATION_SUCCESSFUL = " '{}' operation carried out successfully"


@store_namespace.route("")
class StoreList(Resource):
    @jwt_required
    @api.doc(security="apikey")
    def get(self):
        """Get a list of stores"""
        user_id = get_jwt_identity()
        user = UserModel.fetch_by_id(user_id)
        stores = user.stores
        if stores:
            return stores_scehma.dump(stores), 200
        else:
            return {"message": STORE_NOT_FOUND}, 404

    @api.expect(store_model)
    @jwt_required
    @api.doc(security="apikey")
    def post(self):
Пример #7
0
from main import appi, fields

nms_cliente = appi.namespace('mvp')
model_cliente = appi.model('Cliente Model', {'nm_cliente': fields.String(required=True,
                                                                         description="Nome do Cliente"),
                                             'cpf_cliente': fields.String(required=True,
                                                                          description="CPF do Cliente"),
                                             'rg_cliente': fields.String(required=True,
                                                                         description="RG do Cliente"),
                                             'endereco': fields.String(required=True,
                                                                       description="Endereço do Cliente"),
                                             'cep': fields.String(required=True,
                                                                  description="CEP do endereço do Cliente"),
                                             'uf': fields.String(required=True,
                                                                 description="UF do endereço do Cliente"),
                                             'data_nascimento': fields.Date(required=True,
                                                                            description="Data de nascimento do Cliente"),
                                             'estado_civil': fields.String(required=True,
                                                                           description="Estado Civil atual do Cliente"),
                                             'profissao': fields.String(required=True,
                                                                        description="Profissão do Cliente")})
model_get_cliente = appi.model('Cliente Model', {'Id': fields.Integer(description="Id do cliente")})
model_put_cliente = appi.model('Cliente Model', {'nm_cliente': fields.String(description="Nome do Cliente"),
                                                 'cpf_cliente': fields.String(description="CPF do Cliente"),
                                                 'rg_cliente': fields.String(description="RG do Cliente"),
                                                 'endereco': fields.String(description="Endereço do Cliente"),
                                                 'cep': fields.String(description="CEP do endereço do Cliente"),
                                                 'uf': fields.String(description="UF do endereço do Cliente"),
                                                 'data_nascimento': fields.Date(
                                                     description="Data de nascimento do Cliente"),
                                                 'estado_civil': fields.String(
Пример #8
0
from main import Resource, api, fields, jwt_required, get_jwt_identity
from models.taskmodel import TaskModel, task_schema, tasks_schema
from models.usermodel import UserModel

# namespace
ns_tasks = api.namespace('tasks', description='All tasks regarding tasks')

# models
task_model = api.model('Task', {
    'title': fields.String(),
    'description': fields.String()
})


@ns_tasks.route('')
class TasksList(Resource):
    @api.doc(security='apiKey')
    @jwt_required
    def get(self):
        """ use this ednpoint to get a list of tasks """
        user_id = get_jwt_identity()
        user = UserModel.fetch_by_id(user_id)
        user_tasks = user.tasks
        return tasks_schema.dump(user_tasks)

    @api.doc(security='apiKey')
    @api.expect(task_model)
    @jwt_required
    def post(self):
        """ use this ednpoint to add a new task """
        data = api.payload
Пример #9
0
import accessToken  #file containing the generated access token
import password  #file containing the generated password
import timeformat  #file containing the function to generate timestamp in the following format YYYYMMDDHHmmss

generated_password = password.the_decoded_password
generated_timestamp = timeformat.the_formatted_time

# create a namespace for the stk resource
ns_stkpush = api.namespace('stkpush', description="MPESA STK PUSH")
stk_transaction = api.model(
    'Stk', {
        "amount":
        fields.Integer(min=1, required=True),
        "phoneNumber":
        fields.String(
            description='Your Phone Number in the format 254XXXXXXXXX',
            required=True)
    })


@ns_stkpush.route('')
class Stkpush(Resource):
    @api.expect(stk_transaction)
    def post(self):
        """Use this API endpoint to initiate online payment on behalf of a customer."""
        data = api.payload
        access_token = accessToken.gerated_access_token
        api_url = "https://sandbox.safaricom.co.ke/mpesa/stkpush/v1/processrequest"
        headers = {"Authorization": "Bearer %s" % access_token}
        request = {
            "BusinessShortCode": constants.BusinessShortCode,