db.define_table('project',
Field('name', required=True),
Field('admin_user', 'reference auth_user', default=auth.user_id, required=True),
Field('users', 'list:reference auth_user'),
migrate=True
)
@request.restful()
def api():
response.view = 'generic.json'
def GET(*args, **vars):
patterns = [
"/projects[project]",
"/project/{project.id}",
"/users[auth_user]",
"/user/{auth_user.id}",
]
parser = db.parse_as_rest(patterns, args, vars)
if parser.status == 200:
return dict(content=parser.response)
else:
raise HTTP(parser.status, parser.error)
parser = db.parse_as_rest(patterns, args, vars, queries={'project': (db.project.admin_user == db.auth_user.id)})