Vous êtes sur la page 1sur 3

Graph API Integration

Table of Contents
Overview ....................................................................................................................................................... 1
Admin Page Access ....................................................................................................................................... 1
Assignments and Usage for Courses ............................................................................................................. 2
User Experience: Courses ............................................................................................................................. 3

Overview
The work within this task has to be within the dedicated Graph project in the solution to centralize
everything. All functions must be written for reusability by other developers in future work. The means
the functions to manage logins and mailbox access has to be its own function

Admin Page Access

We have multiple administrator pages on our site. We are looking to utilize Azure AD (Microsoft Graph
API) to validate users against credentials with Azure AD; however, we are looking to assign users to
specific pages, as shown above. Therefore, we have to create the following:
1) A page called master/admin.aspx that allows the admin to select users from Azure AD and
configure what pages in which they have access and/or allow the admin to remove page access
from existing users;
2) Ensure that the user’s access to validated when attempting to access the page;
3) Allow a user to submit a request to the admin to approve/reject an increase of permission to
access a specific page
4) On the master/admin.aspx, the user can see approval requests and for what pages those
requested are made for and either approve/reject. Whether approved/rejected, the user is
notified via email, which is their email from Azure AD
5) The Logout features; and
6) If inactive for more than 15 minutes, then log them out automatically

Assignments and Usage for Courses

When they select a location, we have to show, through a right charm


(https://metroui.org.ua/v3/charms.html), in which all the rooms are shown using our Microsoft Graph
API of the available rooms. For purposes of this task, the rooms are room mailboxes from our Office
tenant. A separate admin page has to be created called master/rooms.aspx in which the room
mailboxes are configured to relate to a Rante Location.

The admin selects the dates/times (start and end time) of the course. If multiple locations are selected,
then on the side charm, the admin configures each of them. A course can have multiple dates/times. In
addition, it can repeat on the same subsequent day until an end date or no end date. The admin enters
the maximum number of users for each room, as selected.

https://developer.microsoft.com/en-us/office/blogs/new-outlook-apis-in-the-microsoft-graph-rooms-
rules-categories-headers-and-time-zones/

Specifics are available here:


https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/version-2.0/calendar-
rest-operations#get-meeting-rooms-preview
User Experience: Courses
While this will be implemented on the specific course page, as noted below, the function(s) being
referenced from the GraphAPI project should be done in a way in which other developers can reference
it to perform similar functions.

On the course page, if the course has a location, then when the user selects the location, then the right-
charm appears and shows the available dates/times for that course. The user selects the date/time to
attend. Then, the charm is closed and the user adds-to-cart. When added to the cart, the cart table
should reference the location being purchased. When purchased, we reference the location and
date/time in which they have selected.

NOTE: The location option is only available if there are available seats. When the user adds a location to
a cart, then they have 15 minutes to make a purchase and the seat is reserved until purchased for 15
minutes. It reduces one quantity of available seats. If expire and not purchased, then the quantity goes
back. We already have a 15 minute timer (sql agent) that has been built. This has to be implemented
accordingly.

Vous aimerez peut-être aussi