예제 #1
0
    def post(self):
        user, errors = self.schema().load(request.json, session=db.session)
        if errors:
            db.session.rollback()
            return make_response(jsonify({'error': 101, 'message': str(errors)}), 403)
        db.session.add(user)
        db.session.commit()
        user_count = self.model.query.filter(self.model.school_id == user.school_id).count()
        user.username = user.user_type[3] + (str(user.school_id) + str(user_count)).rjust(5, '0')
        db.session.commit()

        return jsonify({'success': 200, 'message': 'user added successfully',
                        'data': self.schema(exclude=('username',)).dump(user).data})


api.add_resource(UserListResource, '/users/', endpoint='users')
api.add_resource(UserResource, '/user/<string:slug>/', endpoint='user')


class UserProfileResource(BaseResource):

    model = UserProfile
    schema = UserProfileSchema

    def get(self, slug):

        user_profile = self.model.query.get(slug)
        if not user_profile:
            return make_response(jsonify({'error': 100, 'message': 'User Profile not found'}), 404)
        user_profile_dump = self.schema().dump(user_profile).data
        db.session.commit()
예제 #2
0
from flask import redirect, url_for

from src import api, jwt
from src.rest.auth_api import AuthRegister, AuthLogin, Logout
from src.rest.mainpage_api import MainPage, Signup, Personal


@jwt.expired_token_loader
def expired_token_callback(jwt_header, jwt_data):
    return redirect(url_for('logout'))


api.add_resource(MainPage, '/', strict_slashes=False)
api.add_resource(Signup, '/signup', strict_slashes=False)
api.add_resource(AuthRegister, '/auth/register', strict_slashes=False)
api.add_resource(AuthLogin, '/auth/login', strict_slashes=False)
api.add_resource(Logout, '/auth/logout', strict_slashes=False)
api.add_resource(Personal, '/personal', strict_slashes=False)
예제 #3
0
from src.data import Data
from src.models import Pair, Interval

data = Data()

class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

class Test(Resource):
    def get(self):
        return {'results':data.test()}

class History(Resource):
    def get(self, symbol_1:str, symbol_2:str, _datetime:int):
        pair = Pair(symbol_1, symbol_2)
        res = data.history(pair, _datetime)   
        return res
class HistoryRange(Resource):
    def get(self, symbol_1:str, symbol_2:str, datetime_start:int, datetime_end:int, interval:str):
        pair = Pair(symbol_1, symbol_2)
        interval = Interval(interval)
        res = data.history(pair, datetime_start, datetime_end, interval)   
        return res

api.add_resource(HelloWorld, '/')
api.add_resource(Test,'/test')
api.add_resource(History,'/history/<string:symbol_1>/<string:symbol_2>/<int:_datetime>')
api.add_resource(HistoryRange,'/history/<string:symbol_1>/<string:symbol_2>/<int:datetime_start>/<int:datetime_end>/<string:interval>')

예제 #4
0
from src import api
from src.resources.actors import ActorListApi
from src.resources.aggregations import AggregationApi
from src.resources.films import FilmListApi
from src.resources.smoke import Smoke

api.add_resource(Smoke, '/smoke', strict_slashes=False)
api.add_resource(FilmListApi, '/films', '/films/<uuid>', strict_slashes=False)
api.add_resource(ActorListApi,
                 '/actors',
                 '/actors/<uuid>',
                 strict_slashes=False)
api.add_resource(AggregationApi, '/aggregations', strict_slashes=False)
예제 #5
0
                })
            else:
                return make_response(jsonify({'meta': {'code': 403}}), 403)

        else:
            data = request.form
            user = self.model.query.filter(
                self.model.email == data['email']).first()
            if user and verify_and_update_password(data['password'],
                                                   user) and login_user(user):
                return make_response(redirect('/admin/', 302))
            else:
                return make_response(redirect('/api/v1/login', 403))


api.add_resource(UserLoginResource, '/login/', endpoint='login')


@api.register()
class CustomerView(BaseView):
    @classmethod
    def get_resource(cls):
        return CustomerResource


@api.register()
class AddressView(BaseView):
    @classmethod
    def get_resource(cls):
        return AddressResource
