From 9994319ea5c86bad2f88ab737b9b82dfae43cd6a Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Thu, 5 Oct 2017 18:05:21 +0200 Subject: Webservice to create a new tag --- archivist/server/tag.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'archivist/server/tag.py') diff --git a/archivist/server/tag.py b/archivist/server/tag.py index 96fafcd..8142cd1 100644 --- a/archivist/server/tag.py +++ b/archivist/server/tag.py @@ -1,6 +1,8 @@ +from flask import request from flask_restplus import Resource, fields, Namespace from .. import model as m +from .. import bl api = Namespace('tag', description = 'Operations on tags') @@ -17,3 +19,15 @@ class TagList(Resource): def get(self): """List all available tags.""" return list(m.Tag.select().where(~m.Tag.default).dicts().iterator()) + + @api.expect(tag, validate=True) + @api.response(201, "Tag created") + @api.response(409, "Tag already exists") + def put(self): + """Create a new tag.""" + data = request.get_json() + tag, created = bl.PrefixTag(**data).create() + if created: + return '',201 + else: + return '',409 -- cgit v1.2.3-54-g00ecf