| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import json
- from flask import Blueprint
- import jimit as ji
- import time
- from jimvc.models import Utils, Rules
- from jimvc.models import Token
- __author__ = 'James Iter'
- __date__ = '2019-01-01'
- __contact__ = 'james.iter.cn@gmail.com'
- __copyright__ = '(c) 2019 by James Iter.'
- blueprint = Blueprint(
- 'api_token',
- __name__,
- url_prefix='/api/token'
- )
- blueprints = Blueprint(
- 'api_tokens',
- __name__,
- url_prefix='/api/tokens'
- )
- @Utils.dumps2response
- def r_create():
- try:
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- token = Token()
- token.generator()
- token.create()
- ret['data'] = {
- 'token': token.token,
- 'ttl': token.ttl,
- 'expire': time.strftime('%Y-%m-%dT%H:%M:%S %Z', time.localtime(ji.Common.ts() + token.ttl))
- }
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
- @Utils.dumps2response
- def r_get_by_filter():
- try:
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- ret['data'] = list()
- ts = ji.Common.ts()
- for token in Token.get_all():
- expire = time.strftime('%Y-%m-%dT%H:%M:%S %Z', time.localtime(token[1]))
- ret['data'].append({'token': token[0], 'expire': expire, 'ttl': token[1] - ts})
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
- @Utils.dumps2response
- def r_delete(tokens):
- args_rules = [
- Rules.TOKENS.value
- ]
- try:
- ji.Check.previewing(args_rules, {args_rules[0][1]: tokens})
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- ret['data'] = list()
- token = Token()
- for _token in tokens.split(','):
- token.token = _token
- if token.delete():
- ret['data'].append(_token)
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
|