diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 79a5c44..57cc22d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,13 +3,27 @@ name: Invoker on: pull_request: types: [closed] + push: + branches: + - develop + workflow_dispatch: jobs: trigger-workflow: runs-on: ubuntu-latest - if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' steps: - - name: Invoke workflow + - name: Invoke Dev Workflow + if: github.event_name == 'push' && (github.ref == 'refs/heads/develop' || github.event.inputs.manual_trigger == 'true') + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: ${{ vars.GH_BUILD_WORKFLOW }} + repo: ${{ vars.GH_BUILD_REPOSITORY }} + token: ${{ secrets.GH_PAT_TOKEN }} + ref: develop + inputs: '{"repository_url": "${{ github.repository }}","ref":"${{ github.ref }}", "sha":"${{ github.sha }}", "commit_url" : "${{ github.event.head_commit.url }}", "commit_message" : "${{ github.event.head_commit.message }}"}' + + - name: Invoke Prod Workflow + if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' uses: benc-uk/workflow-dispatch@v1 with: workflow: ${{ vars.GH_BUILD_WORKFLOW }} diff --git a/Apps.Wordpress/Actions/PageActions.cs b/Apps.Wordpress/Actions/PageActions.cs index 63c6274..e53a028 100644 --- a/Apps.Wordpress/Actions/PageActions.cs +++ b/Apps.Wordpress/Actions/PageActions.cs @@ -130,13 +130,13 @@ public async Task GetPageByIdAsHtml([ActionParameter] PageRequest #region Post & Update [Action("Create page", Description = "Create a new page. With Polylang enabled it can also be used to create translations of other pages.")] - public Task CreatePage([ActionParameter] ModificationRequest input, [ActionParameter] TranslationOptions translationOptions) + public Task CreatePage([ActionParameter] ModificationRequest input, [ActionParameter] PageTranslationOptions translationOptions) { return ExecuteModification(input, translationOptions, null); } [Action("Create page from HTML", Description = "Create a new page from an HTML file. With Polylang enabled it can also be used to create translations of other pages.")] - public Task CreatePageFromHtml([ActionParameter] FileModificationRequest input, [ActionParameter] TranslationOptions translationOptions) + public Task CreatePageFromHtml([ActionParameter] FileModificationRequest input, [ActionParameter] PageTranslationOptions translationOptions) { return ExecuteModification(input, translationOptions, null); } @@ -145,7 +145,7 @@ public Task CreatePageFromHtml([ActionParameter] FileModification public Task UpdatePage( [ActionParameter] PageRequest page, [ActionParameter] ModificationRequest input, - [ActionParameter] TranslationOptions translationOptions + [ActionParameter] PageTranslationOptions translationOptions ) { return ExecuteModification(input, translationOptions, page.Id); @@ -155,13 +155,13 @@ [ActionParameter] TranslationOptions translationOptions public Task UpdatePageFromHtml( [ActionParameter] PageRequest page, [ActionParameter] FileModificationRequest input, - [ActionParameter] TranslationOptions translationOptions + [ActionParameter] PageTranslationOptions translationOptions ) { return ExecuteModification(input, translationOptions, page.Id); } - private async Task ExecuteModification(FileModificationRequest input, TranslationOptions translationOptions, string? id) + private async Task ExecuteModification(FileModificationRequest input, PageTranslationOptions translationOptions, string? id) { var fileStream = await _fileManagementClient.DownloadAsync(input.File); var fileBytes = await fileStream.GetByteData(); @@ -172,7 +172,7 @@ private async Task ExecuteModification(FileModificationRequest in return await ExecuteModification(new ModificationRequest { Title = title, Content = body }, translationOptions, id); } - private async Task ExecuteModification(ModificationRequest input, TranslationOptions translationOptions, string? id) + private async Task ExecuteModification(ModificationRequest input, PageTranslationOptions translationOptions, string? id) { var client = new WordpressRestClient(Creds); var request = new WordpressRestRequest(Endpoint + (id == null ? "" : $"/{id}"), Method.Post, Creds); diff --git a/Apps.Wordpress/Actions/PostActions.cs b/Apps.Wordpress/Actions/PostActions.cs index 613f4c3..d135eb9 100644 --- a/Apps.Wordpress/Actions/PostActions.cs +++ b/Apps.Wordpress/Actions/PostActions.cs @@ -128,13 +128,13 @@ public async Task GetPostByIdAsHtml([ActionParameter] PostRequest #region Post & Update [Action("Create post", Description = "Create a new post. With Polylang enabled it can also be used to create translations of other posts.")] - public Task CreatePost([ActionParameter] ModificationRequest input, [ActionParameter] TranslationOptions translationOptions) + public Task CreatePost([ActionParameter] ModificationRequest input, [ActionParameter] PostTranslationOptions translationOptions) { return ExecuteModification(input, translationOptions, null); } [Action("Create post from HTML", Description = "Create a new post from an HTML file. With Polylang enabled it can also be used to create translations of other posts.")] - public Task CreatePostFromHtml([ActionParameter] FileModificationRequest input, [ActionParameter] TranslationOptions translationOptions) + public Task CreatePostFromHtml([ActionParameter] FileModificationRequest input, [ActionParameter] PostTranslationOptions translationOptions) { return ExecuteModification(input, translationOptions, null); } @@ -143,7 +143,7 @@ public Task CreatePostFromHtml([ActionParameter] FileModification public Task UpdatePost( [ActionParameter] PostRequest post, [ActionParameter] ModificationRequest input, - [ActionParameter] TranslationOptions translationOptions + [ActionParameter] PostTranslationOptions translationOptions ) { return ExecuteModification(input, translationOptions, post.Id); @@ -153,13 +153,13 @@ [ActionParameter] TranslationOptions translationOptions public Task UpdatePostFromHtml( [ActionParameter] PostRequest post, [ActionParameter] FileModificationRequest input, - [ActionParameter] TranslationOptions translationOptions + [ActionParameter] PostTranslationOptions translationOptions ) { return ExecuteModification(input, translationOptions, post.Id); } - private async Task ExecuteModification(FileModificationRequest input, TranslationOptions translationOptions, string? id) + private async Task ExecuteModification(FileModificationRequest input, PostTranslationOptions translationOptions, string? id) { var fileStream = await _fileManagementClient.DownloadAsync(input.File); var fileBytes = await fileStream.GetByteData(); @@ -170,7 +170,7 @@ private async Task ExecuteModification(FileModificationRequest in return await ExecuteModification(new ModificationRequest { Title = title, Content = body }, translationOptions, id); } - private async Task ExecuteModification(ModificationRequest input, TranslationOptions translationOptions, string? id) + private async Task ExecuteModification(ModificationRequest input, PostTranslationOptions translationOptions, string? id) { var client = new WordpressRestClient(Creds); var request = new WordpressRestRequest(Endpoint + (id == null ? "" : $"/{id}"), Method.Post, Creds); diff --git a/Apps.Wordpress/Models/Requests/Page/PageTranslationOptions.cs b/Apps.Wordpress/Models/Requests/Page/PageTranslationOptions.cs new file mode 100644 index 0000000..09397a4 --- /dev/null +++ b/Apps.Wordpress/Models/Requests/Page/PageTranslationOptions.cs @@ -0,0 +1,22 @@ +using Apps.Wordpress.DataSourceHandlers; +using Blackbird.Applications.Sdk.Common; +using Blackbird.Applications.Sdk.Common.Dynamic; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apps.Wordpress.Models.Requests.Page +{ + public class PageTranslationOptions + { + [Display("Language (P)")] + [DataSource(typeof(LanguageDataHandler))] + public string? Language { get; set; } + + [Display("As translation of (P)")] + [DataSource(typeof(PageDataHandler))] + public string? ParentId { get; set; } + } +} diff --git a/Apps.Wordpress/Models/Requests/Post/TranslationOptions.cs b/Apps.Wordpress/Models/Requests/Post/PostTranslationOptions.cs similarity index 93% rename from Apps.Wordpress/Models/Requests/Post/TranslationOptions.cs rename to Apps.Wordpress/Models/Requests/Post/PostTranslationOptions.cs index 8e5da34..df56c62 100644 --- a/Apps.Wordpress/Models/Requests/Post/TranslationOptions.cs +++ b/Apps.Wordpress/Models/Requests/Post/PostTranslationOptions.cs @@ -9,7 +9,7 @@ namespace Apps.Wordpress.Models.Requests.Post { - public class TranslationOptions + public class PostTranslationOptions { [Display("Language (P)")] [DataSource(typeof(LanguageDataHandler))]