예제 #1
0
def register():
    if not 'username' in request.json:
        return make_response(jsonify({'error': 'Missing username parameter'}),
                             404)
    if not 'password' in request.json:
        return make_response(jsonify({'error': 'Missing password parameter'}),
                             404)
    if not 'lazada_email' in request.json:
        return make_response(
            jsonify({'error': 'Missing lazada email parameter'}), 404)
    if not 'lazada_api_key' in request.json:
        return make_response(
            jsonify({'error': 'Missing lazada api key parameter'}), 404)

    user = {
        "username": request.json['username'],
        "password": request.json['password'],
        "lazada_user_name": request.json['lazada_email'],
        "lazada_user_id": request.json['lazada_email'],
        "lazada_api_key": request.json['lazada_api_key'],
        "created_at": int(round(time.time())),
        "role": 0,  # Default is user not admin
        "certain_size": 0  # User manager will update for it
    }

    userManager = UserManager()
    result = userManager.register(user)
    if 'error' in result:
        return make_response(jsonify(result), 404)
    else:
        return make_response(json.dumps(result), 201)
예제 #2
0
def updatePw():
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing username parameter value'}), 404)
    if not 'oldpass' in request.json:
        return make_response(jsonify({'error': 'Missing oldpass parameter'}),
                             404)
    if not 'newpass' in request.json:
        return make_response(jsonify({'error': 'Missing newpass parameter'}),
                             404)

    user = {
        "oldpass": request.json['oldpass'],
        "newpass": request.json['newpass'],
    }

    userManager = UserManager()
    result = userManager.updatePw(user, request.args.get('token'))
    if 'success' in result:
        return make_response(json.dumps(user), 201)
    else:
        return make_response(jsonify(result), 404)
예제 #3
0
def update():
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.json:
        return make_response(
            jsonify({'error': 'Missing json parameters value'}), 404)
    if not 'id' in request.json:
        return make_response(jsonify({'error': 'Missing id parameter'}), 404)
    if not 'password' in request.json:
        return make_response(jsonify({'error': 'Missing password parameter'}),
                             404)

    user = {
        "id": request.json['id'],
        "username": (request.json['username']),
        "password": (request.json['password']),
        "lazada_username": (request.json['lazada_username']),
        "lazada_userid": (request.json['lazada_userid']),
        "lazada_apikey": (request.json['lazada_apikey']),
        "certain_size": (request.json['certain_size'])
    }

    userManager = UserManager()
    result = userManager.updateUser(user, request.args.get('token'))
    if 'success' in result:
        return make_response(jsonify({"success": "done"}))
    else:
        return make_response(jsonify(result), 403)
예제 #4
0
    async def get(self, user):
        target_id = self.get_argument('id', None)

        if target_id:
            try:
                target = await self.application.objects.get(UserProfile,
                                                            id=target_id)
                data = {
                    'id': target_id,
                }

                # Check if the current user is following that account

                manager = UserManager(user)
                target_manager = UserManager(target)

                data['following'] = await manager.is_following_async(
                    self.application.objects, target)
                data['followed_by'] = await target_manager.is_following_async(
                    self.application.objects, user)

                self.write(data)
                self.set_status(200)
            except UserProfile.DoesNotExist:
                log.error(f'User with id {target_id} not found')
                self.write({"Error": "Target user not found"})
                self.set_status(404)
        else:
            raise CustomError(reason="Targed it not provided", status_code=400)
            log.error("Missing target id on request")
