Example #1
0
def create(passphrase):
    if Message.get_by_passphrase(passphrase):
        raise ModelValidationError('Jot already exists.')
    message = Message({
        'passphrase': passphrase,
        'message': R.json.get('message'),
        'pin': R.json.get('pin'),
        'expires_on': R.json.get('expires_on'),
        'send_read_receipt': R.json.get('send_read_receipt')
    })
    message.save()
    return {"edit_key": message.edit_key}
Example #2
0
def update(passphrase):
    # TODO: move this into a header field.
    edit_key = R.args.get('edit_key')
    message = Message({
        'passphrase': passphrase,
        'message': R.json.get('message'),
        'pin': R.json.get('pin'),
        'expires_on': R.json.get('expires_on'),
        'send_read_receipt': R.json.get('send_read_receipt'),
        'edit_key': edit_key
    })
    message.save(overwrite=True)
    return {"edit_key": message.edit_key}
Example #3
0
    def test_delete(self):
        now = dt.datetime.utcnow()
        delta = dt.timedelta(days=1)
        expires_on = now + delta

        Message({
            'passphrase': 'vodka',
            'message': "don't go on the patio!",
            'pin': '3141',
            'expires_on': expires_on,
            'send_read_receipt': False
        }).save()
        ret = Message.delete_by_passphrase('vodka')
        eq_(ret, 1)
Example #4
0
def get(passphrase):
    log.debug("recieved args: %s to /get", R.args)
    message = Message.get_by_passphrase(passphrase)
    # TODO: Maybe store pin in an auth header? research me.
    pin = R.args.get('pin')
    if not message:
        return
    if not message.get('pin'):
        # The message doesn't require a pin number, we can return.
        return message.to_primitive()
    if not pin:
        raise ModelValidationError({"pin": "This Jot requires a pin number."})
    if pin != message.get('pin'):
        raise ModelValidationError({"pin": "Invalid pin number."})
    return message.to_primitive()
Example #5
0
    def test_get(self):
        now = dt.datetime.utcnow()
        delta = dt.timedelta(days=1)
        expires_on = now + delta

        Message({
            'passphrase': 'bourbon',
            'message': "we we're super rad",
            'pin': '0000',
            'expires_on': expires_on,
            'send_read_receipt': False
        }).save()

        message = Message.get_by_passphrase('bourbon')
        ok_(isinstance(message, Message))
        eq_(message.passphrase, 'bourbon')
Example #6
0
def delete(passphrase):
    # TODO: move this into a header field
    edit_key = R.args.get('edit_key')
    Message.delete_by_passphrase(passphrase, edit_key)