MCPcopy Create free account
hub / github.com/alphagov/notifications-api / serialize

Method serialize

app/models.py:218–246  ·  view source on GitHub ↗
(self, service_filter_keys=None)

Source from the content-addressed store, hash-verified

216 return retval
217
218 def serialize(self, service_filter_keys=None) -> SerializedUser:
219 if service_filter_keys is None:
220 services_data = [x.id for x in self.services if x.active]
221 else:
222 service_filter_keys = list(set(service_filter_keys) | {"id"})
223 services_data = [dict_filter(x, service_filter_keys) for x in self.services if x.active]
224
225 return SerializedUser(
226 id=self.id,
227 name=self.name,
228 email_address=self.email_address,
229 created_at=self.created_at.strftime(DATETIME_FORMAT),
230 auth_type=self.auth_type,
231 current_session_id=self.current_session_id,
232 failed_login_count=self.failed_login_count,
233 email_access_validated_at=self.email_access_validated_at.strftime(DATETIME_FORMAT),
234 logged_in_at=get_dt_string_or_none(self.logged_in_at),
235 mobile_number=self.mobile_number,
236 organisations=[x.id for x in self.organisations if x.active],
237 password_changed_at=self.password_changed_at.strftime(DATETIME_FORMAT_NO_TIMEZONE),
238 permissions=self.get_permissions(),
239 organisation_permissions=self.get_organisation_permissions(),
240 platform_admin=self.platform_admin,
241 services=services_data,
242 can_use_webauthn=self.can_use_webauthn,
243 state=self.state,
244 take_part_in_research=self.take_part_in_research,
245 receives_new_features_email=self.receives_new_features_email,
246 )
247
248 def serialize_for_users_list(self) -> SerializedUserForList:
249 return SerializedUserForList(

Calls 5

get_permissionsMethod · 0.95
dict_filterFunction · 0.90
SerializedUserClass · 0.90
get_dt_string_or_noneFunction · 0.90