예제 #5
0
def insert():
    if not request.json:
        return make_response(
            jsonify({'error': 'Missig json parameters value'}), 404)
    if not 'sku' in request.json:
        return make_response(jsonify({'error': 'Missig sku parameter'}), 404)
    if not 'min_price' in request.json:
        return make_response(jsonify({'error': 'Missig min_price parameter'}),
                             404)
    if not 'max_price' in request.json:
        return make_response(jsonify({'error': 'Missig max_price parameter'}),
                             404)
    if not 'compete_price' in request.json:
        return make_response(
            jsonify({'error': 'Missig compete_price parameter'}), 404)
    if not 'state' in request.json:
        return make_response(jsonify({'error': 'Missig state parameter'}), 404)
    if not 'repeat_time' in request.json:
        return make_response(
            jsonify({'error': 'Missig repeat_time parameter'}), 404)

    sku = {
        "id": request.json['id'],
        "sku": request.json['sku'],
        "name": "null",
        "link": "null",
        "min_price": int(request.json['min_price']),
        "max_price": int(request.json['max_price']),
        "compete_price": int(request.json['compete_price']),
        "special_price": 0,
        "state": int(request.json['state']),
        "repeat_time": int(request.json['repeat_time']),
        "created_at": int(round(time.time()))
    }

    userManager = UserManager()
    temporaryUser = userManager.getUser("token")

    lazadaSkuApi = LazadaSkuApi()
    lazadaProduct = lazadaSkuApi.getSku(sku, temporaryUser)

    if (lazadaProduct):
        sku['name'] = lazadaProduct['Attributes']['name'].encode('utf-8')
        sku['link'] = lazadaProduct['Skus'][0]['Url'].encode('utf-8')
        sku['special_price'] = lazadaProduct['Skus'][0]['special_price']
        skuManager = SkuManager()
        skuManager.insertSku(sku)
        return make_response(json.dumps(sku), 201)
    else:
        return make_response(jsonify({'error': 'Seller SKU is wrong !!!'}),
                             404)
예제 #6
0
    def __init__(self):
        inbox_menu_item = FunctionItem("Inbox", self.inbox_screen)
        send_message_menu_item = FunctionItem("Send Message", self.send_screen)
        statuses_menu_item = FunctionItem("Statuses", self.statuses_screen)
        self.admin_menu_item = FunctionItem("Admin panel", self.admin_panel)

        self.main_menu = ConsoleMenu("Redis Messaging")
        self.main_menu.append_item(inbox_menu_item)
        self.main_menu.append_item(send_message_menu_item)
        self.main_menu.append_item(statuses_menu_item)

        self.user_manager = UserManager()
        self.message_manager = None
        self.current_username = None

        self.journal_pub_sub = PubSub('activity_journal')
예제 #7
0
class App:
    def __init__(self):
        inbox_menu_item = FunctionItem("Inbox", self.inbox_screen)
        send_message_menu_item = FunctionItem("Send Message", self.send_screen)
        statuses_menu_item = FunctionItem("Statuses", self.statuses_screen)
        self.admin_menu_item = FunctionItem("Admin panel", self.admin_panel)

        self.main_menu = ConsoleMenu("Redis Messaging")
        self.main_menu.append_item(inbox_menu_item)
        self.main_menu.append_item(send_message_menu_item)
        self.main_menu.append_item(statuses_menu_item)

        self.user_manager = UserManager()
        self.message_manager = None
        self.current_username = None

        self.journal_pub_sub = PubSub('activity_journal')

    def start(self):
        while not self.user_manager.username:
            self.user_manager.show_auth()

        self.current_username = self.user_manager.username
        is_admin = "admin" if self.user_manager.client.is_admin(
            self.current_username) else "just user"
        self.main_menu.epilogue_text = f"logged in as {self.current_username} ({is_admin})"

        if is_admin == "admin":
            self.main_menu.append_item(self.admin_menu_item)

        self.message_manager = MessageManager(self.current_username)
        self.journal_pub_sub.subscribe()

        self.main_menu.show()

    def inbox_screen(self):
        self.message_manager.show_inbox()

    def send_screen(self):
        self.message_manager.show_send()

    def statuses_screen(self):
        self.message_manager.show_statuses()

    def admin_panel(self):
        admin_manager = AdminManager(self.journal_pub_sub)
        admin_manager.show_menu()
예제 #8
0
def getAll():
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing username parameter value'}), 404)

    userManager = UserManager()
    result = userManager.getAll(request.args.get('token'))
    if 'error' in result:
        return make_response(jsonify(result), 403)
    else:
        return make_response(jsonify({"data": result}))
예제 #9
0
 def on_post(self, req, resp, id):
     status = Status.get_or_none(id=id)
     if status:
         user = req.context['user']
         UserManager(user).dislike(status)
         resp.body = json.dumps(status, default=str)
         resp.status = falcon.HTTP_200
     else:
         resp.status = falcon.HTTP_404
예제 #10
0
def login():
    if not 'username' in request.json:
        return make_response(jsonify({'error': 'Missing username parameter'}),
                             404)
    if not 'password' in request.json:
        return make_response(jsonify({'error': 'Missing password parameter'}),
                             404)

    username = request.json['username']
    password = request.json['password']
    user = {"username": username, "password": password}

    userManager = UserManager()
    result = userManager.login(user)
    if 'success' in result:
        return make_response(jsonify(result))
    else:
        return make_response(jsonify(result), 403)
