//@include lib_Class.js
//@include lib_sol.common.ix.ServiceRegistry.js

/**
 * @class sol.contract.ix.Registration
 * Registers all services and configurations exposed by the contact solution.
 */

sol.common.ix.ServiceRegistry.register("RF_sol_contact_service_CreateCompany", {
  type: sol.common.ix.ServiceRegistry.TYPES.SERVICE,
  name: "Create companies",
  description: "Service to create companies.",
  service: "RF_sol_contact_service_CreateCompany",
  ns: "sol.contact",
  functions: [sol.common.ix.ServiceRegistry.FUNCTIONS.CREATE, sol.common.ix.ServiceRegistry.FUNCTIONS.IMPORT],
  soltypes: ["COMPANY"],
  masks: ["Company"],
  serviceParameters: [
    { key: "companyType", dataType: "string", mandatory: true, desc: "Defines the template used by the service to create the new company." },
    { key: "sordMetadata", dataType: "object", mandatory: true, desc: "The metadata in form of a template sord to prefill the new company" }
  ]
});

sol.common.ix.ServiceRegistry.register("RF_sol_contact_service_CreateContact", {
  type: sol.common.ix.ServiceRegistry.TYPES.SERVICE,
  name: "Create contacts",
  description: "Service to create contacts.",
  service: "RF_sol_contact_service_CreateContact",
  ns: "sol.contact",
  functions: [sol.common.ix.ServiceRegistry.FUNCTIONS.CREATE, sol.common.ix.ServiceRegistry.FUNCTIONS.IMPORT],
  soltypes: ["CONTACT"],
  masks: ["Contact"],
  serviceParameters: [
    { key: "contactType", dataType: "string", mandatory: true, desc: "Defines the template used by the service to create the new contact." },
    { key: "sordMetadata", dataType: "object", mandatory: true, desc: "The metadata in form of a template sord to prefill the new contact" }
  ]
});