Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
feat: add list version
  • Loading branch information
wwwzbwcom committed Sep 15, 2021
commit 7aac216913e25827a8fe824c154db81b27a46f4a
16 changes: 16 additions & 0 deletions __tests__/scf/version.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Scf } from '../../src';

describe('Scf Version', () => {
const credentials = {
SecretId: process.env.TENCENT_SECRET_ID,
SecretKey: process.env.TENCENT_SECRET_KEY,
};
const scf = new Scf(credentials);

test('list', async () => {
const scfList = await scf.version.list({
functionName: 'koaDemo',
});
expect(Array.isArray(scfList.Versions)).toBe(true);
});
});
1 change: 1 addition & 0 deletions src/modules/scf/apis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const ACTIONS = [
'CreateTrigger',
'DeleteTrigger',
'PublishVersion',
'ListVersionByFunction',
'ListAliases',
'CreateAlias',
'UpdateAlias',
Expand Down
21 changes: 21 additions & 0 deletions src/modules/scf/entities/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ import { ScfPublishVersionInputs } from '../interface';

import BaseEntity from './base';

export interface ScfListVersionInputs {
functionName: string;
namespace?: string;
offset?: number;
limit?: number;
}

export default class VersionEntity extends BaseEntity {
/**
* publish function version
Expand All @@ -20,4 +27,18 @@ export default class VersionEntity extends BaseEntity {
console.log(`Published function ${inputs.functionName} version ${Response.FunctionVersion}`);
return Response;
}

async list(inputs: ScfListVersionInputs) {
const listInputs = {
Action: 'ListVersionByFunction' as const,
FunctionName: inputs.functionName,
Namespace: inputs.namespace ?? 'default',
Offset: inputs.offset ?? 0,
Limit: inputs.limit ?? 100,
};
const Response = await this.request(listInputs);

console.log(`Published function ${inputs.functionName} version ${Response.FunctionVersion}`);
return Response;
}
}