65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
| # -*- coding: utf-8 -*-
 | |
| # Copyright 2013-2017 Camptocamp SA
 | |
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 | |
| 
 | |
| """
 | |
| 
 | |
| Backend Adapter
 | |
| ===============
 | |
| 
 | |
| An external adapter has a common interface to speak with the backend.
 | |
| It translates the basic orders (search, read, write) to the protocol
 | |
| used by the backend.
 | |
| 
 | |
| """
 | |
| 
 | |
| from odoo.addons.component.core import AbstractComponent
 | |
| 
 | |
| 
 | |
| class BackendAdapter(AbstractComponent):
 | |
|     """ Base Backend Adapter for the connectors """
 | |
| 
 | |
|     _name = 'base.backend.adapter'
 | |
|     _inherit = 'base.connector'
 | |
|     _usage = 'backend.adapter'
 | |
| 
 | |
| 
 | |
| class CRUDAdapter(AbstractComponent):
 | |
|     """ Base External Adapter specialized in the handling
 | |
|     of records on external systems.
 | |
| 
 | |
|     This is an empty shell, Components can inherit and implement their own
 | |
|     implementation for the methods.
 | |
| 
 | |
|     """
 | |
| 
 | |
|     _name = 'base.backend.adapter.crud'
 | |
|     _inherit = 'base.backend.adapter'
 | |
|     _usage = 'backend.adapter'
 | |
| 
 | |
|     def search(self, *args, **kwargs):
 | |
|         """ Search records according to some criterias
 | |
|         and returns a list of ids """
 | |
|         raise NotImplementedError
 | |
| 
 | |
|     def read(self, *args, **kwargs):
 | |
|         """ Returns the information of a record """
 | |
|         raise NotImplementedError
 | |
| 
 | |
|     def search_read(self, *args, **kwargs):
 | |
|         """ Search records according to some criterias
 | |
|         and returns their information"""
 | |
|         raise NotImplementedError
 | |
| 
 | |
|     def create(self, *args, **kwargs):
 | |
|         """ Create a record on the external system """
 | |
|         raise NotImplementedError
 | |
| 
 | |
|     def write(self, *args, **kwargs):
 | |
|         """ Update records on the external system """
 | |
|         raise NotImplementedError
 | |
| 
 | |
|     def delete(self, *args, **kwargs):
 | |
|         """ Delete a record on the external system """
 | |
|         raise NotImplementedError
 |