예제 #6
0
    def post(self):
        data = request.json
        user = self.model.query.filter(
            self.model.mobile_number == data['mobile_number']).first()
        if user and redis_store.get(
                data['mobile_number']).decode('utf-8') == data['otp']:

            utu = UserToUser()
            utu.business_owner_id = current_user.id
            utu.customer_id = user.id
            db.session.add(utu)
            db.session.commit()
            return make_response(
                jsonify({
                    'id': user.id,
                    'first_name': user.first_name
                }), 200)
        else:
            return make_response(jsonify({'meta': {'code': 403}}), 403)


api.add_resource(UserLoginResource, '/login/', endpoint='login')
api.add_resource(UserRegisterResource, '/register/', endpoint='register')
api.add_resource(UserVerifyResource, '/verify/', endpoint='verify')

api.add_resource(CustomerRegistrationResource,
                 '/customer_register/',
                 endpoint='customer_register')
api.add_resource(CustomerVerifyResource,
                 '/customer_verify/',
                 endpoint='customer_verify')
from src import api
from src.views import HelloWorld, Weather, Subscribe

api.add_resource(HelloWorld, '/')
api.add_resource(Weather, '/weather')
api.add_resource(Subscribe, '/subscribe')
예제 #8
0
                all_notifs = Notification.query.all()
            else:
                all_notifs = Notification.query.join(User).filter(
                    User.is_admin == False).all()
            return jsonify(notifications_schema.dump(all_notifs).data)
        except (InvalidHeaderError, NoAuthorizationError,
                JWTExtendedException) as e:
            return make_response(
                jsonify({'meta': {
                    'code': 404,
                    'error': str(e)
                }}), 404)

    @jwt_required
    def post(self):
        current_user_id = get_jwt_identity()

        title = request.json['title']
        body = request.json['body']
        issuer_id = current_user_id

        new_notif = Notification(title, body, issuer_id)

        db.session.add(new_notif)
        db.session.commit()

        return jsonify(notification_schema.dump(new_notif).data)


api.add_resource(Notifications_api, '/notifications/')
예제 #9
0
파일: main.py 프로젝트: GSIL-Monitor/xxw
from src import api, app
from src.apps.handlers.bussiness_alert import alert
from src.apps.handlers.health_check import health_check
from src.apps.handlers.ip import ip_address
from src.apps.handlers.phone import phone_address
from src.apps.handlers.sms import (bussiness_template, sent_multiple,
                                   sent_single, sms_app, sms_app_template,
                                   sms_app_template_check, sms_channel,
                                   sms_log, template_type, verify_msg_check,
                                   verify_msg_sent)

# api.add_resource(, "")  #

# 健康检查
api.add_resource(health_check.Health, "/health_check")  # 健康检查

# 短信服务
api.add_resource(
    bussiness_template.SmsBussinessTemplateAPI, "/sms/sms_bussiness_template"
)
api.add_resource(sent_single.SmsSentSingleAPI, "/sms/sms_sent_single")
api.add_resource(sent_multiple.SmsSentMultipleAPI, "/sms/sms_sent_multiple")
api.add_resource(sms_log.SmsLogAPI, "/sms/sms_log")
api.add_resource(template_type.SmsTemplateTypeAPI, "/sms/sms_template_type")
api.add_resource(sms_app.SMSAppAPI, "/sms/app")
api.add_resource(sms_app_template.SMSAppTemplateAPI, "/sms/app_template")
api.add_resource(sms_channel.SMSChannelAPI, "/sms/channel")
api.add_resource(
    sms_app_template_check.SMSAppTemplateCheckAPI, "/sms/app_template_check"
)
예제 #10
0
파일: apiv1.py 프로젝트: seipy/ChatApp
            self.model.school_id == user.school_id).count()
        user.username = user.user_type[3] + (str(user.school_id) +
                                             str(user_count)).rjust(5, '0')
        db.session.commit()

        return jsonify({
            'success':
            200,
            'message':
            'user added successfully',
            'data':
            self.schema(exclude=('username', )).dump(user).data
        })


api.add_resource(UserListResource, '/users/', endpoint='users')
api.add_resource(UserResource, '/user/<int:slug>/', endpoint='user')


