Sync Qualifications

In order to sync qualifications, PLAY calls
/members/member-qualified

with the params

organisation_id: // office externalid period_id: // from a seasonId mapped using `syncprovider.meta` qualification_type: // default to OFFICIAL last_updated_at: // date/time specified


Play then loops over the response.member and looks for member_qualification.qualification.qualification_category. It then creates the QualificationCategory in PLAY if it doesn't exist.

It then loops over response.member -> member_qualification again and parses the SID qualification:

{ participant: { firstName: member.first_name, lastName: member.last_name, HCRId: member.unique_identifier, externalId: member.member_id, tenantId, }, seasonId: member_qualification.period.start_date (parsed), level: member_qualification.qualification_level.display_order, notes: member_qualification.memo, expiry: member_qualification.expiration_date (parsed), officeExternalId: member.organisation.organisation_id, categoryExternalId: member_qualification.qualification_category.qualification_category_id externalId: member_qualification.member_qualification_id, isDeleted: result.deleted_at != null, }

 

WILL NOT GET SYNCED IF:

  • level is undefined

  • seasonId is undefined

  • if can’t find the office in PLAY with the officeExternalId

  • if its isDeleted

The qualification type does not get added automatically to the qualification category:

In play, we have 3 types of qualification categories:

  • Official: User becomes available for assigning and all other features related to being an official

  • Scorekeeper: User has scorekeeping access to enter games

  • No type: Coach, Trainer, Instructor, etc… Have access to manage the lineup

We currently only DO NOT set a type on our qualification category and add it MANUALLY when we know what type to give a qualification category.

In the near future, we need a way to know which type to give what category automatically to make the sync complete.

https://spordle.atlassian.net/browse/SPR-1461