예제 #11
0
def delete():
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.json:
        return make_response(
            jsonify({'error': 'Missing json parameters value'}), 404)
    if not 'id' in request.json:
        return make_response(jsonify({'error': 'Missing json parameter'}), 404)

    user = {"id": request.json['id']}

    userManager = UserManager()
    result = userManager.deleteUser(user, request.args.get('token'))
    if 'success' in result:
        return make_response(jsonify({"success": "done"}))
    else:
        return make_response(jsonify(result), 403)
예제 #12
0
def insert():
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not request.args:
        return make_response(
            jsonify({'error': 'Missing token parameter value'}), 404)
    if not 'username' in request.json:
        return make_response(jsonify({'error': 'Missing username parameter'}),
                             404)
    if not 'password' in request.json:
        return make_response(jsonify({'error': 'Missing password parameter'}),
                             404)
    if not 'lazada_user_name' in request.json:
        return make_response(
            jsonify({'error': 'Missing lazada_username parameter'}), 404)
    if not 'lazada_user_id' in request.json:
        return make_response(
            jsonify({'error': 'Missing lazada_userid parameter'}), 404)
    if not 'lazada_api_key' in request.json:
        return make_response(
            jsonify({'error': 'Missing lazada_apikey parameter'}), 404)

    user = {
        "username": request.json['username'],
        "password": request.json['password'],
        "lazada_user_name": request.json['lazada_user_name'],
        "lazada_user_id": request.json['lazada_user_id'],
        "lazada_api_key": request.json['lazada_api_key'],
        "created_at": int(round(time.time())),
        "role": request.json['role'],
        'certain_size': request.json['certain_size']
    }

    userManager = UserManager()
    result = userManager.insertUser(user, request.args.get('token'))

    if 'success' in result:
        return make_response(json.dumps(user), 201)
    else:
        return make_response(jsonify(result), 404)
 def get_auth_id(auth_id):
     return UserManager.get_auth_id(auth_id)
 def create(auth_id):
     UserManager.create(auth_id)
예제 #15
0
    def post(self, pid, target, user):

        UserManager(user).dislike(target)
        self.write(json.dumps(target, default=str))
예제 #16
0
 def post(self, pid, target):
     UserManager(self.current_user).like(target)
     self.write(json.dumps(target, default=str))
 def get(self):
     from managers.user_manager import UserManager
     UserManager.create('a')
     print(UserManager.get_auth_id('a'))
     return "It's working."
예제 #18
0
from flask import Flask
from config import AppConfig

from managers.message_manager import MessageManager
from managers.session_manager import SessionManager
from managers.terrain_manager import TerrainManager
from managers.user_manager import UserManager


# Init managers
session_manager = SessionManager()
terrain_manager = TerrainManager()
user_manager = UserManager()

message_manager = MessageManager(session_manager)


def create_app(config=AppConfig):
	app = Flask(__name__)
	app.config.from_object(config)

	# init app with managers

	# Blueprint registration
	from app.auth import bp as auth_bp
	app.register_blueprint(auth_bp)
	from app.communication import bp as comm_bp
	app.register_blueprint(comm_bp)
	from app.game import bp as game_bp
	app.register_blueprint(game_bp)
예제 #19
0
from flask_cors import CORS, cross_origin
from time import sleep

app = Flask(__name__)
CORS(app)	# Should allow CORS only for our domain.
app.register_blueprint(SkuAPI)

if __name__ == "__main__":

  # userManager = UserManager()
  # user = {		
  # 	"user_name": "admin",        
  # 	"password": "******",        
  # 	"token": "token",        
  # 	"lazada_user_name": "lakami",        
  # 	"lazada_user_id": "*****@*****.**",        
  # 	"lazada_api_key": "YMwE4W9gj6eSNiZ9ZVXvZBnQ0metPkDgnp952URBhCYHG5VfxAlSvcUk",        
  # 	"created_at": int(round(time.time()))	
  # }	
  # userManager.createUser(user)
  skuManager = SkuManager()
  userManager = UserManager()
  skuManager.initialize()
  userManager.initialize()

  app.run(debug=True)