Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

[$75] Change in how we work with Skills #627

@callmekatootie

Description

@callmekatootie

Right now, each user has skills. We can add and remove skills for a user. We even have a filter for skills.

Each skill has a parent called as "skill provider".
Currently, front end assumes all skills to be having the skill provider as EMSI.
EMSI is a third party api that we are using which we query to return skills, which are then assigned to the user.

Front end has EMSI_SKILLPROVIDER_ID configuration, which is used when we add a new skill to a user. This basically creates the skill, for that user, and assigns EMSI as the skill provider for that skill in the database.

We are now moving to support multiple skill providers.
Each skill provider will be associated with an organization.

Change 1
Instead of the existing endpoint to get the skills, you will now use GET {{API_URL}}/search/skills?organizationId=<selected_org_id>&keyword=<search_text> where organizationId is the org id of the org that the user selected during page load and keyword is the search text entered by the user. You will need to update this such that, both - the skills filter AND the skills search in the edit profile modal use it. The dropdown suggestions and selection / removal of the skill will not change - you are only updating the api (You might have to update the property names used since they may not be the same)

Change 2
The response structure of the skill suggestions will contain the skill name, skill id and skill provider id.

Now, currently, we assign the EMSI skill provider id (read from the config) for all skills that we are adding to a user. Instead, you will now update it so that the skill provider id associated with the selected skill itself will be used instead of the EMSI skill provider id. That is, when a user selects a skill to be added to a user, the skill provider id of this skill will be the one present in the suggestion list, for the selected skill (each skill will have a skill id and a skill provider id besides the name)

With this, the EMSI skill provider id configuration would no longer be needed. The front end will have no knowledge of anything EMSI

Change 3
Since we are no longer using the app's backend, but instead are now using the API to fetch the skills, you need to remove the code in the app's backend too (besides the front end) that deals with the EMSI skill endpoint proxy

Notes

  • When a user adds a skill, there is a possibility that two skills are having the same name. In this case, they will have different skill providers. Thus, you would need to update the code that checks if the skill exists or not to compare both the skill id and the skill provider id
  • Remove all references to EMSI from this app. The app basically will no longer have anything to do with EMSI (we are moving it to the api instead). Remove it from the backend too (this app has a front end, back end and an api - api is where we are moving the code to EMSI - so you need to remove any mention of EMSI from front end and back end only)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions