All files / src/endpoint/json update-instance.ts

100% Statements 12/12
100% Branches 0/0
100% Functions 1/1
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  1x 1x               2x 2x 2x 2x 2x 2x   2x               2x   2x       1x  
import Node from 'type/node';
import JsonEndpoint from 'endpoint/json';
import UpdateInstanceOperation, { ChangeInput } from 'operation/update-node';
 
interface Input {
	readonly changes: ChangeInput[];
}
 
class JsonUpdateInstanceEndpoint extends JsonEndpoint<Input> {
	protected async process(): Promise<Node> {
		const id = this.getUrlParameter('id');
		const type_id = this.getUrlParameter('type_id');
		const body = this.getRequestBody();
		const changes = body.changes;
		const repository = this.getRepository();
		const account = this.getAccount();
 
		const input = {
			id,
			type_id,
			changes,
			repository,
			account
		};
 
		const operation = new UpdateInstanceOperation(input);
 
		return operation.perform();
	}
}
 
export default JsonUpdateInstanceEndpoint;