mirror of
https://github.com/balena-io/balena-cli.git
synced 2024-12-20 06:07:55 +00:00
f76ca1804a
Change-type: patch Signed-off-by: Paulo Castro <paulo@balena.io>
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2019 Balena Ltd.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import { BalenaSDK, Service } from 'balena-sdk';
|
|
import memoize = require('lodash/memoize');
|
|
|
|
export const serviceIdToName = memoize(
|
|
async (sdk: BalenaSDK, serviceId: number): Promise<string | undefined> => {
|
|
const serviceName = await sdk.pine.get<Service>({
|
|
resource: 'service',
|
|
id: serviceId,
|
|
options: {
|
|
$select: 'service_name',
|
|
},
|
|
});
|
|
|
|
if (serviceName != null) {
|
|
return serviceName.service_name;
|
|
}
|
|
return;
|
|
},
|
|
// Memoize the call based on service id
|
|
(_sdk, id) => id.toString(),
|
|
);
|