74 lines
2.6 KiB
Python
74 lines
2.6 KiB
Python
from flask import Blueprint, jsonify, render_template, abort, redirect, url_for, request
|
|
|
|
organization_pages = Blueprint('organizations', __name__)
|
|
from src.organizations.controller import controller
|
|
|
|
#from src.database import db_session, read_json
|
|
#from .model import Organization #, OrganizationSchema
|
|
#from datetime import datetime
|
|
#import json
|
|
#from src import clogger
|
|
#import flask
|
|
|
|
|
|
@organization_pages.route("/")
|
|
@organization_pages.route("")
|
|
@organization_pages.route(".json")
|
|
def index():
|
|
organizations=controller.get_all()
|
|
return jsonify(organizations=organizations)
|
|
|
|
@organization_pages.route("/<int:id>",methods=['GET'])
|
|
@organization_pages.route("/<int:id>.json",methods=['GET'])
|
|
def get(id):
|
|
organization=controller.get(id)
|
|
return jsonify(organization=organization)
|
|
|
|
@organization_pages.route("/<string:key>",methods=['GET'])
|
|
@organization_pages.route("/<string:key>.json",methods=['GET'])
|
|
def get_by_key(key):
|
|
organization=controller.get_by_key(key)
|
|
return jsonify(organization=organization)
|
|
|
|
@organization_pages.route("/<string:key>/articles",methods=['GET'])
|
|
@organization_pages.route("/<string:key>/articles.json",methods=['GET'])
|
|
def get_articles_by_key(key):
|
|
organization=controller.get_by_key(key)
|
|
articles=controller.get_by_key_articles(key)
|
|
return jsonify(organization=organization, articles=articles)
|
|
|
|
@organization_pages.route("/<int:id>/sections",methods=['GET'])
|
|
@organization_pages.route("/<int:id>/sections.json",methods=['GET'])
|
|
def get_sections(id):
|
|
organization=Organization.query.get(id)
|
|
sections=organization.sections
|
|
return jsonify(organization=organization, sections=sections)
|
|
|
|
@organization_pages.route("/<int:id>/articles",methods=['GET'])
|
|
@organization_pages.route("/<int:id>/articles.json",methods=['GET'])
|
|
def get_articles(id):
|
|
articles=controller.get_articles(id)
|
|
organization=controller.get(id)
|
|
return jsonify(organization=organization, articles=articles)
|
|
|
|
|
|
@organization_pages.route("/<int:id>",methods=['PUT'])
|
|
@organization_pages.route("/<int:id>.json",methods=['PUT'])
|
|
def update(id):
|
|
o,errors=controller.update(id,request)
|
|
return jsonify(organization=o, errors=errors)
|
|
|
|
@organization_pages.route("/<int:id>",methods=['DELETE'])
|
|
@organization_pages.route("/<int:id>.json",methods=['DELETE'])
|
|
def delete(id):
|
|
controller.delete(id)
|
|
return jsonify()
|
|
|
|
|
|
@organization_pages.route("/",methods=['POST'])
|
|
@organization_pages.route("",methods=['POST'])
|
|
@organization_pages.route(".json",methods=['POST'])
|
|
def create():
|
|
organization,errors=controller.create(request)
|
|
return jsonify(organization=organization,errors=errors)
|