"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RunnerOrganizationService = void 0;
const request_1 = require("../core/request");
class RunnerOrganizationService {
/**
* Get all
* Lists all organizations.
This includes their address, contact and teams (if existing/associated).
* @result ResponseRunnerOrganization
* @throws ApiError
*/
static async runnerOrganizationControllerGetAll() {
const result = await (0, request_1.request)({
method: 'GET',
path: `/api/organizations`,
});
return result.body;
}
/**
* Post
* Create a new organsisation.
* @param requestBody CreateRunnerOrganization
* @result ResponseRunnerOrganization
* @throws ApiError
*/
static async runnerOrganizationControllerPost(requestBody) {
const result = await (0, request_1.request)({
method: 'POST',
path: `/api/organizations`,
body: requestBody,
});
return result.body;
}
/**
* Get one
* Lists all information about the organization whose id got provided.
* @param id
* @result ResponseRunnerOrganization
* @throws ApiError
*/
static async runnerOrganizationControllerGetOne(id) {
const result = await (0, request_1.request)({
method: 'GET',
path: `/api/organizations/${id}`,
});
return result.body;
}
/**
* Put
* Update the organization whose id you provided.
Please remember that ids can't be changed.
* @param id
* @param requestBody UpdateRunnerOrganization
* @result ResponseRunnerOrganization
* @throws ApiError
*/
static async runnerOrganizationControllerPut(id, requestBody) {
const result = await (0, request_1.request)({
method: 'PUT',
path: `/api/organizations/${id}`,
body: requestBody,
});
return result.body;
}
/**
* Remove
* Delete the organsisation whose id you provided.
If the organization still has runners and/or teams associated this will fail.
To delete the organization with all associated runners and teams set the force QueryParam to true (cascading deletion might take a while).
This won't delete the associated contact.
If no organization with this id exists it will just return 204(no content).
* @param id
* @param force
* @result ResponseRunnerOrganization
* @result ResponseEmpty
* @throws ApiError
*/
static async runnerOrganizationControllerRemove(id, force) {
const result = await (0, request_1.request)({
method: 'DELETE',
path: `/api/organizations/${id}`,
query: {
'force': force,
},
});
return result.body;
}
/**
* Get runners
* Lists all runners from this org and it's teams (if you don't provide the ?onlyDirect=true param).
This includes the runner's group and distance ran.
* @param id
* @param onlyDirect
* @result ResponseRunner
* @throws ApiError
*/
static async runnerOrganizationControllerGetRunners(id, onlyDirect) {
const result = await (0, request_1.request)({
method: 'GET',
path: `/api/organizations/${id}/runners`,
query: {
'onlyDirect': onlyDirect,
},
});
return result.body;
}
}
exports.RunnerOrganizationService = RunnerOrganizationService;