Exemple #1
0
def get_code(code_text):
    l = _get_code_list(code_text)

    if l:
        return jsonify([i.to_dict() for i in l])
    else:
        return jsonify(message="code doesn't exists"), 404
Exemple #2
0
def create_event():
    if not request.form:
        return abort(400)
    extra_info = request.form.get('extra_info')
    ncodes = int(request.form.get('ncodes', 0))
    start_time = request.form.get('start_time')
    expire_time = request.form.get('expire_time')
    if not all([extra_info, ncodes, start_time, expire_time]):
        return jsonify(message='missing arguments'), 400
    try:
        json.loads(extra_info)
    except Exception:
        return jsonify(message='invalid extra_info'), 400
    rand_len = int(request.form.get('rand_len', '6'))
    prefix = request.form.get('prefix', '')

    event = CodeGenEvent.create_event(ncodes, extra_info, start_time, expire_time, prefix, rand_len)

    return jsonify(event_id=event.id)
Exemple #3
0
def redeem_code(code_text):
    if not request.form:
        abort(400)
    redeem_info = request.form.get('redeem_info')
    user_id = int(request.form.get('user_id'))
    if not user_id:
        return jsonify(message='missing arguments'), 400
    try:
        json.loads(redeem_info)
    except Exception:
        return jsonify(message='invalid redeem_info'), 400

    code_log = _try_redeem_code(code_text, redeem_info, user_id)

    if code_log:
        return jsonify(message='ok', code=code_log.to_dict(),
                       gen_event_extra_info=json.loads(code_log.gen_event.extra_info))
    else:
        l = _get_code_list(code_text)
        return jsonify(message='redeemable code not found',
                       irredeemable_ones=[i.to_dict() for i in l]), 404
Exemple #4
0
def get_all_events():
    events = CodeGenEvent.select()
    return jsonify([e.to_dict(get_codes=False) for e in events])
Exemple #5
0
def get_event(event_id):
    try:
        event = CodeGenEvent.get(id=event_id)
    except CodeGenEvent.DoesNotExist:
        return jsonify(message="event doesn't exists"), 404
    return jsonify(event.to_dict(get_codes=True))