diff --git a/README.md b/README.md index c6cf3cf..b20edfb 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ jobs: ### Optional +- `type`: Configure orientation for devcard + - `default`: Vertical (Default) + - `wide`: Horizontal - `token`: GitHub Token used to commit the devcard - `commit_branch`: The branch to commit the devcard to. Defaults to the branch of the action. - `commit_message`: The commit message to use when committing the devcard. Defaults to `Update ${filename}`. diff --git a/action.yml b/action.yml index a65d106..38ed43a 100644 --- a/action.yml +++ b/action.yml @@ -9,6 +9,11 @@ inputs: description: 'Your daily.dev user id' required: true + type: + description: 'Configure orientation for devcard. Must be either "default" or "wide"' + default: default + required: false + token: description: GitHub Token used to commit the devcard default: ${{ github.token }} diff --git a/src/index.ts b/src/index.ts index f6c79ba..2f6782f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,12 +13,18 @@ process.on('unhandledRejection', (error) => { throw error }) -const devcardURL = (user_id: string): string => - `https://api.daily.dev/devcards/v2/${user_id}.png?r=${new Date().valueOf()}&ref=action` +enum DevCardType { + Vertical = 'default', + Horizontal = 'wide', +} + +const devcardURL = (user_id: string, type: DevCardType = DevCardType.Vertical): string => + `https://api.daily.dev/devcards/v2/${user_id}.png?type=${type}&r=${new Date().valueOf()}&ref=action` ;(async function () { try { const user_id = core.getInput('user_id') + const type = core.getInput('type') as DevCardType const token = core.getInput('token') const branch = core.getInput('commit_branch') const message = core.getInput('commit_message') @@ -32,13 +38,18 @@ const devcardURL = (user_id: string): string => throw new Error('Filename is required') } + // throw an error if type is invalid, must be either "default" or "wide" + if (type && !Object.values(DevCardType).includes(type)) { + throw new Error('Invalid type') + } + console.log(`Dryrun`, dryrun) // Fetch the latest devcard try { - const { body } = await fetch(devcardURL(user_id)) + const { body } = await fetch(devcardURL(user_id, type)) if (body === null) { - const message = `Empty response from devcard URL: ${devcardURL(user_id)}` + const message = `Empty response from devcard URL: ${devcardURL(user_id, type)}` core.setFailed(message) console.debug(message) process.exit(1)