Refactored orm.get_class, improved resource filtereing

This commit is contained in:
Omar Richardson
2021-01-05 19:58:39 +01:00
parent e21713c24f
commit 82c837eb89
6 changed files with 37 additions and 50 deletions

View File

@@ -978,3 +978,18 @@ def new_session_factory(
# this off gives us a major performance boost
session_factory = sessionmaker(bind=engine, expire_on_commit=expire_on_commit)
return session_factory
def get_class(resource_name):
"""Translates resource string names to ORM classes"""
class_dict = {
'users': User,
'services': Service,
'tokens': APIToken,
'groups': Group,
}
if resource_name not in class_dict:
raise ValueError(
"Kind must be one of %s, not %s" % (", ".join(class_dict), resource_name)
)
return class_dict[resource_name]