2013-12-17 15:41:30 +01:00
|
|
|
# Part of accounting-api project:
|
|
|
|
# https://gitorious.org/conservancy/accounting-api
|
|
|
|
# License: AGPLv3-or-later
|
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
from abc import ABCMeta, abstractmethod
|
2013-12-14 16:08:47 +01:00
|
|
|
|
2013-12-18 22:02:03 +01:00
|
|
|
|
|
|
|
class Storage:
|
2013-12-14 16:08:47 +01:00
|
|
|
'''
|
|
|
|
ABC for accounting storage
|
|
|
|
'''
|
2013-12-17 11:14:45 +01:00
|
|
|
__metaclass__ = ABCMeta
|
|
|
|
|
2013-12-14 16:08:47 +01:00
|
|
|
def __init__(self, *args, **kw):
|
2013-12-17 11:14:45 +01:00
|
|
|
pass
|
2013-12-14 16:08:47 +01:00
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
2013-12-14 16:08:47 +01:00
|
|
|
def get_transactions(self, *args, **kw):
|
2013-12-17 11:14:45 +01:00
|
|
|
raise NotImplementedError
|
2013-12-14 16:08:47 +01:00
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
2013-12-14 16:08:47 +01:00
|
|
|
def get_transaction(self, *args, **kw):
|
2013-12-17 11:14:45 +01:00
|
|
|
raise NotImplementedError
|
2013-12-14 16:08:47 +01:00
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
2013-12-14 16:08:47 +01:00
|
|
|
def get_account(self, *args, **kw):
|
2013-12-17 11:14:45 +01:00
|
|
|
raise NotImplementedError
|
2013-12-14 16:08:47 +01:00
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
2013-12-14 16:08:47 +01:00
|
|
|
def get_accounts(self, *args, **kw):
|
2013-12-17 11:14:45 +01:00
|
|
|
raise NotImplementedError
|
|
|
|
|
2013-12-17 14:11:29 +01:00
|
|
|
@abstractmethod
|
|
|
|
def add_transaction(self, transaction):
|
|
|
|
raise NotImplementedError
|
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
|
|
|
def update_transaction(self, transaction):
|
|
|
|
raise NotImplementedError
|
|
|
|
|
2013-12-18 22:02:03 +01:00
|
|
|
@abstractmethod
|
|
|
|
def delete_transaction(self, transaction_id):
|
|
|
|
raise NotImplementedError
|
|
|
|
|
2013-12-17 11:14:45 +01:00
|
|
|
@abstractmethod
|
|
|
|
def reverse_transaction(self, transaction_id):
|
|
|
|
raise NotImplementedError
|