Пример #1
0
        public Api(ITurnResolver turnResolver, GroupHelper groupHelper, PersonHelper personHelper)
        {
            /* allow CORS */
            Options("/{catchAll*}", parameters => new Response {
                StatusCode = HttpStatusCode.Accepted
            });

            After += (Context) =>
            {
                Context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
                Context.Response.Headers.Add("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS");
                Context.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, x-requested-with, Authorization, Accept, Origin");
            };
            /* CORS end */

            this.turnResolver = turnResolver;
            this.groupHelper  = groupHelper;
            this.personHelper = personHelper;

            Get(prefix + "group/{groupId}/next", o => turnResolver.NextPerson(o["groupId"]));
            Get(prefix + "group/{groupId}", o => groupHelper.GroupMemberInfo(o.groupId));
            Post(prefix + "group/{name}", o => groupHelper.CreateGroup(o.name));
            Post(prefix + "group/{groupId}/add/{pid}", o => groupHelper.AddPersonToGroup(o.groupId, o.pid));
            Post(prefix + "group/{groupMemberId}/contribute/{value}", o => groupHelper.AddValueToPersonInGroup(o.groupMemberId, o.value));

            Post(prefix + "person/{name}", o => personHelper.CreatePerson(o.name));
        }