class UserProfileResource(BaseResource):

    model = UserProfile
    schema = UserProfileSchema

    def get(self, slug):

        user_profile = self.model.query.get(slug)
        if not user_profile:
            return make_response(
                jsonify({
                    'error': 100,
예제 #11
0
                })
            else:
                return make_response(jsonify({'meta': {'code': 403}}), 403)

        else:
            data = request.form
            user = self.model.query.filter(
                self.model.email == data['email']).first()
            if user and verify_and_update_password(data['password'],
                                                   user) and login_user(user):
                return make_response(redirect('/admin/', 302))
            else:
                return make_response(redirect('/api/v1/login', 403))


api.add_resource(UserLoginResource, '/login/', endpoint='login')


@api.register()
class CustomerView(BaseView):
    @classmethod
    def get_resource(cls):
        return CustomerResource


@api.register()
class AddressView(BaseView):
    @classmethod
    def get_resource(cls):
        return AddressResource
예제 #12
0
from src import app, api
from flask import render_template
from api.import_captions import ImportCaptions as ImportCaptionsApi
from api.import_episodes import ImportEpisodes as ImportEpisodesApi
from api.search import Search as SearchApi
from api.captions import Captions as CaptionsApi
from api.episode import Episodes as EpisodesApi

# Data
api.add_resource(ImportEpisodesApi, '/api/import/episodes/<string:series>/')
api.add_resource(ImportCaptionsApi, '/api/import/captions/<string:series>/')

# API
api.add_resource(EpisodesApi, '/api/episodes/<string:series>/')
api.add_resource(SearchApi, '/api/search/<string:series>/')
api.add_resource(CaptionsApi, '/api/captions/<string:series>/<string:episode>')

# Site
@app.route('/', methods=['GET', 'HEAD'])
def landing():
    """Show landing page"""
    return render_template('index.html')

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    #return 'You want path: %s' % path
    return render_template('index.html')
    #return app.send_static_file('index.html')
예제 #13
0
from src import api, app

from src.modules import (args_mgr, contract, mail_mgr, manager, manager_mgr, merchant_mgr,
                         risk_args, sms_mgr, task, credit_mgr, dashboard, dashboard_sale, dashboard_user,
                         credit_merchant, credit_conf, sx_mgr, regional_control, case_info, schedurun_mgr)
from src.modules.business_user import user, permission, public, merchant_business
from src.modules.monitor import config, monitor
# 执行脚本需要引用
from src.scripts.generate_init_data import generate_data

# 路由注册

# 任务处理
api.add_resource(task.AuditEvtAPI, "/api/v1/audit_task/tasks")
api.add_resource(task.AllotAuditEvtAPI, "/api/v1/audit_task/allot_task")
api.add_resource(task.AuditEvtAllotCntAPI, "/api/v1/audit_task/allot_cnt") 

# 参数配置
api.add_resource(args_mgr.CommonCodeAPI, "/api/v1/args_mgr/common_code")  # 通用参数字典
api.add_resource(args_mgr.IndustryPositionAPI, "/api/v1/args_mgr/industry_position")  # 行业职位
api.add_resource(args_mgr.IndustryCodeAPI, "/api/v1/args_mgr/industry_code")  # 行业代码

# b 端用户 ==================================================
api.add_resource(user.SignIn, "/api/v1/user/sign_in")
api.add_resource(user.Password, "/api/v1/user/password")
api.add_resource(user.SignOut, "/api/v1/user/sign_out")
api.add_resource(user.UserInfo, "/api/v1/user/info")
# 用户管理
api.add_resource(user.MerchantView, "/api/v1/user/merchant")
api.add_resource(user.UserManage, "/api/v1/user")
api.add_resource(user.ResetPassword, "/api/v1/user/password/reset")
예제 #14
0
        length = film_json.get('length')
        description = film_json.get('description')

        if title:
            film.title = title
        elif release_date:
            film.release_date = release_date
        elif distributed_by:
            film.distributed_by = distributed_by
        elif rating:
            film.rating = rating
        elif length:
            film.length = length
        elif description:
            film.description = description

        db.session.add(film)
        db.session.commit()
        return {'message': 'Updated successfully'}, 200

    def delete(self):
        film = db.session.query(Film).filter_by(uuid=uuid).first()
        if not film:
            return "", 404
        db.session.delete(film)
        db.session.commit()
        return '', 204


api.add_resource(Smoke, "/smoke", strict_slashes=False)
api.add_resource(FilmListApi, "/films", "/films/<uuid>", strict_slashes=False)
예제 #15
0
            DepartmentService.create(department, db.session)), 200

    def delete(self, id):
        """send delete request to db(table 'department') with json(fields: 'id','name')
        and return status code 204 or 404"""

        department = DepartmentService.fetch_department_by_id(db.session, id)
        if not department:
            return make_response(jsonify({"message": "Department not found"}),
                                 404)
        DepartmentService.delete(department, db.session)
        return '', 204


