import logging from flask import request, make_response, jsonify, abort from flask.ext.login import login_required, current_user from functools import wraps from data import model from app import app from util.names import parse_repository_name logger = logging.getLogger(__name__) @app.route('/api/') def welcome(): return make_response('welcome', 200) @app.route('/api/repository/', methods=['POST']) @login_required def create_repo_api(): pass @app.route('/api/repository/', methods=['GET']) @login_required def list_repos_api(): def repo_view(repo_perm): return { 'namespace': repo_perm.repository.namespace, 'name': repo_perm.repository.name, 'role': repo_perm.role.name, } repos = [repo_view(repo) for repo in model.get_user_repositories(current_user.db_user)] response = { 'repositories': repos } return jsonify(response) @app.route('/api/repository/', methods=['PUT']) @login_required @parse_repository_name def update_repo_api(namespace, repository): pass @app.route('/api/repository/', methods=['GET']) @login_required @parse_repository_name def get_repo_api(namespace, repository): pass