in src/asfquart/session.py [0:0]
def __init__(self, raw_data: dict):
"""Initializes a client session from a raw dict. ClientSession is a subclassed dict, so that
we can send it to quart in a format it can render."""
super().__init__()
self.uid = raw_data.get("uid")
self.dn = raw_data.get("dn")
self.fullname = raw_data.get("fullname")
self.email = raw_data.get("email", f"{self.uid}@apache.org")
self.isMember = raw_data.get("isMember", False)
self.isChair = raw_data.get("isChair", False)
self.isRoot = raw_data.get("isRoot", False)
self.committees = raw_data.get("pmcs", [])
self.projects = raw_data.get("projects", [])
self.mfa = raw_data.get("mfa", False)
self.isRole = raw_data.get("roleaccount", False)
self.metadata = raw_data.get("metadata", {}) # This can contain whatever specific metadata the app needs
# Update the external dict representation with internal values
self.update(self.__dict__.items())