api: add @schema endpoint for cards (#46999)
This commit is contained in:
parent
945b1ac541
commit
08de8e3cb7
|
@ -3195,6 +3195,12 @@ def test_cards(pub, local_user):
|
|||
assert resp.json['data'][0]['digest'] == formdata.digest
|
||||
assert resp.json['data'][0]['text'] == formdata.digest
|
||||
|
||||
# get schema
|
||||
resp = get_app(pub).get(sign_uri('/api/cards/test/@schema'), status=200)
|
||||
assert len(resp.json['fields']) == 1
|
||||
assert resp.json['fields'][0]['label'] == 'foobar'
|
||||
assert resp.json['fields'][0]['varname'] == 'foo'
|
||||
|
||||
|
||||
def test_api_invalid_http_basic_auth(pub, local_user, admin_user, ics_data):
|
||||
app = get_app(pub)
|
||||
|
|
|
@ -229,6 +229,11 @@ class ApiFormPage(BackofficeFormPage):
|
|||
|
||||
class ApiCardPage(ApiFormPage):
|
||||
formdef_class = CardDef
|
||||
_q_exports = [('list', 'json'), 'geojson', 'ods', ('@schema', 'schema')] # restrict to API endpoints
|
||||
|
||||
def schema(self):
|
||||
get_response().set_content_type('application/json')
|
||||
return self.formdef.export_to_json(anonymise=not is_url_signed())
|
||||
|
||||
|
||||
class ApiFormsDirectory(Directory):
|
||||
|
|
Loading…
Reference in New Issue