Change API paths.

This commit is contained in:
Alexis Lahouze 2016-01-13 12:29:12 +01:00
parent 880a57de96
commit b9c9199c78
8 changed files with 43 additions and 32 deletions

View File

@ -143,8 +143,8 @@ class AccountResource(Resource):
return None, 204 return None, 204
api.add_resource(AccountListResource, '/accounts') api.add_resource(AccountListResource, '/account')
api.add_resource(AccountResource, '/accounts/<int:id>') api.add_resource(AccountResource, '/account/<int:id>')
range_parser = reqparse.RequestParser() range_parser = reqparse.RequestParser()
@ -163,10 +163,10 @@ category_model = {
class CategoryResource(Resource): class CategoryResource(Resource):
@requires_auth @requires_auth
@marshal_with_field(fields.List(Object(category_model))) @marshal_with_field(fields.List(Object(category_model)))
def get(self): def get(self, id):
data = range_parser.parse_args() data = range_parser.parse_args()
return Operation.get_categories_for_range(**data).all(), 200 return Operation.get_categories_for_range(id, **data).all()
ohlc_model = { ohlc_model = {
@ -181,11 +181,11 @@ ohlc_model = {
class OHLCResource(Resource): class OHLCResource(Resource):
@requires_auth @requires_auth
@marshal_with_field(fields.List(Object(ohlc_model))) @marshal_with_field(fields.List(Object(ohlc_model)))
def get(self): def get(self, id):
data = range_parser.parse_args() data = range_parser.parse_args()
return Operation.get_ohlc_per_day_for_range(**data).all(), 200 return Operation.get_ohlc_per_day_for_range(id, **data).all()
api.add_resource(CategoryResource, "/categories") api.add_resource(CategoryResource, "/account/<int:id>/categories")
api.add_resource(OHLCResource, "/solds") api.add_resource(OHLCResource, "/account/<int:id>/solds")

View File

@ -136,5 +136,5 @@ class OperationResource(Resource):
return None, 204 return None, 204
api.add_resource(OperationListResource, "/operations") api.add_resource(OperationListResource, "/operation")
api.add_resource(OperationResource, "/operations/<int:id>") api.add_resource(OperationResource, "/operation/<int:id>")

View File

@ -168,6 +168,6 @@ class ScheduledOperationResource(Resource):
return None, 204 return None, 204
api.add_resource(ScheduledOperationListResource, "/scheduled_operations") api.add_resource(ScheduledOperationListResource, "/scheduled_operation")
api.add_resource(ScheduledOperationResource, api.add_resource(ScheduledOperationResource,
"/scheduled_operations/<int:id>") "/scheduled_operation/<int:id>")

View File

@ -126,4 +126,4 @@ class LoginResource(Resource):
return g.user return g.user
api.add_resource(LoginResource, "/users/login") api.add_resource(LoginResource, "/user/login")

View File

@ -20,7 +20,7 @@ accountantApp
.factory("Account", ["$resource", function($resource) { .factory("Account", ["$resource", function($resource) {
return $resource( return $resource(
"/api/accounts/:id", { "/api/account/:id", {
id: "@id" id: "@id"
} }
); );

View File

@ -123,7 +123,7 @@ var accountantApp = angular.module("accountantApp", [
var email = $('#email').val(); var email = $('#email').val();
var password = $('#password').val(); var password = $('#password').val();
$http.post( $http.post(
"/api/users/login", "/api/user/login",
{ {
"email": email, "email": email,
"password": password "password": password

View File

@ -19,19 +19,37 @@ accountantApp
.factory("Operation", [ "$resource", function($resource) { .factory("Operation", [ "$resource", function($resource) {
return $resource( return $resource(
"/api/operations/:id", { "/api/operation/:id", {
id: "@id" id: "@id"
} }
); );
}]) }])
.factory("OHLC", [ "$resource", "$routeParams",
function($resource, $routeParams) {
return $resource(
"/api/account/:account_id/ohlc", {
account_id: $routeParams.accountId
}
);
}])
.factory("Category", [ "$resource", "$routeParams",
function($resource, $routeParams) {
return $resource(
"/api/account/:account_id/category", {
account_id: $routeParams.accountId
}
);
}])
/* /*
* Controller for category chart. * Controller for category chart.
*/ */
.controller( .controller(
"CategoryChartController", [ "CategoryChartController", [
"$rootScope", "$scope", "$http", "$routeParams", "$rootScope", "$scope", "$http", "$routeParams", "Category",
function($rootScope, $scope, $http, $routeParams) { function($rootScope, $scope, $http, $routeParams, Category) {
var colors = Highcharts.getOptions().colors; var colors = Highcharts.getOptions().colors;
$scope.revenueColor = colors[2]; $scope.revenueColor = colors[2];
@ -101,13 +119,10 @@ accountantApp
$scope.load = function(begin, end) { $scope.load = function(begin, end) {
$scope.config.loading = true; $scope.config.loading = true;
$http.get("/api/categories", { Category.query({
params: {
account: $routeParams.accountId,
begin: begin.format('YYYY-MM-DD'), begin: begin.format('YYYY-MM-DD'),
end: end.format('YYYY-MM-DD') end: end.format('YYYY-MM-DD')
} }, function(data) {
}).success(function(data) {
var expenses = [], revenues = []; var expenses = [], revenues = [];
var expenseColor = $scope.brightenColor($scope.expenseColor); var expenseColor = $scope.brightenColor($scope.expenseColor);
@ -138,7 +153,7 @@ accountantApp
* Get account status. * Get account status.
*/ */
$scope.getAccountStatus = function(begin, end) { $scope.getAccountStatus = function(begin, end) {
$http.get("/api/accounts/" + $routeParams.accountId, { $http.get("/api/account/" + $routeParams.accountId, {
params: { params: {
begin: begin.format('YYYY-MM-DD'), begin: begin.format('YYYY-MM-DD'),
end: end.format('YYYY-MM-DD') end: end.format('YYYY-MM-DD')
@ -176,8 +191,8 @@ accountantApp
*/ */
.controller( .controller(
"SoldChartController", [ "SoldChartController", [
"$rootScope", "$scope", "$http", "$routeParams", "$rootScope", "$scope", "$http", "OHLC",
function($rootScope, $scope, $http, $routeParams) { function($rootScope, $scope, $http, OHLC) {
// Configure chart for operations. // Configure chart for operations.
$scope.config = { $scope.config = {
options: { options: {
@ -271,11 +286,7 @@ accountantApp
$scope.loadSolds = function() { $scope.loadSolds = function() {
$scope.config.loading = true; $scope.config.loading = true;
$http.get("/api/solds", { OHLC.query({}, function(data) {
params: {
account: $routeParams.accountId,
}
}).success(function(data) {
$scope.config.series[0].data = []; $scope.config.series[0].data = [];
angular.forEach(data, function(operation) { angular.forEach(data, function(operation) {

View File

@ -18,7 +18,7 @@ accountantApp
.factory("ScheduledOperation", ["$resource", function($resource) { .factory("ScheduledOperation", ["$resource", function($resource) {
return $resource( return $resource(
"/api/scheduled_operations/:id", { "/api/scheduled_operation/:id", {
id: "@id" id: "@id"
} }
); );