Files @ ef12c232ada2
Branch filter:

Location: NPO-Accounting/experimental-accounting-api/accounting/storage/__init__.py

Joar Wandborg
[doc] Updated restapi documentation
# Part of accounting-api project:
# https://gitorious.org/conservancy/accounting-api
# License: AGPLv3-or-later

from abc import ABCMeta, abstractmethod


class Storage:
    '''
    ABC for accounting storage
    '''
    __metaclass__ = ABCMeta

    def __init__(self, *args, **kw):
        pass

    @abstractmethod
    def get_transactions(self, *args, **kw):
        raise NotImplementedError

    @abstractmethod
    def get_transaction(self, *args, **kw):
        raise NotImplementedError

    @abstractmethod
    def get_account(self, *args, **kw):
        raise NotImplementedError

    @abstractmethod
    def get_accounts(self, *args, **kw):
        raise NotImplementedError

    @abstractmethod
    def add_transaction(self, transaction):
        raise NotImplementedError

    @abstractmethod
    def update_transaction(self, transaction):
        raise NotImplementedError

    @abstractmethod
    def delete_transaction(self, transaction_id):
        raise NotImplementedError

    @abstractmethod
    def reverse_transaction(self, transaction_id):
        raise NotImplementedError