Ejemplo n.º 1
0
 public static IDispatcherEndpointsBuilder AddLaundriesRouter(this IDispatcherEndpointsBuilder endpoints)
 => endpoints
 .Post <CreateLaundry>(
     path: "laundries",
     afterDispatch: async(command, context) =>
 {
     await context.Response.Created($"laundries/{command.Id}");
 })
 .Delete <DeleteLaundry>(
     path: "laundries/{Id}",
     afterDispatch: async(command, context) =>
 {
     context.Response.StatusCode = 204;
     await context.Response.WriteJsonAsync(new
     {
         id = command.Id
     });
 })
 .Post <DismissManager>(
     path: "laundry/dismiss",
     auth: true,
     roles: UserRole.Administrator.ToString())
 .Post <EmployManager>(
     path: "laundry/employ",
     auth: true,
     roles: UserRole.Administrator.ToString()
     )
 .Get <GetAllLaundries, IEnumerable <LaundryDTO> >(
     path: "laundries")
 .Get <GetLaundryById, LaundryDTO>(
     path: "laundries/{id}");
Ejemplo n.º 2
0
 internal static IDispatcherEndpointsBuilder AddServicesRouter(this IDispatcherEndpointsBuilder endpoints)
 => endpoints
 .Post <AddService>(
     path: "service/add",
     auth: true,
     roles: UserRole.Administrator.ToString())
 .Post <MakeServiceAvailableInLaundry>(
     path: "service/enable",
     auth: true,
     roles: $"{UserRole.Administrator},{UserRole.Manager}"
     );
Ejemplo n.º 3
0
        public static IDispatcherEndpointsBuilder AddOrdersRouter(this IDispatcherEndpointsBuilder endpoints)
        => endpoints
        .Post <CreateOrder>(
            path: "order/create",
            auth: true)
        .Post <CancelOrder>(
            path: "order/cancel",
            beforeDispatch: (command, context) =>
        {
            var id           = context.GetUserId();
            command.ClientId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Client.ToString())
        .Post <PutOrderInProgress>(
            path: "order/progress",
            beforeDispatch: (command, context) =>
        {
            var id            = context.GetUserId();
            command.ManagerId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Manager.ToString())
        .Post <FinishOrder>(
            path: "order/finish",
            beforeDispatch: (command, context) =>
        {
            var id            = context.GetUserId();
            command.ManagerId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Manager.ToString())
        .Post <PassOrder>(
            path: "order/pass",
            beforeDispatch: (command, context) =>
        {
            var id           = context.GetUserId();
            command.ClientId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Client.ToString())
        .Post <AddServiceToOrder>(
            path: "order/service/add",
            beforeDispatch: (command, context) =>
        {
            var id           = context.GetUserId();
            command.ClientId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Client.ToString())
        .Post <RemoveServiceFromOrder>(
            path: "order/service/remove",
            beforeDispatch: (command, context) =>
        {
            var id           = context.GetUserId();
            command.ClientId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Client.ToString())
        .Post <CompleteServiceInOrder>(
            path: "order/service/complete",
            beforeDispatch: (command, context) =>
        {
            var id            = context.GetUserId();
            command.ManagerId = id;

            return(Task.CompletedTask);
        },
            auth: true,
            roles: UserRole.Manager.ToString())
        .Get <GetOrder, Order>(
            path: "order/{orderId}",
            beforeDispatch: (command, context) =>
        {
            var id         = context.GetUserId();
            command.UserId = id;

            return(Task.CompletedTask);
        },
            auth: true);