Skip to content

feat: allow pending requests for shift exchanges #12

@fntneves

Description

@fntneves

Expected Behavior

Students should be allowed to register an intention of exchange from their current shift they're are enrolled in to a set of possible destination shifts. These intentions, as soon as a match occurs, are resolved and students move their enrollments to a new shift.

This should work not only for direct exchanges but also for cyclic exchanges. For instance, let's consider three students: A, B and C. A is enrolled in S1 and wants to move to S2. B is enrolled in S2 and wants to move to S3. C is enrolled in S3 and wants do move to S1. Therefore, we have something like this:

Graph:
     A
   /   \
  C --- B

Directions:
 A -> B -> C -> A

This is an example of what could happen and it should be resolved to meet these intentions.

Current Behavior

Currently, the only way of a student A to exchange from a shift S1 to a new shift S2 is by meeting a student B that is enrolled on shift S2 that wants to move to the shift S1. It is very limited, since such student should be found outside the platform.

Possible Solution

Integrate with the current existing module, developed by students of MEI, that accepts the current state of enrollments and exchange intentions and outputs the current possible enrollments that should be updated to meet such intentions.

More details will be available for the developer of this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions