def from_client_json(self, resource_json, id_=None, expected_version=None, client_id=None): parse_json_enum(resource_json, 'withdrawalStatus', WithdrawalStatus) parse_json_enum(resource_json, 'suspensionStatus', SuspensionStatus) # biobankId, lastModified, signUpTime are set by DAO. return Participant( participantId=id_, version=expected_version, providerLink=json.dumps(resource_json.get('providerLink')), clientId=client_id, withdrawalStatus=resource_json.get('withdrawalStatus'), suspensionStatus=resource_json.get('suspensionStatus'))
def from_client_json(self, resource_json, id_=None, expected_version=None, client_id=None): parse_json_enum(resource_json, 'withdrawalStatus', WithdrawalStatus) parse_json_enum(resource_json, 'suspensionStatus', SuspensionStatus) # biobankId, lastModified, signUpTime are set by DAO. return Participant( participantId=id_, version=expected_version, providerLink=json.dumps(resource_json.get('providerLink')), clientId=client_id, withdrawalStatus=resource_json.get('withdrawalStatus'), suspensionStatus=resource_json.get('suspensionStatus'), organizationId=get_organization_id_from_external_id( resource_json, self.organization_dao), hpoId=get_awardee_id_from_name(resource_json, self.hpo_dao), siteId=get_site_id_from_google_group(resource_json, self.site_dao))
def from_client_json(self, resource_json, id_=None, expected_version=None, client_id=None): parse_json_enum(resource_json, 'withdrawalStatus', WithdrawalStatus) parse_json_enum(resource_json, 'withdrawalReason', WithdrawalReason) parse_json_enum(resource_json, 'suspensionStatus', SuspensionStatus) if 'withdrawalTimeStamp' in resource_json and resource_json['withdrawalTimeStamp'] is not None: try: resource_json['withdrawalTimeStamp'] = datetime.datetime\ .utcfromtimestamp(float(resource_json['withdrawalTimeStamp'])/1000) except (ValueError, TypeError): raise ValueError("Could not parse {} as TIMESTAMP" .format(resource_json['withdrawalTimeStamp'])) # biobankId, lastModified, signUpTime are set by DAO. return Participant( participantId=id_, externalId=resource_json.get('externalId'), version=expected_version, providerLink=json.dumps(resource_json.get('providerLink')), clientId=client_id, withdrawalStatus=resource_json.get('withdrawalStatus'), withdrawalReason=resource_json.get('withdrawalReason'), withdrawalAuthored=resource_json.get('withdrawalTimeStamp'), withdrawalReasonJustification=resource_json.get('withdrawalReasonJustification'), suspensionStatus=resource_json.get('suspensionStatus'), organizationId=get_organization_id_from_external_id(resource_json, self.organization_dao), hpoId=get_awardee_id_from_name(resource_json, self.hpo_dao), siteId=get_site_id_from_google_group(resource_json, self.site_dao))