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))
Esempio n. 3
0
 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))