示例#1
0
# -*- coding: utf-8 -*-

import pytest
import decimal
from urllib.parse import urljoin
from datetime import date, datetime

from domainics.domobj import DSet, DObject, dset, dobject, datt
from domainics.tornice import rest, route_base
from domainics.tornice.client import rest_client, restcli

route_base('sys/')


class A(dobject):
    sn = datt(str)
    name = datt(str)


AA = A._re(_key=['sn'])


@rest.GET(r'abc/{sn:int}/{path:path}')
def hello(sn: int, name, val: float, d1: datetime, path: str, obj: DSet[AA]):
    print(8888, sn, path, name)
    print(8888, val, d1, obj)
    return sn


@rest_client
def test_hi(app_url):
示例#2
0
文件: user.py 项目: tjpumis/alchemy
# -*- coding: utf-8 -*-


from datetime import datetime
from domainics.db import dbc, transaction, dmerge, drecall
from domainics.tornice import route_base, rest, webreq
from domainics import busilogic
from domainics.domobj import dset, dobject, datt, DSet, DPage

from schema.user import sys_user, sys_user_seqno

route_base('/api/sys/')

@transaction
def current_user():
    user_sn = webreq.principal_id
    print(user_sn)
    user = get_user(user_sn)
    if user:
        return user

    busilogic.unauthorized()

def assert_roles(*roles):
    user = current_user()
    print(user, user.sys_roles, roles)
    for role in roles:
        if role in user.sys_roles:
            return True

    busilogic.forbidden("需要角色: " + ', '.join(roles))
示例#3
0
# -*- coding: utf-8 -*-

import pytest
import decimal
from urllib.parse import urljoin
from datetime import date, datetime

from domainics.domobj import DPage, DSet, dobject, datt, dset
from domainics.db import dtable
from domainics.tornice import rest, route_base
from domainics.tornice.client import rest_client, restcli

from domainics.domobj.pagination import parse_header_range

route_base('/tests/')

class test_a(dtable):
    sn = datt(int)
    line = datt(int)
    name = datt(str)

    __dobject_key__ = [sn, line]


@rest.GET(r'case1/')
def case1(page: DPage)  :
    print('paginaton: ', page)

    assert len(page.sortable) == 2
    assert page.start == 0 and page.limit == 25
    assert page.sortable[0].name == 'sn' and page.sortable[0].ascending
示例#4
0
# -*- coding: utf-8 -*-


from domainics.tornice import route_base

route_base('/api-test/v1/')
示例#5
0
文件: trash.py 项目: tjpumis/alchemy
# -*- coding: utf-8 -*-

import re
import json

from datetime import datetime
from domainics.db import dbc, transaction, dmerge, drecall
from domainics.tornice import route_base, rest, webreq
from domainics import busilogic
from domainics.domobj import dset, dobject, datt, DSet, DPage

route_base('/api/quest/')

from schema.quest import ts_quest, ts_quest_seqno
from schema.quest import ts_quest_labels
from schema.quest import ts_quest_saveforlater
from schema.quest import ts_quest_trashed

from serv.label import find_labels, ts_label

from serv.quest import to_list_json

@rest.GET('/api/repos/{repos_sn:int}/trashed')
@transaction
def get_trashed_questions(repos_sn: int):

    dbc << """
    SELECT q.*,
      s.updated_ts AS saveforlater_updated_ts,
      t.labels AS tags, t.updated_ts AS tag_updated_ts,
      c.labels AS categories, c.updated_ts AS cat_updated_ts
示例#6
0
文件: repos.py 项目: tjpumis/alchemy
# -*- coding: utf-8 -*-

import re
from datetime import datetime
from domainics.db import dbc, transaction, dmerge, drecall
from domainics.tornice import route_base, rest, webreq
from domainics import busilogic
from domainics.domobj import dset, dobject, datt, DSet, DPage

from schema.user import sys_user, sys_user_seqno

route_base('/api/repos/')


from serv.user import get_user, current_user

from schema.repos import ts_repos, ts_repos_seqno, ts_repos_user

from schema.repos import ts_repos_queststyles
from schema.repos import ts_repos_tags
from schema.repos import ts_repos_categories

from schema.label import ts_label, ts_label_seqno


@rest.GET(r'{repos_sn:int}/desc')
@transaction
def get_repos_desc(repos_sn):
    """  """
示例#7
0
# -*- coding: utf-8 -*-

from domainics.tornice import route_base

route_base('/api-test/v1/')
示例#8
0
# -*- coding: utf-8 -*-

import pytest
import decimal
from urllib.parse import urljoin
from datetime import date, datetime

from domainics.domobj import DPage, DSet, dobject, datt, dset
from domainics.db import dtable
from domainics.tornice import rest, route_base
from domainics.tornice.client import rest_client, restcli

from domainics.domobj.pagination import parse_header_range

route_base('/tests/')


class test_a(dtable):
    sn = datt(int)
    line = datt(int)
    name = datt(str)

    __dobject_key__ = [sn, line]


@rest.GET(r'case1/')
def case1(page: DPage):
    print('paginaton: ', page)

    assert len(page.sortable) == 2
    assert page.start == 0 and page.limit == 25