diff options
Diffstat (limited to 'archivist/server/prefix.py')
-rw-r--r-- | archivist/server/prefix.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/archivist/server/prefix.py b/archivist/server/prefix.py new file mode 100644 index 0000000..f2a747f --- /dev/null +++ b/archivist/server/prefix.py @@ -0,0 +1,25 @@ +from flask_restplus import Resource, fields, Namespace, marshal_with_field + +from .. import model as m + +api = Namespace('prefix', description = 'Operations on prefixes') + +prefix = api.model('Prefix', { + 'name' : fields.String(required=True), + 'description' : fields.String, + 'virtual' : fields.Boolean +}) + +@api.route('/') +class PrefixList(Resource): + @api.marshal_list_with(prefix) + def get(self): + """List all available non-virtual prefixes.""" + return list(m.Prefix.select().where(~m.Prefix.virtual).dicts().iterator()) + +@api.route('/all') +class PrefixListAll(Resource): + @api.marshal_list_with(prefix) + def get(self): + """List all available prefixes, including virtual.""" + return list(m.Prefix.select().dicts().iterator()) |