public InProductTrainingModule( IInProductTrainingController inProductTrainingController, IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, ILoggerFactory loggerFactory) : base(InProductTrainingServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _inProductTrainingController = inProductTrainingController; CreateRoute("CreateInProductTrainingView", HttpMethod.Post, $"{BaseInProductTrainingUrl}/viewed", CreateInProductTrainingViewAsync) .Description("Create a new InProductTraining resource") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(InProductTrainingViewRequest.Example()) .ResponseFormat(InProductTrainingViewResponse.Example()); CreateRoute("GetViewedInProductTraining", HttpMethod.Get, $"{BaseInProductTrainingUrl}/viewed/{{clientApplicationId:int}}", GetViewedInProductTrainingAsync) .Description("Get a InProductTrainingView resource by it's identifier.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(InProductTrainingViewResponse.Example()); CreateRoute("CreateWizardView", HttpMethod.Post, $"{BaseWizardsUrl}/viewed", CreateWizardViewAsync) .Description("Create a new wizard view resource") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(ViewedWizard.Example()) .ResponseFormat(WizardViewResponse.Example()); CreateRoute("GetWizardViewsByUserId", HttpMethod.Get, $"{BaseWizardsUrl}/viewed/{{userId:guid}}", GetWizardViewsByUserIdAsync) .Description("Get a wizard view resource by it's identifier.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(WizardViewResponse.Example()); }
public PrincipalServiceHealthModule(IMetadataRegistry metadataRegistry) { // add some additional data for the documentation module metadataRegistry.SetRouteMetadata("HealthCheck", new SynthesisRouteMetadata { ValidStatusCodes = new[] { HttpStatusCode.OK, HttpStatusCode.Unauthorized, HttpStatusCode.InternalServerError }, Response = "Some informational message", Description = "Health check." }); // create a health check endpoint Get("/v1/health", GetHealthAsync, null, "HealthCheck"); Get("/api/v1/health", GetHealthAsync, null, "HealthCheckLegacy"); }
public ProjectGuestContextModule( IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, IProjectGuestContextController projectGuestContextController, ILoggerFactory loggerFactory) : base(GuestServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _projectGuestContextController = projectGuestContextController; CreateRoute("SetProjectGuestContext", HttpMethod.Post, Routing.ProjectGuestContextRoute, SetProjectGuestContextAsync) .Description("Sets the project guest context and creates guest sessions") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(ProjectGuestContext.Example)); }
public MachinesModule( IMachinesController machineController, IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, ILoggerFactory loggerFactory) : base(ServiceInformation.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _machinesController = machineController; this.RequiresAuthentication(); CreateRoute("CreateMachine", HttpMethod.Post, Routing.Machines, CreateMachineAsync) .Description("Create a new machine resource") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(Machine.Example()) .ResponseFormat(Machine.Example()); CreateRoute("GetMachineById", HttpMethod.Get, Routing.MachinesWithId, GetMachineByIdAsync) .Description("Gets a machine by its unique identifier") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(Machine.Example()); CreateRoute("GetMachineByKey", HttpMethod.Get, Routing.Machines, GetMachineByKeyAsync, c => c.Request.Query.ContainsKey("machinekey")) .Description("Get a machine by machine key") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(Machine.Example()); CreateRoute("UpdateMachine", HttpMethod.Put, Routing.MachinesWithId, UpdateMachineAsync) .Description("Update a Principal resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .RequestFormat(Machine.Example()) .ResponseFormat(Machine.Example()); CreateRoute("DeleteMachine", HttpMethod.Delete, Routing.MachinesWithId, DeleteMachineAsync) .Description("Deletes a machine") .StatusCodes(HttpStatusCode.NoContent, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError); CreateRoute("ChangeMachineTenant", HttpMethod.Put, Routing.ChangeMachineTenant, ChangeMachineTenantAsync) .Description("Changes a machine's tenant") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .RequestFormat(Machine.Example()) .ResponseFormat(Machine.Example()); CreateRoute("GetTenantMachines", HttpMethod.Get, Routing.Machines, GetTenantMachinesAsync, c => !c.Request.Query.ContainsKey("machinekey")) .Description("Retrieves a list of machines for the tenant") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(new List <Machine> { Machine.Example() }); }
/// <inheritdoc /> public ProjectLobbyStateModule(IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, ILoggerFactory loggerFactory, IProjectLobbyStateController projectLobbyStateController) : base(GuestServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _projectLobbyStateController = projectLobbyStateController; CreateRoute("GetProjectLobbyState", HttpMethod.Get, $"{Routing.ProjectsRoute}/{{projectId:guid}}/{Routing.ProjectLobbyStatePath}", GetProjectLobbyStateAsync) .Description("Retrieves lobby state for a project.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new ProjectLobbyState())); CreateRoute("RecalculateProjectLobbyState", HttpMethod.Put, $"{Routing.ProjectsRoute}/{{projectId:guid}}/{Routing.ProjectLobbyStatePath}", RecalculateProjectLobbyStateAsync) .Description("Recalculates the the lobby state of a project.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(ProjectLobbyState.Example()); }
public GuestInviteModule( IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, IGuestInviteController guestInviteController, ILoggerFactory loggerFactory) : base(GuestServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { // Init DI _guestInviteController = guestInviteController; // initialize routes CreateRoute("CreateGuestInvite", HttpMethod.Post, Routing.GuestInvitesRoute, CreateGuestInviteAsync) .Description("Create a specific GuestInvite resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestInvite())); CreateRoute("GetGuestInvite", HttpMethod.Get, $"{Routing.GuestInvitesRoute}/{{id:guid}}", GetGuestInviteAsync) .Description("Retrieves a specific GuestInvite resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestInvite())); CreateRoute("GetGuestInvites", HttpMethod.Get, $"{Routing.ProjectsRoute}/{{projectId:guid}}/{Routing.GuestInvitesPath}", GetValidGuestInvitesByProjectIdAsync) .Description("Gets All GuestInvites for a specific Project.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new List <GuestInvite> { new GuestInvite() })); CreateRoute("GetGuestInvitesForUserAsync", HttpMethod.Post, $"{Routing.UsersRoute}/{Routing.GuestInvitesPath}", GetGuestInvitesForUserAsync) .Description("Gets All GuestInvites for a specific User.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new List <GuestInvite> { new GuestInvite() })); CreateRoute("UpdateGuestInvite", HttpMethod.Put, $"{Routing.GuestInvitesRoute}/{{id:guid}}", UpdateGuestInviteAsync) .Description("Update a specific GuestInvite resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestInvite())); CreateRoute("IsGuestRegistrationRequired", HttpMethod.Get, $"{Routing.GuestInvitesRoute}/{Routing.IsGuestRegistrationRequiredPath}", IsGuestRegistrationRequired) .Description("Check if the guest user require registration.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(true)); }
public GuestTenantModule( IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, IGuestTenantController tenantController, ILoggerFactory loggerFactory) : base(GuestServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { // Init DI _tenantController = tenantController; // initialize routes CreateRoute("GetGuestTenantIdsForCurrentUser", HttpMethod.Get, Routing.GuestTenantIdsRoute, GetTenantIdsForCurrentUserAsync) .Description("Retrieves the list of tenantids for a guest user") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(new List <Guid> { Guid.Empty }); }
public UserInviteModule( IUserInvitesController userInvitesController, IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, ILoggerFactory loggerFactory) : base(ServiceInformation.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _userInviteController = userInvitesController; this.RequiresAuthentication(); CreateRoute("CreateUserInviteListForTenant", HttpMethod.Post, Routing.UserInvites, _ => CreateUserInviteListForTenantAsync()) .Description("Email invites for passed user list") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(new List <UserInvite> { UserInvite.Example() }) .ResponseFormat(new List <UserInvite> { UserInvite.Example() }); CreateRoute("ResendEmailInvitation", HttpMethod.Post, Routing.ResendUserInvites, _ => ResendEmailInvitationAsync()) .Description("Resend Email invites for passed user list") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(new List <UserInvite> { UserInvite.Example() }) .ResponseFormat(new List <UserInvite> { UserInvite.Example() }); CreateRoute("GetUserInvitesForTenantAsync", HttpMethod.Get, Routing.UserInvites, GetUsersInvitedForTenantAsync) .Description("Gets all invited users for Tenant") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(new PagingMetadata <UserInvite> { List = new List <UserInvite> { UserInvite.Example() } }); }
public GroupsModule( IGroupsController groupsController, IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, ILoggerFactory loggerFactory) : base(ServiceInformation.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { _groupsController = groupsController; this.RequiresAuthentication(); CreateRoute("CreateGroup", HttpMethod.Post, Routing.Groups, CreateGroupAsync) .Description("Creates a new group") .StatusCodes(HttpStatusCode.Created, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.BadRequest, HttpStatusCode.InternalServerError) .RequestFormat(Group.Example()) .ResponseFormat(Group.Example()); CreateRoute("GetGroupById", HttpMethod.Get, Routing.GroupsWithId, GetGroupByIdAsync) .Description("Get a group by its unique identifier") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(Group.Example()); CreateRoute("GetGroupsForTenant", HttpMethod.Get, Routing.Groups, GetGroupsForTenantAsync) .Description("Get Group for a tenant") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .ResponseFormat(Group.Example()); CreateRoute("DeleteGroup", HttpMethod.Delete, Routing.GroupsWithId, DeleteGroupAsync) .Description("Deletes a Group") .StatusCodes(HttpStatusCode.NoContent, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError); CreateRoute("UpdateGroup", HttpMethod.Put, Routing.Groups, UpdateGroupAsync) .Description("Updates an existing Group") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError, HttpStatusCode.NotFound) .RequestFormat(Group.Example()) .ResponseFormat(Group.Example()); }
public GuestSessionModule( IMetadataRegistry metadataRegistry, IPolicyEvaluator policyEvaluator, IGuestSessionController guestSessionController, ILoggerFactory loggerFactory) : base(GuestServiceBootstrapper.ServiceNameShort, metadataRegistry, policyEvaluator, loggerFactory) { // Init DI _guestSessionController = guestSessionController; // Initialize Routes CreateRoute("GetGuestSession", HttpMethod.Get, $"{Routing.GuestSessionsRoute}/{{id:guid}}", GetGuestSessionAsync) .Description("Retrieve a specific GuestSession resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestSession())); CreateRoute("DeleteGuestSession", HttpMethod.Delete, $"{Routing.GuestSessionsRoute}/{{id:guid}}", DeleteGuestSessionAsync) .Description("Delete a specific GuestSession resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError); CreateRoute("UpdateGuestSession", HttpMethod.Put, $"{Routing.GuestSessionsRoute}/{{id:guid}}", UpdateGuestSessionAsync) .Description("Update a specific GuestSession resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestSession())); CreateRoute("UpdateGuestSessionState", HttpMethod.Put, Routing.UpdateGuestSessionStateRoute, UpdateGuestSessionStateAsync) .Description("Updates the guest session state") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .RequestFormat(UpdateGuestSessionStateRequest.Example) .ResponseFormat(UpdateGuestSessionStateResponse.Example); CreateRoute("GetGuestSessions", HttpMethod.Get, $"{Routing.ProjectsRoute}/{{projectId:guid}}/{Routing.GuestSessionsPath}", GetGuestSessionsByProjectIdAsync) .Description("Gets all valid GuestSessions for a specific project, excluding those with a GuestState of PromotedToProjectMember.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new List <GuestSession> { new GuestSession() })); CreateRoute("GetGuestSessionsByProjectForCurrentUser", HttpMethod.Get, $"{Routing.GetGuestSessionsByProjectForCurrentUserRoute}", GetGuestSessionsByProjectIdForCurrentUserAsync) .Description("Gets all valid GuestSessions for a specific project and the requesting user, excluding those with a GuestState of PromotedToProjectMember.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new List <GuestSession> { new GuestSession() })); CreateRoute("GetGuestSessionsByProjectForUser", HttpMethod.Get, $"{Routing.GetGuestSessionsByProjectForUserRoute}", GetGuestSessionsByProjectIdForUserAsync) .Description("Gets all valid GuestSessions for a specific project and user.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new List <GuestSession> { new GuestSession() })); CreateRoute("VerifyGuest", HttpMethod.Post, Routing.VerifyGuestRoute, VerifyGuestAsync) .Description("Verify guest resource.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new GuestVerificationResponse())); CreateRoute("EmailHost", HttpMethod.Post, $"{Routing.GuestSessionsRoute}/{Routing.ProjectsPath}/{{accessCode}}/{Routing.EmailHostPath}", EmailHostAsync) .Description("Send email to project host.") .StatusCodes(HttpStatusCode.OK, HttpStatusCode.BadRequest, HttpStatusCode.Unauthorized, HttpStatusCode.Forbidden, HttpStatusCode.NotFound, HttpStatusCode.InternalServerError) .ResponseFormat(JsonConvert.SerializeObject(new SendHostEmailResponse())); }