Exemplo n.º 1
0
 private string Api(CourseGroupFlag type) => type switch
 {
Exemplo n.º 2
0
 public Task <IPage> UpdateFontPage(long id, Action <IWikiPage> pageFactory, CourseGroupFlag type = CourseGroupFlag.Course) =>
 this.ProcessWiki(HttpMethod.Put, $"/api/v1/{Api(type)}/{id}/front_page", pageFactory);
Exemplo n.º 3
0
 public Task <IPage> UpdatePage(long id, string url, Action <IWikiPage> pageFactory, CourseGroupFlag type = CourseGroupFlag.Course) =>
 this.ProcessWiki(HttpMethod.Put, $"/api/v1/{Api(type)}/{id}/pages/{url}", pageFactory);
Exemplo n.º 4
0
 public async Task <IPage> Show(long id, string url, CourseGroupFlag type = CourseGroupFlag.Course) =>
 await this.ApiClient.ApiOperation <Page>(HttpMethod.Get, $"/api/v1/{Api(type)}/{id}/pages/{url}");
Exemplo n.º 5
0
        public async Task <IPageRevision> ShowRevision(long id, string url, long?revisionId, bool?summary, CourseGroupFlag type = CourseGroupFlag.Course)
        {
            var apiUrl = $"/api/v1/{Api(type)}/{id}/pages/{url}/revisions/{revisionId?.ToString() ?? "latest"}";

            if (summary.HasValue)
            {
                apiUrl += $"?summary={summary.Value}";
            }

            return(await this.ApiClient.ApiOperation <PageRevision>(HttpMethod.Get, apiUrl));
        }
Exemplo n.º 6
0
 public async Task <IPageRevision> Revert(long id, string url, long revisionId, CourseGroupFlag type = CourseGroupFlag.Course) =>
 await this.ApiClient.ApiOperation <PageRevision>(HttpMethod.Post, $"/api/v1/{Api(type)}/{id}/pages/{url}/revisions/{revisionId}");
Exemplo n.º 7
0
 public async Task <IEnumerable <IPageRevision> > ListRevisions(long id, string url, CourseGroupFlag type = CourseGroupFlag.Course) =>
 await this.ApiClient.PagableApiOperation <PageRevision>(HttpMethod.Get, $"/api/v1/{Api(type)}/{id}/pages/{url}/revisions");
Exemplo n.º 8
0
        public async Task <IEnumerable <IPage> > List(long id, Action <IListOptions> optionsFactory = null, CourseGroupFlag type = CourseGroupFlag.Course)
        {
            var listOptions = new ListOptions();

            optionsFactory?.Invoke(listOptions);

            return(await this.ApiClient.PagableApiOperation <Page, IListOptions>(HttpMethod.Get, $"/api/v1/{Api(type)}/{id}/pages", listOptions));
        }
Exemplo n.º 9
0
 public async Task <IPage> FrontPage(long id, CourseGroupFlag type = CourseGroupFlag.Course) =>
 await this.ApiClient.ApiOperation <Page>(HttpMethod.Get, $"/api/v1/{Api(type)}/front_page");
Exemplo n.º 10
0
 public Task <IPage> Create(long id, Action <IWikiPage> pageFactory, CourseGroupFlag type = CourseGroupFlag.Course) =>
 this.ProcessWiki(HttpMethod.Post, $"/api/v1/{Api(type)}/{id}/pages", pageFactory);