def approve(id):
	job = _get_job(id)

	if _change_approval_status(job, 'APPROVED'):
		create_activity('JOB_APPROVED', job=job)

		Job.start_publishing(id)

		if job.tf_job_id is not None:
			tf_complete_job(id, job.tf_job_id)

		return jsonify(data=job.to_json()), 201
	else:
		abort(400, {'message': CANNOT_APPROVE_JOB_MESSAGE })