api.add_resource(EmployeeListApi,
                 '/json/employees',
                 '/json/employees/<id>',
                 strict_slashes=False)
api.add_resource(DepartmentListApi,
                 '/json/departments',
                 '/json/departments/<id>',
                 strict_slashes=False)

SWAGGER_URL = '/swagger'
API_URL = '/static/swagger.json'
swagger_ui_blueprint = get_swaggerui_blueprint(
    SWAGGER_URL,
    API_URL,
    config={'app_name': "department-app flask restful api"})
app.register_blueprint(swagger_ui_blueprint, url_prefix=SWAGGER_URL)
예제 #16
0
            return make_response(jsonify({'error': 'User already exists'}),
                                 403)
        user, errors = self.schema().load(data)
        if errors:
            return make_response(jsonify(errors), 400)
        try:
            user.set_password(data['password'])
            db.session.add(user)
            db.session.commit()
        except (IntegrityError, InvalidRequestError) as e:
            print(e)
            db.session.rollback()
            return make_response(jsonify(error={'code': 400}), 400)

        expires = timedelta(days=365)
        return make_response(
            jsonify(
                created_user={
                    'id':
                    user.id,
                    'user':
                    self.schema(only=('id', 'email',
                                      'is_admin')).dump(user).data,
                    'authentication_token':
                    create_access_token(identity=user.id,
                                        expires_delta=expires)
                }), 200)


api.add_resource(UserLoginResource, '/login/', endpoint='login')
api.add_resource(UserRegisterResource, '/register/', endpoint='register')
예제 #17
0
from src import api
from src.resources.bikes import BikesListApi
from src.resources.riders import RidersListApi
from src.resources.auth import AuthRegister, AuthLogin

api.add_resource(BikesListApi,
                 "/bikes",
                 "/bikes/<string:uuid>",
                 strict_slashes=False)
api.add_resource(RidersListApi, "/riders", strict_slashes=False)
api.add_resource(AuthRegister, "/register", strict_slashes=False)
api.add_resource(AuthLogin, "/login", strict_slashes=False)
예제 #18
0
from src import api
from src.resources.actors import ActorListApi
from src.resources.aggregations import AggregationApi
from src.resources.auth import AuthRegister, AuthLogin
from src.resources.films import FilmListApi
from src.resources.smoke import Smoke

api.add_resource(Smoke, '/smoke', strict_slashes=False)
api.add_resource(FilmListApi, '/films', '/films/<uuid>', strict_slashes=False)
api.add_resource(ActorListApi,
                 '/actors',
                 '/actors/<uuid>',
                 strict_slashes=False)
api.add_resource(AggregationApi, '/aggregations', strict_slashes=False)
api.add_resource(AuthRegister, '/register', strict_slashes=False)
api.add_resource(AuthLogin, '/login', strict_slashes=False)
예제 #19
0
파일: apiv1.py 프로젝트: saurabh1e/ChatApp
    def post(self):
        user, errors = self.schema().load(request.json, session=db.session)
        if errors:
            db.session.rollback()
            return make_response(jsonify({'error': 101, 'message': str(errors)}), 403)
        db.session.add(user)
        db.session.commit()
        user_count = self.model.query.filter(self.model.school_id == user.school_id).count()
        user.username = user.user_type[3] + (str(user.school_id) + str(user_count)).rjust(5, '0')
        db.session.commit()

        return jsonify({'success': 200, 'message': 'user added successfully',
                        'data': self.schema(exclude=('username',)).dump(user).data})


api.add_resource(UserListResource, '/users/', endpoint='users')
api.add_resource(UserResource, '/user/<int:slug>/', endpoint='user')


class UserProfileResource(BaseResource):

    model = UserProfile
    schema = UserProfileSchema

    def get(self, slug):

        user_profile = self.model.query.get(slug)
        if not user_profile:
            return make_response(jsonify({'error': 100, 'message': 'User Profile not found'}), 404)
        user_profile_dump = self.schema().dump(user_profile).data
        db.session.commit()
