summaryrefslogtreecommitdiffstats
path: root/ipsilon/util/data.py
Commit message (Collapse)AuthorAgeFilesLines
* Add helpers to store per plugin user preferencesSimo Sorce2014-10-241-1/+10
| | | | | Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Additional data store refactoringSimo Sorce2014-10-061-170/+153
| | | | | | | | | | | Use sqlalchemy to access Sql databases, which are the only implemented database backends for now. If no database type is specified we assume a sqlite3 database file path is configured (this is backwards compatible with current configuration statements) Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Move wipe_data into Store() as reset_dataSimo Sorce2014-10-061-15/+19
| | | | | Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Databases must be configured in cherrypy.configSimo Sorce2014-10-061-34/+8
| | | | | | | | There was annoying duplicated init code in the data store classes that was unused. Just require configuration to be present in cherrypy.config or bail. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Add transactions supportSimo Sorce2014-09-241-0/+15
| | | | | | | | | | | | In some cases a user may end up having multiple login pags in diffeent tabs in the borwser (session restore after a crash, or simply opening multiple urls which all redirect to the same IdP). Without transactions multiple authentication requests in fly may step on each other causing potentially all of them to fail to properly authenticate and redirect back to the original web site. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Refactor the data store a bitSimo Sorce2014-09-241-309/+227
| | | | | | | | | | | Reduce code duplication, and clearly separates admin and user dbs. Move plugin wrapper away and let plugin code use native functions. This patch also changes the indexed data to use a uuid and assumes 2 identical uuid cannot be created concurrently. Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
* Add infrastructure to delete plugin data by idSimo Sorce2014-04-041-0/+17
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Add racefree way to add a new unique data pointSimo Sorce2014-04-041-0/+30
| | | | | | | | | | | | | | Our schema gathers together data related to a service by using an ID column. This column cannot be unique or a primary key as the ID is repeated for each key/value pair in the datum group. Use a unique identifier to make sure we can let dqlite generate a new ID internally and then find out wat it is as race-free as possible. We keep this method in the data module so it can be changed later without affecting application logic. Signed-off-by: Simo Sorce <simo@redhat.com>
* Add way to save user preferencesSimo Sorce2014-03-211-0/+33
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Add way to add data to the global login configSimo Sorce2014-03-201-0/+37
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Add functions to wipe and save plugin config dataSimo Sorce2014-03-201-0/+37
| | | | | | | This way all is needed is to instantiate a proper PluginObject from any provider and just call its functions Signed-off-by: Simo Sorce <simo@redhat.com>
* Add Service Provider classSimo Sorce2014-02-261-2/+24
| | | | | | This class allows to represent a service provider and its associated policy Signed-off-by: Simo Sorce <simo@redhat.com>
* Add provider plugins loaderSimo Sorce2014-02-241-0/+66
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Better infrastructure to load pluginsSimo Sorce2014-01-241-13/+90
| | | | Signed-off-by: Simo Sorce <simo@redhat.com>
* Use pep8 checkPetr Vobornik2014-01-241-1/+2
| | | | | Signed-off-by: Petr Vobornik <pvoborni@redhat.com> Signed-off-by: Simo Sorce <simo@redhat.com>
* Use pylint checkPetr Vobornik2014-01-241-1/+1
| | | | | Signed-off-by: Petr Vobornik <pvoborni@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* Rename src package to ipsilonSimo Sorce2014-01-241-0/+112
Signed-off-by: Petr Vobornik <pvoborni@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>