Source: index.js

/**
* Ediliziasemplice Api - SDK
* API documentation
*
* Version: 0.34.0
* Generated: 2025-04-01T19:44:53.261Z
*/

import ApiClient from './client.js';
import CasesResource from './resources/cases.js';
import CertificationsResource from './resources/certifications.js';
import CertificationcategoriesResource from './resources/certificationcategories.js';
import CertificationcategoryassignmentsResource from './resources/certificationcategoryassignments.js';
import CertificationmetasResource from './resources/certificationmetas.js';
import CertificationprovidersResource from './resources/certificationproviders.js';
import CertificationrenewalsResource from './resources/certificationrenewals.js';
import CertificationtypesResource from './resources/certificationtypes.js';
import ClassificationlevelsResource from './resources/classificationlevels.js';
import CompaniesResource from './resources/companies.js';
import DocumentcategoriesResource from './resources/documentcategories.js';
import DocumentrequestsResource from './resources/documentrequests.js';
import DocumentrequestitemsResource from './resources/documentrequestitems.js';
import DocumentsubmissionsResource from './resources/documentsubmissions.js';
import DocumenttypesResource from './resources/documenttypes.js';
import FilesResource from './resources/files.js';
import HeadquartersResource from './resources/headquarters.js';
import NotesResource from './resources/notes.js';
import NotificationsResource from './resources/notifications.js';
import PeopleResource from './resources/people.js';
import PersoncompanyrolesResource from './resources/personcompanyroles.js';
import ProfessionalcertificationsResource from './resources/professionalcertifications.js';
import QuotationsResource from './resources/quotations.js';
import QuotationitemsResource from './resources/quotationitems.js';
import RolesResource from './resources/roles.js';
import ArchivesResource from './resources/archives.js';
import SwaggerResource from './resources/swagger.js';
import QueuesResource from './resources/queues.js';
import UsersResource from './resources/users.js';
import DefaultRouteResource from './resources/defaultRoute.js';
import PersonCertificationsProfessionalcertificationPeopleResource from './resources/personCertificationsProfessionalcertificationPeople.js';

/**
* SDK for Ediliziasemplice Api
*/
export class SDK {
  /**
  * Create a new SDK instance
  * @param {Object} config - Configuration options
  * @param {string} [config.baseUrl] - Base URL for API requests
  * @param {Object} [config.headers] - Default headers for requests
  * @param {Object} [config.auth] - Auth configuration {username, password} or {token}
  */
  constructor(config = {}) {
    // Initialize the API client
    this.client = new ApiClient(config);

    // Initialize resources
    this.cases = new CasesResource(this.client);
    this.certifications = new CertificationsResource(this.client);
    this.certificationcategories = new CertificationcategoriesResource(this.client);
    this.certificationcategoryassignments = new CertificationcategoryassignmentsResource(this.client);
    this.certificationmetas = new CertificationmetasResource(this.client);
    this.certificationproviders = new CertificationprovidersResource(this.client);
    this.certificationrenewals = new CertificationrenewalsResource(this.client);
    this.certificationtypes = new CertificationtypesResource(this.client);
    this.classificationlevels = new ClassificationlevelsResource(this.client);
    this.companies = new CompaniesResource(this.client);
    this.documentcategories = new DocumentcategoriesResource(this.client);
    this.documentrequests = new DocumentrequestsResource(this.client);
    this.documentrequestitems = new DocumentrequestitemsResource(this.client);
    this.documentsubmissions = new DocumentsubmissionsResource(this.client);
    this.documenttypes = new DocumenttypesResource(this.client);
    this.files = new FilesResource(this.client);
    this.headquarters = new HeadquartersResource(this.client);
    this.notes = new NotesResource(this.client);
    this.notifications = new NotificationsResource(this.client);
    this.people = new PeopleResource(this.client);
    this.personcompanyroles = new PersoncompanyrolesResource(this.client);
    this.professionalcertifications = new ProfessionalcertificationsResource(this.client);
    this.quotations = new QuotationsResource(this.client);
    this.quotationitems = new QuotationitemsResource(this.client);
    this.roles = new RolesResource(this.client);
    this.archives = new ArchivesResource(this.client);
    this.swagger = new SwaggerResource(this.client);
    this.queues = new QueuesResource(this.client);
    this.users = new UsersResource(this.client);
    this.defaultRoute = new DefaultRouteResource(this.client);
    this.personCertificationsProfessionalcertificationPeople = new PersonCertificationsProfessionalcertificationPeopleResource(this.client);
  }

  /**
  * Set the authorization token for all future requests
  * @param {string} token - Auth token
  */
  setToken(token) {
    this.client.setToken(token);
    return this;
  }

  /**
  * Set basic authentication for all future requests
  * @param {string} username
  * @param {string} password
  */
  setBasicAuth(username, password) {
    this.client.setBasicAuth(username, password);
    return this;
  }

  /**
  * Set a custom header for all future requests
  * @param {string} name - Header name
  * @param {string} value - Header value
  */
  setHeader(name, value) {
    this.client.setHeader(name, value);
    return this;
  }
}

export default SDK;