예제 #20
0
            features1 = [
                user.expected_salary, housing.no_of_rooms,
                housing.no_of_bedrooms
            ]
            housing.prediction1 = getPrediction(features1, "Housing_Model.pkl")

            features2 = [
                housing.no_of_bedrooms, housing.no_of_bathrooms,
                housing.sqft_living
            ]
            housing.prediction2 = getPrediction(features2,
                                                "Housing_Model2.pkl")

            print(housing)

            db.session.commit()

            return jsonify(self.schema().dump(housing).data)

        except Exception as e:
            return make_response(
                jsonify({'meta': {
                    'code': 405,
                    'error': str(e)
                }}), 405)


api.add_resource(Housing_api, '/housing')
api.add_resource(HousingListing_api, '/housing_list')
예제 #21
0
            self.model.school_id == user.school_id).count()
        user.username = user.user_type[3] + (str(user.school_id) +
                                             str(user_count)).rjust(5, '0')
        db.session.commit()

        return jsonify({
            'success':
            200,
            'message':
            'user added successfully',
            'data':
            self.schema(exclude=('username', )).dump(user).data
        })


api.add_resource(UserListResource, '/users/', endpoint='users')
api.add_resource(UserResource, '/user/<int:slug>/', endpoint='user')


class UserProfileResource(BaseResource):

    model = UserProfile
    schema = UserProfileSchema

    def get(self, slug):

        user_profile = self.model.query.get(slug)
        if not user_profile:
            return make_response(
                jsonify({
                    'error': 100,
예제 #22
0
from src import app, db, api
from src.models.user import User
from src.resources.register import Register
from src.resources.verify import Verify
from src.resources.login import Login
from src.resources.refresh import Refresh
from src.resources.me import Me

with app.app_context():
    db.drop_all()
    db.create_all()

    api.add_resource(Register, "/user/register")
    api.add_resource(Verify, "/user/verify")
    api.add_resource(Login, "/user/login")
    api.add_resource(Refresh, "/user/refresh")
    api.add_resource(Me, "/user/me")

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80, debug=True)
예제 #23
0
        collection_type = 'day'
        if days > 28:
            collection_type = 'week'
            if days > 360:
                collection_type = 'month'

        stock_metrics = Stock.query \
            .with_entities(cast(func.coalesce(func.Sum(self.model.purchase_amount * self.model.units_purchased), 0), Integer),
                           cast(func.coalesce(func.Sum(self.model.selling_amount * self.model.units_sold), 0), Integer),
                           cast(func.coalesce(
                               func.Sum((self.model.units_purchased - self.model.units_sold) * self.model.purchase_amount)
                               .filter(self.model.expired == True), 0), Integer),
                           func.cast(func.date_trunc(collection_type, func.cast(self.model.created_on, Date)), Text)
                           .label('dateWeek')) \
            .filter(self.model.created_on.between(from_date, to_date),
                    self.model.retail_shop_id.in_(shops)).order_by('dateWeek').group_by('dateWeek').limit(100).all()

        distributor_metrics = DistributorBill.query \
            .with_entities(cast(func.coalesce(func.Sum(DistributorBill.bill_amount), 0), Integer), DistributorBill.distributor_name,
                           ) \
            .filter(DistributorBill.created_on.between(from_date, to_date),
                    DistributorBill.retail_shop_id.in_(shops)) \
            .group_by(DistributorBill.distributor_id) \
            .limit(100).all()

        return make_response(jsonify(dict(stock_metrics=stock_metrics, distributor_metrics=distributor_metrics)), 200)


api.add_resource(StockStatResource, '/stock_stats/', endpoint='stock_stats')
from src import app, api
from flask import render_template
from api.import_captions import ImportCaptions as ImportCaptionsApi
from api.import_episodes import ImportEpisodes as ImportEpisodesApi
from api.search import Search as SearchApi
from api.captions import Captions as CaptionsApi
from api.episode import Episodes as EpisodesApi

# Data
api.add_resource(ImportEpisodesApi, '/api/import/episodes/<string:series>/')
api.add_resource(ImportCaptionsApi, '/api/import/captions/<string:series>/')

# API
api.add_resource(EpisodesApi, '/api/episodes/<string:series>/')
api.add_resource(SearchApi, '/api/search/<string:series>/')
api.add_resource(CaptionsApi, '/api/captions/<string:series>/<string:episode>')


# Site
@app.route('/', methods=['GET', 'HEAD'])
def landing():
    """Show landing page"""
    return render_template('index.html')


@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    #return 'You want path: %s' % path
    return render_template('index.html')
    #return app.send_static_file('index.html')
예제 #25
0
from src import api, app
from src.http.controllers import (Subscription)

api.add_resource(Subscription, '/subscription',
                 '/subscription/register/<string:method>')


@app.before_request
def on_init():
    ...


@app.teardown_request
def on_teardown(x):
    ...
예제 #26
0
from src import api
from src.resources.auth import RegisterResource, LoginResource
from src.resources.analytics import LikeAggregationResource, UserAnalyticsResource
from src.resources.posts import PostResource, LikePostResource
from src.resources.smoke import Smoke
from src.resources.users import UserResource

api.add_resource(Smoke, '/smoke', strict_slashes=False)

api.add_resource(UserResource,
                 '/users/<int:user_id>/posts',
                 '/users/<int:user_id>/posts/<int:post_id>',
                 strict_slashes=False)
api.add_resource(PostResource,
                 '/posts',
                 '/posts/<int:post_id>',
                 strict_slashes=False)
api.add_resource(LikePostResource,
                 '/posts/<int:post_id>/like',
                 '/posts/<int:post_id>/dislike',
                 strict_slashes=False)
api.add_resource(LikeAggregationResource,
                 '/api/analytics',
                 strict_slashes=False)
api.add_resource(UserAnalyticsResource,
                 '/api/analytics/users/<int:user_id>',
                 strict_slashes=False)

api.add_resource(RegisterResource, '/register')
api.add_resource(LoginResource, '/login')
예제 #27
0
from src import api, app
from config import config
from src.resources.home import Home
from src.resources.rawData import RawData
from src.resources.chats import Chats, Chat
from src.resources.messages import Messages, Message

# define all endpoints
api.add_resource(Home, "/")
api.add_resource(RawData, config["baseURL"]+"/rawdata")
api.add_resource(Chats, config["baseURL"]+"/chats")
api.add_resource(Chat, config["baseURL"]+"/chats/<string:chatid>")
api.add_resource(Messages, config["baseURL"]+"/chats/<string:chatid>/messages")
api.add_resource(Message, config["baseURL"] +
                 "/chats/<string:chatid>/messages/<string:msgid>")


if __name__ == "__main__":
  app.run(debug=config["debugMode"])
예제 #28
0
from src.resources.chat import Chat
from src.resources.chats import Chats
from src.resources.department import Department
from src.resources.departments import Departments
from src.resources.login import Login, Logout
from src.resources.main import Main
from src.resources.profile import Profile
from src.resources.user import User
from src.resources.users import Users

#
# Declarations of app routes in type of rest web-architecture
#

# routes
api.add_resource(Main, '/', '/main', strict_slashes=False)
api.add_resource(About, '/about', strict_slashes=False)
api.add_resource(Login, '/login', strict_slashes=False)
api.add_resource(Logout, '/logout', strict_slashes=False)
api.add_resource(Profile, '/profile', strict_slashes=False)
api.add_resource(User, '/user/<uuid>', strict_slashes=False)
api.add_resource(Department, '/department/<uuid>', strict_slashes=False)
api.add_resource(Users, '/users/<page>', strict_slashes=False)
api.add_resource(Departments, '/departments/<page>', strict_slashes=False)
api.add_resource(Chats, '/chats', strict_slashes=False)
api.add_resource(Chat, '/chat/<uuid_to>', strict_slashes=False)


# handling of 404 page error
@app.errorhandler(404)
def page_not_found(e):
예제 #29
0
파일: views.py 프로젝트: Eshaan7/UnmaskIP
                return jsonify(
                    self.schema(many=False).dump(new_ipinfo_obj).data)
            else:
                return jsonify(self.schema(many=False).dumps(ipinfo)  # .data
                               )

        except Exception as e:
            return make_response(
                jsonify({'meta': {
                    'code': 400,
                    'error': str(e)
                }}), 400)


class fetchIPinfo_api(Resource):
    def get(self, ip_to_check):

        ipinfo = fetchFromShodan(ip_to_check)
        if ipinfo:
            # add to database ??
            return make_response(jsonify(ipinfo), 200)
        else:
            return make_response(
                jsonify({"ip": ip_to_check}, {"status": "clean"}))


api.add_resource(count_api, '/get_count/')
api.add_resource(CheckIP_api, '/checkip/<ip_to_check>/')
api.add_resource(aggregation_api, '/get_aggregation/')
api.add_resource(fetchIPinfo_api, '/fetchipinfo/<ip_to_check>/')
예제 #30
0
                user.active = True
                db.session.add(user)
                db.session.commit()
            except (IntegrityError, InvalidRequestError) as e:
                print(e)
                db.session.rollback()
                return make_response(jsonify(error={'code': 400}), 400)
            expires = timedelta(days=365)
            return make_response(
                jsonify(
                    created_user={
                        'id':
                        user.id,
                        'user':
                        self.schema(only=('id', 'email', 'username',
                                          'mobile_number',
                                          'roles')).dump(user).data,
                        'authentication_token':
                        create_access_token(identity=user.id,
                                            expires_delta=expires)
                    }), 200)
        else:
            return make_response(jsonify({'meta': {'code': 403}}), 403)


api.add_resource(UserLoginResource, '/login/', endpoint='login')
api.add_resource(UserRegisterResource, '/register/', endpoint='register')
api.add_resource(UserVerifyResource, '/verify/', endpoint='verify')

api.add_resource(UserViewResource, '/user', endpoint='user')
예제 #31
0
파일: views.py 프로젝트: saurabh1e/pos-api
            .group_by('dateWeek').order_by('dateWeek').all()

        items = Item.query.join(self.model, and_(self.model.id == Item.order_id)) \
            .filter(self.model.retail_shop_id.in_(shops))

        max_sold_items = items.join(Product, and_(Product.id == Item.product_id)) \
            .with_entities(func.Sum(Item.quantity), Product.name, ) \
            .filter(self.model.created_on.between(from_date, to_date)) \
            .group_by(Item.product_id, Product.name).order_by(-func.Sum(Item.quantity)).limit(10).all()

        max_profitable_items = items.join(Product, and_(Product.id == Item.product_id)) \
            .join(Stock, and_(Stock.id == Item.stock_id)) \
            .with_entities(func.Sum((Item.unit_price - Stock.purchase_amount) * Item.quantity), Product.name, ) \
            .filter(self.model.created_on.between(from_date, to_date)) \
            .group_by(Item.product_id, Product.name) \
            .order_by(-func.Sum((Item.unit_price - Stock.purchase_amount) * Item.quantity)) \
            .limit(10).all()

        return make_response(
            jsonify(
                dict(total_orders=total_orders,
                     total_sales=total_sales,
                     total_quantity=total_quantity,
                     max_sold_items=max_sold_items,
                     max_profitable_items=max_profitable_items,
                     total_items=str(total_items),
                     orders=orders)), 200)


api.add_resource(OrderStatResource, '/order_stats/', endpoint='order_stats')
예제 #32
0
파일: routes.py 프로젝트: Wrelin/films_api
from src import api
from src.resources.actors import ActorListApi
from src.resources.aggregations import AggregationApi
from src.resources.auth import AuthRegister, AuthLogin
from src.resources.films import FilmListApi
from src.resources.populate_db import PopulateDB, PopulateDBThreaded, PopulateDBThreadPoolExecutor
from src.resources.smoke import Smoke

api.add_resource(Smoke, '/smoke', strict_slashes=False)
api.add_resource(FilmListApi, '/films', '/films/<uuid>', strict_slashes=False)
api.add_resource(ActorListApi,
                 '/actors',
                 '/actors/<uuid>',
                 strict_slashes=False)
api.add_resource(AggregationApi, '/aggregations', strict_slashes=False)
api.add_resource(AuthRegister, '/register', strict_slashes=False)
api.add_resource(AuthLogin, '/login', strict_slashes=False)
api.add_resource(PopulateDB, '/populate_db', strict_slashes=False)
api.add_resource(PopulateDBThreaded,
                 '/populate_db_threaded',
                 strict_slashes=False)
api.add_resource(PopulateDBThreadPoolExecutor,
                 '/populate_db_thread_pool_executor',
                 strict_slashes=False)
예제 #33
0
# coding=utf-8
from src import api
from src.movies.api import Movie, Movies, SearchMovie

api.add_resource(Movie, "/movie/<pk>")
api.add_resource(SearchMovie, "/movie/search/<name>")
api.add_resource(Movies, "/movies")