aboutsummaryrefslogtreecommitdiffstats
path: root/keystone-moon/keystone/credential/backends
diff options
context:
space:
mode:
Diffstat (limited to 'keystone-moon/keystone/credential/backends')
-rw-r--r--keystone-moon/keystone/credential/backends/__init__.py0
-rw-r--r--keystone-moon/keystone/credential/backends/sql.py100
2 files changed, 0 insertions, 100 deletions
diff --git a/keystone-moon/keystone/credential/backends/__init__.py b/keystone-moon/keystone/credential/backends/__init__.py
deleted file mode 100644
index e69de29b..00000000
--- a/keystone-moon/keystone/credential/backends/__init__.py
+++ /dev/null
diff --git a/keystone-moon/keystone/credential/backends/sql.py b/keystone-moon/keystone/credential/backends/sql.py
deleted file mode 100644
index dfb9d20a..00000000
--- a/keystone-moon/keystone/credential/backends/sql.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2013 OpenStack Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from keystone.common import driver_hints
-from keystone.common import sql
-from keystone import credential
-from keystone import exception
-
-
-class CredentialModel(sql.ModelBase, sql.DictBase):
- __tablename__ = 'credential'
- attributes = ['id', 'user_id', 'project_id', 'blob', 'type']
- id = sql.Column(sql.String(64), primary_key=True)
- user_id = sql.Column(sql.String(64),
- nullable=False)
- project_id = sql.Column(sql.String(64))
- blob = sql.Column(sql.JsonBlob(), nullable=False)
- type = sql.Column(sql.String(255), nullable=False)
- extra = sql.Column(sql.JsonBlob())
-
-
-class Credential(credential.CredentialDriverV8):
-
- # credential crud
-
- @sql.handle_conflicts(conflict_type='credential')
- def create_credential(self, credential_id, credential):
- with sql.session_for_write() as session:
- ref = CredentialModel.from_dict(credential)
- session.add(ref)
- return ref.to_dict()
-
- @driver_hints.truncated
- def list_credentials(self, hints):
- with sql.session_for_read() as session:
- credentials = session.query(CredentialModel)
- credentials = sql.filter_limit_query(CredentialModel,
- credentials, hints)
- return [s.to_dict() for s in credentials]
-
- def list_credentials_for_user(self, user_id, type=None):
- with sql.session_for_read() as session:
- query = session.query(CredentialModel)
- query = query.filter_by(user_id=user_id)
- if type:
- query = query.filter_by(type=type)
- refs = query.all()
- return [ref.to_dict() for ref in refs]
-
- def _get_credential(self, session, credential_id):
- ref = session.query(CredentialModel).get(credential_id)
- if ref is None:
- raise exception.CredentialNotFound(credential_id=credential_id)
- return ref
-
- def get_credential(self, credential_id):
- with sql.session_for_read() as session:
- return self._get_credential(session, credential_id).to_dict()
-
- @sql.handle_conflicts(conflict_type='credential')
- def update_credential(self, credential_id, credential):
- with sql.session_for_write() as session:
- ref = self._get_credential(session, credential_id)
- old_dict = ref.to_dict()
- for k in credential:
- old_dict[k] = credential[k]
- new_credential = CredentialModel.from_dict(old_dict)
- for attr in CredentialModel.attributes:
- if attr != 'id':
- setattr(ref, attr, getattr(new_credential, attr))
- ref.extra = new_credential.extra
- return ref.to_dict()
-
- def delete_credential(self, credential_id):
- with sql.session_for_write() as session:
- ref = self._get_credential(session, credential_id)
- session.delete(ref)
-
- def delete_credentials_for_project(self, project_id):
- with sql.session_for_write() as session:
- query = session.query(CredentialModel)
- query = query.filter_by(project_id=project_id)
- query.delete()
-
- def delete_credentials_for_user(self, user_id):
- with sql.session_for_write() as session:
- query = session.query(CredentialModel)
- query = query.filter_by(user_id=user_id)
- query.delete()