private async Task CreateLinksAsync(Resources resources, IContentWorkflow workflow, ISchemaEntity schema) { var values = new { app = resources.App, schema = schema.SchemaDef.Name }; AddSelfLink(resources.Url <ContentsController>(x => nameof(x.GetContents), values)); if (resources.CanCreateContent(values.schema)) { AddPostLink("create", resources.Url <ContentsController>(x => nameof(x.PostContent), values)); if (resources.CanChangeStatus(values.schema) && await workflow.CanPublishInitialAsync(schema, resources.Context.User)) { var publishValues = new { values.app, values.schema, publish = true }; AddPostLink("create/publish", resources.Url <ContentsController>(x => nameof(x.PostContent), publishValues)); } } }