summaryrefslogtreecommitdiff
path: root/archivist/server/prefix.py
diff options
context:
space:
mode:
Diffstat (limited to 'archivist/server/prefix.py')
-rw-r--r--archivist/server/prefix.py25
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())