Exemple #1
0
        public void Build(IHateoasSource <PagedResponse <InviteResponse> > source)
        {
            source.AddLink("invite-member").PresentedAs("new");

            source.AddLink("get-invites")
            .HasRouteData(x =>
            {
                var queryBy = x.GetCommandAs <ListInviteCommand>() ?? new ListInviteCommand
                {
                    PageSize = x.PageSize
                };
                queryBy.Page = 1;
                return(queryBy);
            })
            .When(x => x.Pages > 1 && x.Page > 1)
            .PresentedAs("first");

            source.AddLink("get-invites")
            .HasRouteData(x =>
            {
                var queryBy = x.GetCommandAs <ListInviteCommand>() ?? new ListInviteCommand
                {
                    PageSize = x.PageSize,
                    Page     = x.Page
                };
                queryBy.Page++;
                return(queryBy);
            })
            .When(x => x.Page < x.Pages)
            .PresentedAs("next");

            source.AddLink("get-invites")
            .HasRouteData(x =>
            {
                var queryBy = x.GetCommandAs <ListInviteCommand>() ?? new ListInviteCommand
                {
                    PageSize = x.PageSize,
                    Page     = x.Page
                };
                queryBy.Page--;
                return(queryBy);
            })
            .When(x => x.Page > 1)
            .PresentedAs("previous");

            source.AddLink("get-invites")
            .HasRouteData(x =>
            {
                var queryBy = x.GetCommandAs <ListInviteCommand>() ?? new ListInviteCommand
                {
                    PageSize = x.PageSize
                };
                queryBy.Page = x.Pages;
                return(queryBy);
            })
            .When(x => x.Page < x.Pages && x.Pages > 1)
            .PresentedAs("last");
        }
        public void Build(IHateoasSource <GuildResponse> source)
        {
            source.AddLink("get-guild")
            .HasRouteData(x => new GetGuildCommand {
                Id = x.Id
            })
            .PresentedAs("details");

            source.AddLink("update-guild")
            .HasRouteData(x => new UpdateGuildCommand {
                Id = x.Id
            })
            .PresentedAs("update");

            source.AddLink("get-member")
            .HasRouteData(x => new GetMemberCommand {
                Id = x.Leader?.Id ?? default
            })
Exemple #3
0
        public void Build(IHateoasSource <Invite> source)
        {
            source.AddLink("accept-invite")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.Status == InviteStatuses.Pending);

            source.AddLink("decline-invite")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.Status == InviteStatuses.Pending);

            source.AddLink("cancel-invite")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.Status == InviteStatuses.Pending);

            source.AddLink("get-invite").HasRouteData(i => new { id = i.Id });
            source.AddLink("get-guild").HasRouteData(i => new { id = i.GuildId });
            source.AddLink("get-member").HasRouteData(i => new { id = i.MemberId });
        }
Exemple #4
0
        public void Build(IHateoasSource <MemberResponse> source)
        {
            source.AddLink("get-member")
            .HasRouteData(x => new GetMemberCommand {
                Id = x.Id
            })
            .PresentedAs("details");

            source.AddLink("change-member-name")
            .HasRouteData(x => new ChangeMemberNameCommand {
                Id = x.Id
            })
            .PresentedAs("changeName");

            source.AddLink("promote-member")
            .HasRouteData(x => new PromoteMemberCommand {
                Id = x.Id
            })
            .When(x => x.Guild != null && !x.IsGuildLeader)
            .PresentedAs("promote");

            source.AddLink("demote-member")
            .HasRouteData(x => new DemoteMemberCommand {
                Id = x.Id
            })
            .When(x => x.Guild != null && x.IsGuildLeader)
            .PresentedAs("demote");

            source.AddLink("leave-guild")
            .HasRouteData(x => new LeaveGuildCommand {
                Id = x.Id
            })
            .When(x => x.Guild != null)
            .PresentedAs("leaveGuild");

            source.AddLink("get-guild")
            .HasRouteData(x => new GetGuildCommand {
                Id = x.Guild?.Id ?? default
            })
Exemple #5
0
        public void Build(IHateoasSource<InviteResponse> source)
        {
            source.AddLink("get-invite")
                .HasRouteData(x => new GetInviteCommand { Id = x.Id })
                .PresentedAs("details");

            source.AddLink("accept-invite")
                .HasRouteData(x => new AcceptInviteCommand { Id = x.Id })
                .When(x => x.Status == InviteStatuses.Pending && x.Guild != null && x.Member != null)
                .PresentedAs("accept");

            source.AddLink("deny-invite")
                .HasRouteData(x => new DenyInviteCommand { Id = x.Id })
                .When(x => x.Status == InviteStatuses.Pending)
                .PresentedAs("deny");

            source.AddLink("cancel-invite")
                .HasRouteData(x => new CancelInviteCommand { Id = x.Id })
                .When(x => x.Status == InviteStatuses.Pending)
                .PresentedAs("cancelInvite");

            source.AddLink("get-guild")
                .HasRouteData(x => new GetGuildCommand { Id = x.Guild?.Id ?? default })
        public void Build(IHateoasSource <Member> source)
        {
            source.AddLink("get-member").HasRouteData(e => new { id = e.Id });
            source.AddLink("update-member").HasRouteData(e => new { id = e.Id });

            source
            .AddLink("get-guild")
            .HasRouteData(e => new { id = e.GuildId })
            .When(e => e.GuildId != null);

            source
            .AddLink("promote-member")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.GuildId != null && !e.IsGuildMaster);

            source
            .AddLink("demote-member")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.GuildId != null && e.IsGuildMaster);

            source.AddLink("leave-guild")
            .HasRouteData(e => new { id = e.Id })
            .When(e => e.GuildId != null);
        }
 public void Build(IHateoasSource <Guild> source)
 {
     source.AddLink("get-guild").HasRouteData(g => new { id = g.Id });
     source.AddLink("get-members").HasRouteData(g => new { guildId = g.Id });
     source.AddLink("update-guild").HasRouteData(e => new { id = e.Id });
 }
Exemple #8
0
 public void Build(IHateoasSource <HateoasSample> source)
 {
     source.AddLink("test1").When(x => x.Id != Guid.Empty).HasRouteData(x => new { id = x.Id });
     source.AddLink("test2").When(x => !string.IsNullOrWhiteSpace(x.ZipCode)).HasRouteData(x => new { zipcode = x.ZipCode });
 }
Exemple #9
0
 public void Build(IHateoasSource <List <Member> > source)
 {
     source.AddLink("get-members");
     source.AddLink("invite-member");
     source.AddLink("create-member");
 }
 public void Build(IHateoasSource <List <Guild> > source)
 {
     source.AddLink("get-guilds");
     source.AddLink("create-guild");
 }
 public void Build(IHateoasSource <List <Invite> > source)
 {
     source.AddLink("get-invites");
     source.AddLink("invite-member");
 }