Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As an application admin from an institution, I want to see the invitation ID for a membership (if any), so I can correlate it with the user and provision it before they accept the invitation #1728

Open
FlorisFokkinga opened this issue Dec 5, 2024 · 2 comments
Assignees

Comments

@FlorisFokkinga
Copy link
Contributor

No description provided.

@FlorisFokkinga FlorisFokkinga converted this from a draft issue Dec 5, 2024
@FlorisFokkinga FlorisFokkinga changed the title As an application admin, I want to see the invitation ID for a membership (if any), so I can correlate it with the user and provision it before they accept the invitation As an application admin from an institution, I want to see the invitation ID for a membership (if any), so I can correlate it with the user and provision it before they accept the invitation Jan 3, 2025
@logan-life
Copy link
Contributor

logan-life commented Jan 3, 2025

Context:

  • Invitations created via the GUI are deleted after they are accepted
  • Invitations created via the Org API are persisted with status accepted

Expected Flow:

  1. PUT​/api​/invitations​/v1​/collaboration_invites
  2. In response body, get the invitation_identifier
  3. GET
    ​/api​/invitations​/v1​/{external_identifier}
  4. If invitation status == OPEN then user object should not be filled.
  5. If invitation status == ACCEPTED then user object should be filled.

Actual Flow:

  1. PUT new invite response body:
[
  {
    "email": "[email protected]",
    "invitation_expiry_date": 1737194111,
    "invitation_id": "ef564a1a-d276-4b0f-ac14-20d71ef82193",
    "status": "open"
  }
]
  1. GET invitation details for OPEN invite, response body: (note that user object is not filled, as expected)
[
  {
    "email": "[email protected]",
    "invitation_expiry_date": 1737194111,
    "invitation_id": "ef564a1a-d276-4b0f-ac14-20d71ef82193",
    "status": "open"
  }
]
  1. User accepts invitation.
  2. GET invitation details for ACCEPTED invite, response body: (note that user object is filled, as expected)
{
  "collaboration": {
    "description": "Testing",
    "global_urn": "presaux:logantestco",
    "id": 360,
    "identifier": "2dc37131-aa87-4eea-b0cf-5fdb43d730b1",
    "name": "logantestCO",
    "short_name": "logantestco"
  },
  "groups": [],
  "intended_role": "member",
  "invitation": {
    "email": "[email protected]",
    "expiry_date": 1737194111,
    "identifier": "ef564a1a-d276-4b0f-ac14-20d71ef82193"
  },
  "status": "accepted",
  "user": {
    "mail": "[email protected]",
    "name": "Logan ACCCOAdmin",
    "platform_id": "[email protected]",
    "status": "active",
    "username": "layliffe5"
  }
}

@logan-life logan-life self-assigned this Jan 3, 2025
@logan-life logan-life moved this from New to Needs refinement in SRAM development Jan 3, 2025
@logan-life
Copy link
Contributor

Question to stakeholder: is the flow as described above sufficient for the use case they have in mind?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Needs refinement
Development

No branches or pull requests

2 participants