feat(registry): deployment removal request
This commit is contained in:
parent
748ca507da
commit
3cbea57294
@ -35,6 +35,12 @@ export interface ApplicationDeploymentRequest {
|
|||||||
meta: string;
|
meta: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ApplicationDeploymentRemovalRequest {
|
||||||
|
type: string;
|
||||||
|
version: string;
|
||||||
|
deployment: string;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ApplicationRecord {
|
export interface ApplicationRecord {
|
||||||
type: string;
|
type: string;
|
||||||
version: string;
|
version: string;
|
||||||
|
@ -9,7 +9,8 @@ import { RegistryConfig } from './config';
|
|||||||
import {
|
import {
|
||||||
ApplicationRecord,
|
ApplicationRecord,
|
||||||
Deployment,
|
Deployment,
|
||||||
ApplicationDeploymentRequest
|
ApplicationDeploymentRequest,
|
||||||
|
ApplicationDeploymentRemovalRequest
|
||||||
} from './entity/Deployment';
|
} from './entity/Deployment';
|
||||||
import { AppDeploymentRecord, PackageJSON } from './types';
|
import { AppDeploymentRecord, PackageJSON } from './types';
|
||||||
import { sleep } from './utils';
|
import { sleep } from './utils';
|
||||||
@ -18,6 +19,7 @@ const log = debug('snowball:registry');
|
|||||||
|
|
||||||
const APP_RECORD_TYPE = 'ApplicationRecord';
|
const APP_RECORD_TYPE = 'ApplicationRecord';
|
||||||
const APP_DEPLOYMENT_REQUEST_TYPE = 'ApplicationDeploymentRequest';
|
const APP_DEPLOYMENT_REQUEST_TYPE = 'ApplicationDeploymentRequest';
|
||||||
|
const APP_DEPLOYMENT_REMOVAL_REQUEST_TYPE = 'ApplicationDeploymentRemovalRequest';
|
||||||
const APP_DEPLOYMENT_RECORD_TYPE = 'ApplicationDeploymentRecord';
|
const APP_DEPLOYMENT_RECORD_TYPE = 'ApplicationDeploymentRecord';
|
||||||
const SLEEP_DURATION = 1000;
|
const SLEEP_DURATION = 1000;
|
||||||
|
|
||||||
@ -229,6 +231,37 @@ export class Registry {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async createApplicationDeploymentRemovalRequest (data: {
|
||||||
|
deployment: Deployment
|
||||||
|
}): Promise<{
|
||||||
|
applicationDeploymentRemovalRequestId: string;
|
||||||
|
applicationDeploymentRemovalRequestData: ApplicationDeploymentRemovalRequest;
|
||||||
|
}> {
|
||||||
|
const applicationDeploymentRemovalRequest = {
|
||||||
|
type: APP_DEPLOYMENT_REMOVAL_REQUEST_TYPE,
|
||||||
|
version: '1.0.0',
|
||||||
|
deployment: data.deployment.id
|
||||||
|
};
|
||||||
|
|
||||||
|
const result = await this.registry.setRecord(
|
||||||
|
{
|
||||||
|
privateKey: this.registryConfig.privateKey,
|
||||||
|
record: applicationDeploymentRemovalRequest,
|
||||||
|
bondId: this.registryConfig.bondId
|
||||||
|
},
|
||||||
|
'',
|
||||||
|
this.registryConfig.fee
|
||||||
|
);
|
||||||
|
|
||||||
|
log(`Application deployment removal request record published: ${result.data.id}`);
|
||||||
|
log('Application deployment removal request data:', applicationDeploymentRemovalRequest);
|
||||||
|
|
||||||
|
return {
|
||||||
|
applicationDeploymentRemovalRequestId: result.data.id,
|
||||||
|
applicationDeploymentRemovalRequestData: applicationDeploymentRemovalRequest
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
getCrn (appName: string): string {
|
getCrn (appName: string): string {
|
||||||
assert(this.registryConfig.authority, "Authority doesn't exist");
|
assert(this.registryConfig.authority, "Authority doesn't exist");
|
||||||
return `crn://${this.registryConfig.authority}/applications/${appName}`;
|
return `crn://${this.registryConfig.authority}/applications/${appName}`;
|
||||||
|
Loading…
Reference in New Issue
Block a user