def on_post(self, req, resp, plan_id):
post_body = ujson.loads(req.context['body'])
try:
active = int(post_body['active'])
except KeyError:
raise HTTPBadRequest('"active" field required')
except ValueError:
raise HTTPBadRequest('Invalid active field')
with db.guarded_session() as session:
if active:
session.execute(
'''INSERT INTO `plan_active` (`name`, `plan_id`)
VALUES ((SELECT `name` FROM `plan` WHERE `id` = :plan_id), :plan_id)
ON DUPLICATE KEY UPDATE `plan_id`=:plan_id''',
{'plan_id': plan_id})
else:
session.execute('DELETE FROM `plan_active` WHERE `plan_id`=:plan_id',
{'plan_id': plan_id})
session.commit()
session.close()
resp.status = HTTP_200
resp.body = ujson.dumps(active)
评论列表
文章目录