1: <?php
 2: namespace Ctct\Auth;
 3: 
 4: /**
 5:  * Interface containing the necessary functionality to manage an OAuth2 data store
 6:  *
 7:  * @package     Auth
 8:  * @author         Constant Contact
 9:  */
10: 
11: interface CtctDataStore
12: {
13: 
14:     /**
15:      * Add a new user to the data store
16:      * @param $id - unique identifier
17:      * @param array $params - additional parameters
18:      */
19:     public function addUser($id, array $params);
20: 
21:     /**
22:      * Get an existing user from the data store
23:      * @param $id - unique identifier
24:      */
25:     public function getUser($id);
26: 
27:     /**
28:      * Update an existing user in the data store
29:      * @param $id - unique identifier
30:      * @param array $params - additional parameters
31:      */
32:     public function updateUser($id, array $params);
33: 
34:     /**
35:      * Delete an existing user from the data store
36:      * @param $id - unique identifier
37:      */
38:     public function deleteUser($id);
39: }
40: