diff --git a/package.json b/package.json index 1fc9c25..1578fa5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@serve.zone/api", - "version": "5.3.2", + "version": "5.3.3", "private": false, "description": "Type-safe API client for Cloudly and the serve.zone control plane.", "exports": { @@ -22,7 +22,7 @@ "@push.rocks/smartpromise": "^4.2.3", "@push.rocks/smartrx": "^3.0.10", "@push.rocks/smartstream": "^3.2.5", - "@serve.zone/interfaces": "^5.4.5", + "@serve.zone/interfaces": "^5.4.6", "@tsclass/tsclass": "^9.2.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9434b12..688558c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: ^3.2.5 version: 3.4.0 '@serve.zone/interfaces': - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.4.6 + version: 5.4.6 '@tsclass/tsclass': specifier: ^9.2.0 version: 9.5.0 @@ -1384,8 +1384,8 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@serve.zone/interfaces@5.4.5': - resolution: {integrity: sha512-asqUUjem3MGfIbseovHR8SxE+6FvjeQEYtV+PxcyY8YRXJ/vE3hNCDs7ePXgBbh4JXa+vNMaXHsFfz5Vrk6Ggg==} + '@serve.zone/interfaces@5.4.6': + resolution: {integrity: sha512-o4k7Wr6t3NLiP6gfAZZz8Jx8RlQ4sZYHTbhr4WkXzGf78vczFRIuFLyY1Y+TTNzDLEIzLVIyMsuECMV1KTwB2Q==} '@shikijs/engine-oniguruma@3.23.0': resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} @@ -6566,7 +6566,7 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@serve.zone/interfaces@5.4.5': + '@serve.zone/interfaces@5.4.6': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 '@push.rocks/smartlog-interfaces': 3.0.2 diff --git a/ts/classes.service.ts b/ts/classes.service.ts index aa30df7..92622f7 100644 --- a/ts/classes.service.ts +++ b/ts/classes.service.ts @@ -31,6 +31,22 @@ export class Service implements plugins.servezoneInterfaces.data.IService { return newService; } + public static async getServiceRegistryTarget( + cloudlyClientRef: CloudlyApiClient, + serviceIdArg: string, + tagArg = 'latest', + ) { + const getServiceRegistryTargetTR = cloudlyClientRef.typedsocketClient.createTypedRequest( + 'getServiceRegistryTarget' + ); + const response = await getServiceRegistryTargetTR.fire({ + identity: cloudlyClientRef.identity, + serviceId: serviceIdArg, + tag: tagArg, + }); + return response.registryTarget; + } + /** * creates a new service */ @@ -75,4 +91,8 @@ export class Service implements plugins.servezoneInterfaces.data.IService { return flatKeyValueObject; } + + public async getRegistryTarget(tagArg = 'latest') { + return Service.getServiceRegistryTarget(this.cloudlyClientRef, this.id, tagArg); + } }