Skip to content

Commit

Permalink
ci: update fusion script
Browse files Browse the repository at this point in the history
  • Loading branch information
Gustav-Eikaas committed Nov 3, 2023
1 parent 65fd490 commit 170dfe0
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/create-fusion-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ jobs:

- name: 'Create application in Fusion'
shell: bash
run: npx ts-node --esm ./github-action/src/createFusionApp.ts create -T ${{ env.FUSION_TOKEN }} -A '${{inputs.appKey}}' -C '${{inputs.category}}' -D '${{inputs.displayName}}'
run: npx ts-node --esm ./github-action/src/createFusionApp.ts create -T ${{ env.FUSION_TOKEN }} -A '${{inputs.appKey}}' -C '${{inputs.category}}' -D '${{inputs.displayName}}' -O '${{secrets.FUSION_APP_OWNERS}}' -E 'CI'
30 changes: 25 additions & 5 deletions github-action/src/createFusionApp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,14 @@ program
.option('-A, --appkey <appkey>')
.option('-D, --displayname <displayname>')
.option('-C, --category <category>')
.option('-O, --owners <owners>')
.option('-E, env <env>')
.action(async (args) => {
const fusionEnv: string = args.env;
if (!['CI', 'FPRD'].includes(fusionEnv)) {
logInfo(`Unknown env ${fusionEnv}`, 'Red');
throw new Error(`Unknown env ${fusionEnv}`);
}
if (!args.token) {
throw new Error('Missing az token');
}
Expand All @@ -57,8 +64,20 @@ program
throw new Error(`Invalid category ${args.category}`);
}

const admins = args.owners.split(',');
if (admins.length <= 0) {
throw new Error('Application needs atleast one admin');
}

setSecret(args.token);
createFusionApp(args.token, args.appkey, args.displayname, args.category);
createFusionApp(
args.token,
args.appkey,
args.displayname,
args.category,
admins,
fusionEnv as 'CI' | 'FPRD'
);
});

await program.parseAsync();
Expand All @@ -67,7 +86,9 @@ export async function createFusionApp(
token: string,
appKey: string,
displayName: string,
categoryName: string
categoryName: string,
admins: string[],
env: 'CI' | 'FPRD'
) {
//TODO: fetch dynamically
const category = categories.find((s) => s.name === categoryName);
Expand All @@ -82,7 +103,7 @@ export async function createFusionApp(
shortName: appKey,
description: '.',
owners: [],
admins: [],
admins: admins,
accentColor: category.name,
categoryId: category.id,
icon: '',
Expand All @@ -98,8 +119,7 @@ export async function createFusionApp(
hide: true,
};

await createApplicationAsync('CI', payload, token);
// await createApplicationAsync('FPRD', payload, token);
await createApplicationAsync(env, payload, token);
}

async function createApplicationAsync(
Expand Down

0 comments on commit 170dfe0

Please sign in to comment.