{"version":3,"file":"iptdevs-design-system-prod.mjs","sources":["../../../design-system/src/lib/components/atoms/aside-button/aside-button.component.ts","../../../design-system/src/lib/components/atoms/button/button.component.ts","../../../design-system/src/lib/components/atoms/checkbox/checkbox.component.ts","../../../design-system/src/lib/components/atoms/datalist/datalist.component.ts","../../../design-system/src/lib/components/atoms/input/input.component.ts","../../../design-system/src/lib/components/atoms/level-button/level-button.component.ts","../../../design-system/src/lib/components/atoms/level-text/level-text.component.ts","../../../design-system/src/lib/components/atoms/loader/loader.component.ts","../../../design-system/src/lib/components/atoms/radio/radio.component.ts","../../../design-system/src/lib/components/atoms/select/select.component.ts","../../../design-system/src/lib/components/atoms/text-link/text-link.component.ts","../../../design-system/src/environments/environment.prod.ts","../../../design-system/src/lib/core/services/user-service/user-service.ts","../../../design-system/src/lib/core/services/storage-service/storage-service.ts","../../../design-system/src/lib/core/services/calendar-service/calendar.service.ts","../../../design-system/src/lib/core/utils/base-service/base.service.ts","../../../design-system/src/lib/components/forms/login-form/login-form.component.ts","../../../design-system/src/lib/core/services/parameters-service/parameters.service.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.html","../../../design-system/src/lib/components/molecules/sidenav/sidenav.component.ts","../../../design-system/src/lib/components/material.module.ts","../../../design-system/src/lib/components/components.module.ts","../../../design-system/src/lib/core/services/course-service/course-service.model.ts","../../../design-system/src/lib/core/utils/route-service/route.service.ts","../../../design-system/src/lib/core/services/switch-service/switch.service.ts","../../../design-system/src/lib/core/services/test-service/test.service.ts","../../../design-system/src/lib/core/services/marketing-service/marketing-service.ts","../../../design-system/src/lib/core/services/budget-service/budget-service.ts","../../../design-system/src/lib/core/services/classroom-service/classroom-service.service.ts","../../../design-system/src/lib/core/services/activity-service/activity.service.ts","../../../design-system/src/lib/core/core.module.ts","../../../design-system/src/lib/design-system.module.ts","../../../design-system/src/lib/core/services/attendance-service/attendance.service.ts","../../../design-system/src/lib/core/services/notes-service/notes.service.ts","../../../design-system/src/lib/core/services/student-service/student.service.ts","../../../design-system/src/lib/core/models/session/session.model.ts","../../../design-system/src/lib/core/models/user/user-rs.model.ts","../../../design-system/src/public-api.ts","../../../design-system/src/iptdevs-design-system-prod.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: 'ipt-aside-button',\r\n  template: `\r\n    <div [ngSwitch]=\"buttonActive\">\r\n      <a *ngSwitchCase=\"0\" class=\"flex-item-menu__link\" (click)=\"clickAction()\">\r\n        <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n        <p>{{ text }}</p>\r\n      </a>\r\n\r\n      <a *ngSwitchCase=\"1\" class=\"flex-item-menu__link flex-item-active\" (click)=\"clickAction()\">\r\n        <img src=\"{{ icon }}\" alt=\"icon_url\" />\r\n        <p>{{ text }}</p>\r\n      </a>\r\n    </div>\r\n  `,\r\n  styleUrls: ['./aside-button.css']\r\n})\r\n\r\nexport class AsideButtonComponent {\r\n  @Input() icon!: string;\r\n  @Input() text!: string;\r\n  @Input() buttonActive?: boolean;\r\n  @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n  clickAction() {\r\n    this.isClicked.emit(true);\r\n  }\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ipt-button',\r\n  template: `<button *ngIf=\"isEnabled\"\r\n    type=\"{{ buttonType }}\"\r\n    (click)=\"onClick.emit($event)\"\r\n    [ngClass]=\"classes\"\r\n  >\r\n    {{ label }}\r\n  </button>\r\n\r\n  <button *ngIf=\"!isEnabled\"\r\n    type=\"{{ buttonType }}\"\r\n    [ngClass]=\"classes\"\r\n  >\r\n    {{ label }}\r\n  </button>`,\r\n  styleUrls: ['./button.css'],\r\n})\r\nexport class ButtonComponent {\r\n\r\n  @Input() primary: boolean = false;\r\n  @Input() size: 'small' | 'medium' | 'large' = 'medium';\r\n  @Input() label: string = 'Button';\r\n  @Input() buttonType?: string;\r\n  @Input() isEnabled: boolean = true;\r\n\r\n  @Output() onClick = new EventEmitter<Event>();\r\n\r\n  public get classes(): string[] {\r\n    const mode = this.primary && this.isEnabled === true\r\n      ? 'ipt-button--primary'\r\n      : this.isEnabled === false ? 'ipt-button--primary-disabled'\r\n      : 'ipt-button--secondary';\r\n\r\n    return ['ipt-button', `ipt-button--${this.size}`, mode];\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n  selector: 'ipt-checkbox',\r\n  template: `\r\n    <label class=\"cont\">\r\n      <input\r\n        class=\"checkbox\"\r\n        [formControl]=\"formControl\"\r\n        [checked]=\"checkboxOption\"\r\n        (click)=\"onChecked.emit($event)\"\r\n        type=\"checkbox\">\r\n      <span></span>\r\n    </label>\r\n  `,\r\n  styleUrls: ['./checkbox.css']\r\n})\r\n\r\nexport class CheckboxComponent {\r\n\r\n  @Input() checkboxOption: boolean = false;\r\n  @Input() set control(value: AbstractControl) {\r\n    if (this.formControl !== value) {\r\n      this.formControl = value as FormControl;\r\n    }\r\n  }\r\n\r\n  @Output() onChecked = new EventEmitter<Event>();\r\n\r\n  formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'ipt-datalist',\r\n  template: `\r\n    <div class=\"input-container\">\r\n      <label [ngClass]=\"labelClass\">{{ placeHolder }}</label>\r\n      <input\r\n        type=\"text\"\r\n        class=\"input\"\r\n        (click)=\"click($event)\"\r\n        [attr.list]=\"datalistId\"\r\n        (change)=\"optionChanged($event)\"\r\n        [disabled]=\"disabledSel\"\r\n        [value]=\"setDataListValue()\"\r\n      />\r\n\r\n      <datalist id=\"{{ datalistId }}\">\r\n        <option *ngFor=\"let item of datalistData; index as i\" [value]=\"item.name\">\r\n          {{item.id_card}} {{item.name}}\r\n        </option>\r\n      </datalist>\r\n    </div>\r\n  `,\r\n  styleUrls: ['./datalist.css'],\r\n})\r\nexport class DatalistComponent {\r\n\r\n  @Input() datalistId!: string;\r\n  @Input() datalistData!: any[];\r\n  @Input() placeHolder!: string;\r\n  @Input() validateText!: string;\r\n  @Input() initalData!: string;\r\n  @Input() disabledSel:boolean = false;\r\n\r\n  @Output() isChanged = new EventEmitter<string>();\r\n\r\n  clicked: boolean = false;\r\n\r\n  constructor(fb: FormBuilder) {\r\n  }\r\n\r\n  optionChanged(event: any) {\r\n    let selectOption = this.datalistData.find(element =>  element.name == event.target.value);\r\n    if (typeof(selectOption) != 'undefined') {\r\n      this.isChanged.emit(selectOption.code);\r\n    } else {\r\n      this.isChanged.emit('-1');\r\n    }\r\n  }\r\n\r\n  click(value: MouseEvent) {\r\n    this.clicked = value.isTrusted;\r\n  }\r\n\r\n  setDataListValue() {\r\n    let selectOption = this.datalistData.find(element =>  element.code == this.initalData);\r\n    if (typeof(selectOption) != 'undefined') {\r\n      return selectOption.name;\r\n    } else {\r\n      return '';\r\n    }\r\n  }\r\n\r\n  public get labelClass(): string {\r\n    return this.clicked === false ? 'label' : 'labelUp';\r\n  }\r\n}\r\n","import { CurrencyPipe } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n  selector: 'ipt-input',\r\n  template: `\r\n    <div class=\"input-container\">\r\n      <input *ngIf=\"inputType === 'date'\"\r\n        class=\"input\"\r\n        type=\"{{ inputType ? 'text' : 'date' }}\"\r\n        [formControl]=\"formControl\"\r\n        (ngModelChange)=\"selectedDate($event)\"\r\n        onfocus=\"this.type='date';\"\r\n        onblur=\"javascript: if( !this.value ) this.type='text';\"\r\n        uib-datepicker-popup=\"dd/MM/yyyy\"\r\n        ng-model=\"inputType\"/>\r\n\r\n      <input *ngIf=\"inputType !== 'date' && inputType !== 'time' && !withPipe\"\r\n        class=\"input\"\r\n        type=\"{{ inputType }}\"\r\n        [formControl]=\"formControl\"\r\n        [attr.list]=\"list\"/>\r\n\r\n        <input *ngIf=\"inputType === 'text' && withPipe\"\r\n          class=\"input\"\r\n          currencyMask\r\n          [options]=\"{ prefix: prefix, thousands: thousands, decimal: decimal, allowNegative: false }\"\r\n          type=\"{{ inputType }}\"\r\n          [formControl]=\"formControl\"\r\n          [attr.list]=\"list\"/>\r\n\r\n        <input *ngIf=\"inputType === 'time'\"\r\n          class=\"input\"\r\n          type=\"time\"\r\n          [formControl]=\"formControl\"\r\n          [min]=\"'06:00:00'\"\r\n          max=\"22:00:00\"\r\n          step=\"900\"\r\n          autocomplete=\"on\"\r\n          value=\"08:00:00\"\r\n          (click)=\"click($event)\"\r\n        />\r\n\r\n      <label [ngClass]=\"{'labelUp': formControl.value !== ''}\">{{ placeHolder }}</label>\r\n\r\n      <p *ngIf=\"(formControl.invalid && formControl.value !== '')\">\r\n        {{ validateText }}\r\n      </p>\r\n    </div>\r\n    `,\r\n  styleUrls: ['./input.css'],\r\n})\r\nexport class InputComponent implements OnInit {\r\n\r\n  public codeValue!: string;\r\n  data: any[] = [];\r\n  formControl!: FormControl;\r\n  clicked: boolean = false;\r\n\r\n  @Input() inputType!: string;\r\n  @Input() placeHolder!: string;\r\n  @Input() validateText?: string;\r\n  @Input() withPipe?: boolean = false;\r\n  @Input() list?: string; //Para el datalist\r\n  @Input() iconUrl?: string;\r\n  @Input() set control(value: AbstractControl | string) {\r\n    if (this.formControl !== value) {\r\n      this.formControl = value as FormControl;\r\n    }\r\n  }\r\n\r\n  @Input() prefix: string = '$';\r\n  @Input() thousands: string = '.';\r\n  @Input() decimal: string = ',';\r\n  @Output() dateSelected = new EventEmitter<string>();\r\n\r\n  constructor() {}\r\n\r\n\r\n  ngOnInit() {}\r\n\r\n  selectedDate(evt: string){\r\n    this.dateSelected.emit(evt);\r\n  }\r\n\r\n  click(value: MouseEvent) {\r\n    this.clicked = value.isTrusted;\r\n  }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ipt-level-button',\r\n  template: `\r\n    <div [ngSwitch]=\"buttonActive\">\r\n      <button\r\n        *ngSwitchCase=\"0\"\r\n        (click)=\"clickAction()\"\r\n        id=\"level\"\r\n        class=\"courses\"\r\n      >\r\n      <p class=\"p-level\">{{ level }}</p>\r\n      </button>\r\n\r\n      <button\r\n        *ngSwitchCase=\"1\"\r\n        (click)=\"clickAction()\"\r\n        id=\"{{ idColor }}\"\r\n        class=\"courses\">\r\n      <p class=\"p-level p-level-active\">{{ level }}</p>\r\n      </button>\r\n    </div>\r\n  `,\r\n  styleUrls: ['./level-button.css'],\r\n})\r\n\r\nexport class LevelButtonComponent {\r\n\r\n  @Input() level!: string;\r\n  @Input() buttonActive!: boolean;\r\n  @Input() idColor!: string;\r\n  @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n  clickAction() {\r\n    this.isClicked.emit(true);\r\n  }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ipt-level-button',\r\n  template: `\r\n    <p class=\"p-table-course\">{{ level }}: {{ total }}</p>\r\n  `,\r\n  styleUrls: ['./level-text.css'],\r\n})\r\n\r\nexport class LevelTextComponent {\r\n\r\n  @Input() level!: string;\r\n  @Input() total!: string;\r\n\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ipt-loader',\r\n  template: `\r\n  <div [ngClass]=\"{'dialog': isDialog}\">\r\n    <div [ngClass]=\"{'loader_container' : isDialog}\">\r\n      <span>{{ message }}</span>\r\n      <div class=\"container\">\r\n        <div class=\"spinner\">\r\n          <div class=\"dot\"></div>\r\n          <div class=\"dot\"></div>\r\n          <div class=\"dot\"></div>\r\n          <div class=\"dot\"></div>\r\n          <div class=\"dot\"></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>`,\r\n  styleUrls: ['./loader.css']\r\n})\r\nexport class LoaderComponent {\r\n  @Input() message: string = '';\r\n  @Input() isDialog: boolean = false;\r\n}\r\n\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Component({\r\n  selector: 'ipt-radio',\r\n  template: `\r\n    <label class=\"cont\">\r\n      <input\r\n        class=\"radio\"\r\n        [formControl]=\"formControl\"\r\n        [checked]=\"radioOption\"\r\n        (click)=\"onSelected.emit($event)\"\r\n        type=\"radio\">\r\n      <span></span>\r\n    </label>\r\n  `,\r\n  styleUrls: ['./radio.css']\r\n})\r\n\r\nexport class RadioComponent {\r\n\r\n  @Input() radioOption: boolean = false;\r\n  @Input() set control(value: AbstractControl) {\r\n    if (this.formControl !== value) {\r\n      this.formControl = value as FormControl;\r\n    }\r\n  }\r\n\r\n  @Output() onSelected = new EventEmitter<Event>();\r\n\r\n  formControl!: FormControl;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'ipt-select',\r\n  template: `\r\n    <div class=\"select-container\">\r\n      <label [ngClass]=\"labelClass\">{{ defaultText }}</label>\r\n      <select\r\n        [(ngModel)]=\"binding\"\r\n        (ngModelChange)=\"seleccionar($event)\"\r\n        (click)=\"click($event)\"\r\n        [ngClass]=\"textClass\"\r\n        [disabled]=\"disabledSel\">\r\n        <option *ngFor=\"let item of data; index as i\" [value]=\"item.code\">\r\n          {{ item.name }} {{ item.prefix }}\r\n        </option>\r\n      </select>\r\n    </div>\r\n  `,\r\n  styleUrls: ['./select.css'],\r\n})\r\nexport class SelectComponent {\r\n\r\n  binding: any;\r\n  boxShadow: number = 0;\r\n  formControl!: FormControl;\r\n  clicked: boolean = false;\r\n\r\n  @Input() isRequired!: boolean; // temas de validacion\r\n  // objeto que me trae el listado\r\n  @Input() data!: any[]; // recibe un array de cualquier cosa\r\n  @Input() defaultText!: any;\r\n  @Input() selectCode!:string;\r\n  @Input() disabledSel:boolean = false;\r\n  @Input() initialValue!: string;\r\n\r\n  @Output() eventSelect = new EventEmitter<string>();\r\n  // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo\r\n  @Input() set control(value: AbstractControl) {\r\n    if (this.formControl !== value) {\r\n      this.formControl = value as FormControl;\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if( changes['data']){\r\n      this.setBinding();\r\n    }\r\n  }\r\n\r\n  seleccionar(evt: string){\r\n    if (this.eventSelect.emit(evt) !== this.defaultText) {\r\n      this.boxShadow = 1;\r\n    }\r\n    else {\r\n      this.boxShadow = 2;\r\n    }\r\n  }\r\n\r\n  private setBinding() {\r\n    if(this.initialValue !== '') {\r\n      this.binding = this.initialValue;\r\n    } else {\r\n      this.binding = this.defaultText;\r\n    }\r\n  }\r\n\r\n  click(value: MouseEvent) {\r\n    this.clicked = value.isTrusted;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n     this.setBinding();\r\n  }\r\n\r\n  public get textClass(): string {\r\n    return this.defaultText === '' ? 'selected' : 'select';\r\n  }\r\n\r\n  public get labelClass(): string {\r\n    return this.clicked === false ? 'label' : 'labelUp';\r\n  }\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ipt-text-link',\r\n  template: `\r\n    <a class=\"text-link\" (click)='isLinkClicked()'>\r\n      <p class=\"text-link__paragraph\">\r\n        <i class=\"{{icon}}\" aria-hidden=\"true\"></i>\r\n        {{text}}\r\n      </p>\r\n    </a>\r\n  `,\r\n  styleUrls: ['./text-link.css'],\r\n})\r\n\r\nexport class TextLinkComponent {\r\n\r\n  @Input() text!: string;\r\n  @Input() blank?: boolean;\r\n  @Input() icon?: string;\r\n\r\n  @Output() isClicked = new EventEmitter<boolean>();\r\n\r\n\r\n  constructor() {\r\n  }\r\n\r\n  isLinkClicked() {\r\n    this.isClicked.emit(true);\r\n  }\r\n\r\n}\r\n","export const environment = {\r\n  production: true,\r\n  baseUrl: 'http://iptdev.com.co/',\r\n  assets: 'https://iptdev.com.co/assets/'\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq, RegisterRq, getStudentRq } from '../../models/user/user-rq.model';\r\nimport { getStrategyByUserCommercialRq } from '../../models/marketing/marketing.model';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class UserService {\r\n  private SERVICE_URL = environment.baseUrl + 'users/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  login(userLogin: LoginRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/login';\r\n    this.generateRequestParams(userLogin);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  resetPassword(resetPassword: ForgotPasswordRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'reset/password';\r\n    this.generateRequestParams(resetPassword);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  register(user: RegisterRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/create/web';\r\n    this.generateRequestParams(user);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  registerIndex(register: RegisterIndexRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/create/marketing';\r\n    this.generateRequestParams(register);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  registerDashboard(user: RegisterDashboardRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';\r\n    this.generateRequestParams(user);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAvailableTeachers(token: UserTokenRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';\r\n    this.generateRequestParams(token);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllAdvisor(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'post/obtain/all/user/commercial';\r\n    this.generateRequestParams(userToken);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getByRoleUser(codeRole: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n    this.generateRequestParams(userToken);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getRoutesForRole(token: UserTokenRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/routes/role';\r\n    this.generateRequestParams(token);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getStudents(token: UserTokenRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/students';\r\n    this.generateRequestParams(token);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getStudent(token: getStudentRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/student';\r\n    this.generateRequestParams(token);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Session } from \"../../models/session/session.model\";\r\nimport { UserRs } from \"../../models/user/user-rs.model\";\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class StorageService {\r\n\r\n  private localStorageService;\r\n  private currentSession : Session | null= null;\r\n\r\n  constructor() {\r\n    this.localStorageService = localStorage;\r\n    this.currentSession = this.loadSessionData();\r\n  }\r\n\r\n  setCurrentSession(session: Session): void {\r\n    this.currentSession = session;\r\n    this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));\r\n  }\r\n\r\n  loadSessionData(): Session | null {\r\n    var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n    return (sessionStr) ? <Session> JSON.parse(sessionStr) : null;\r\n  }\r\n\r\n  getCurrentSession(): Session | null {\r\n    return this.currentSession;\r\n  }\r\n\r\n  removeCurrentSession(): void {\r\n    this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');\r\n    this.currentSession = null;\r\n  }\r\n\r\n  getCurrentUser(): UserRs | null {\r\n    var session: Session | null = this.getCurrentSession();\r\n    return (session && session.user) ? session.user : null;\r\n  };\r\n\r\n  isAuthenticated(): boolean {\r\n    return (this.getCurrentToken() != null) ? true : false;\r\n  };\r\n\r\n  getCurrentToken(): string | null{\r\n    var session = this.getCurrentSession();\r\n    return (session && session.token) ? session.token : null;\r\n  };\r\n\r\n  logout(): void{\r\n    this.removeCurrentSession();\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { eventqueryRq } from '../../models/calendar/calendar-rq.models';\r\nimport { AddNewEventRq, AvailabilityQueryRq, AvailabilityQueryRqs, GetEventByDateTimeRq, GetEventsByCourseRq } from '../../models/cronogram/cronogram.models';\r\nimport { Response } from '../../models/response/response.interface';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class CalendarService {\r\n  private SERVICE_URL = environment.baseUrl + 'calendar/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  postCreateQueryEvent(params: AvailabilityQueryRq): Observable<Response>{\r\n    let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getEventByIdCalendar(idCalendar: string): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/event/calendar/idcalendar/all/' + idCalendar;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  postEventByDayTime(params: eventqueryRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getEventsByCourse(params: GetEventsByCourseRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/course';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getEventByDateTime(params: GetEventByDateTimeRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAvailability(params: AvailabilityQueryRqs): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  addNewEvent(params: AddNewEventRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/add/event/calendar/by/daytime';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginRq, RegisterDashboardRq } from '../../models/user/user-rq.model';\r\nimport { UserService } from '../../services/user-service/user-service';\r\nimport Swal from 'sweetalert2';\r\nimport { Session } from '../../models/session/session.model';\r\nimport { StorageService } from '../../services/storage-service/storage-service';\r\nimport { AvailabilityQueryRq } from '../../models/cronogram/cronogram.models';\r\nimport { CalendarService } from '../../services/calendar-service/calendar.service';\r\nimport { Response } from '../../models/response/response.interface';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class BaseService {\r\n\r\n  constructor(\r\n    private userService: UserService,\r\n    private storageService: StorageService,\r\n    private calendarService: CalendarService\r\n  ) {}\r\n\r\n  webLogin(user: string, password: string): Promise<boolean>{\r\n    let request: LoginRq = {\r\n      user: user,\r\n      password: password\r\n    }\r\n    let service = this.userService;\r\n    let storage = this.storageService;\r\n    let appUser = this.isAnAppUser();\r\n\r\n    return new Promise(function(resolve, reject) {\r\n      service.login(request).subscribe( response => {\r\n        switch (response.message.code) {\r\n          case 1:\r\n            if(!appUser) {\r\n              Swal.fire ({\r\n                'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n                'html': '<p style=\"font-family: Poppins\"\">Succesfull login</p>',\r\n                'icon':'success',\r\n              });\r\n            }\r\n            const loginRegisterUser: Session = {\r\n              token: response.data.token,\r\n              user: response.data,\r\n            };\r\n\r\n            storage.setCurrentSession(loginRegisterUser);\r\n            resolve(true);\r\n            break;\r\n          case 2:\r\n            Swal.fire({\r\n              'title': '<p style=\"font-family: Poppins\"\">Warning!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">The data does not correspond to a user registered in our system, please review them.</p>',\r\n              'icon':'warning',\r\n            });\r\n\r\n            resolve(false);\r\n            break;\r\n          case 3:\r\n            Swal.fire({\r\n              'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n              'icon':'error',\r\n            });\r\n\r\n            resolve(false);\r\n            break;\r\n          default:\r\n            Swal.fire({\r\n              'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n              'icon':'error',\r\n            });\r\n\r\n            resolve(false);\r\n            break;\r\n        }\r\n        reject('Unhandled exception');\r\n      });\r\n    })\r\n  }\r\n\r\n  getCronogramAvailability(isTeacher: boolean, code: number, startDate: string, numClass: number, weekDays: any[], startTime: string, endTime: string): Promise<any>{\r\n    let request: AvailabilityQueryRq = {\r\n      isTeacher: isTeacher,\r\n      code: code,\r\n      startDate: startDate,\r\n      numClass: numClass,\r\n      weekDays: weekDays,\r\n      startTime: startTime,\r\n      endTime: endTime,\r\n    };\r\n\r\n    let service = this.calendarService;\r\n\r\n    return new Promise(function(resolve, reject) {\r\n      service.postCreateQueryEvent(request).subscribe(  (response: Response) => {\r\n        switch (response.message.code) {\r\n          case 1:\r\n            resolve(response.data);\r\n            break\r\n          default:\r\n            reject('Unhandled exception');\r\n        }\r\n        reject('Unhandled exception');\r\n      });\r\n    });\r\n  }\r\n\r\n  isAnAppUser() {\r\n    const userAgent: string = window.navigator.userAgent;\r\n    return userAgent.includes('Flutter IPT APP');\r\n  }\r\n\r\n  getUserRole(): number {\r\n    let user = this.storageService.getCurrentUser()?.role;\r\n    return user === undefined ? -1 : user;\r\n  }\r\n\r\n  getUserToken(): string {\r\n    let token = this.storageService.getCurrentUser()?.token;\r\n    return token === undefined ? '-1' : token;\r\n  }\r\n\r\n  getUserName(): string {\r\n    let user = this.storageService.getCurrentUser();\r\n    let response = user === null ? '' : user.name;\r\n    return response;\r\n  }\r\n\r\n  registerUserFromDashboard(registerDashboardRq: RegisterDashboardRq): Promise<boolean>{\r\n    let request = registerDashboardRq;\r\n    let service = this.userService;\r\n\r\n    return new Promise(function(resolve, reject) {\r\n      service.registerDashboard(request).subscribe((response) => {\r\n\r\n        switch (response.message.code) {\r\n          case 1:\r\n            Swal.fire ({\r\n              'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">Sucesfull register!</p>',\r\n              'icon':'success',\r\n            });\r\n            resolve(true);\r\n            break;\r\n          case 3:\r\n            Swal.fire ({\r\n              'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\r\n              'icon':'error',\r\n            });\r\n            resolve(false);\r\n            break;\r\n          case 4:\r\n            Swal.fire ({\r\n              'title': '<p style=\"font-family: Poppins\">Ups!</p>',\r\n              'html': '<p style=\"font-family: Poppins\">The input data has a high relation with a user that already exists!</p>',\r\n              'icon': 'warning',\r\n            });\r\n            resolve(false);\r\n            break;\r\n          default:\r\n            Swal.fire ({\r\n              'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\r\n              'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\r\n              'icon':'error',\r\n            });\r\n            resolve(false);\r\n            break;\r\n        }\r\n\r\n        reject('Unhandled exception');\r\n      });\r\n    });\r\n  }\r\n\r\n  jsonToArray(data: any[]): any[][] {\r\n    var response: any[] = [];\r\n    data.forEach((element) => {\r\n      var object: any[] = [];\r\n      for (var clave in element) {\r\n        if (element.hasOwnProperty(clave)) {\r\n          if (typeof element[clave] == 'object') {\r\n            element[clave] = this.subJsonToArray(element[clave]);\r\n          }\r\n\r\n          object.push(element[clave]);\r\n        }\r\n      }\r\n      response.push(object);\r\n    });\r\n    return response;\r\n  }\r\n\r\n  subJsonToArray(data: any[]): string {\r\n    var object: string = '';\r\n    for (var clave in data) {\r\n      if (clave != 'code') {\r\n        object += '\\n' + data[clave];\r\n      }\r\n    }\r\n    return object;\r\n  }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\n\r\n@Component({\r\n  selector: 'ipt-login-form',\r\n  template: `\r\n    <div class=\"form-container\">\r\n\r\n      <h2 style=\"text-align: center;\">IPT PLATFORM</h2>\r\n      <hr>\r\n\r\n      <form (ngSubmit)=\"login(loginForm)\" [formGroup]=\"loginForm\">\r\n        <ipt-input\r\n          [inputType]=\"'text'\"\r\n          [placeHolder]=\"'Email'\"\r\n          [validateText]=\"'Debe ser @inglesparatodos.edu.co'\"\r\n          [control]=\"loginForm.controls['email']\"\r\n        ></ipt-input>\r\n\r\n        <ipt-input\r\n          [inputType]=\"'password'\"\r\n          [placeHolder]=\"'Password'\"\r\n          [control]=\"loginForm.controls['password']\"\r\n        ></ipt-input>\r\n      </form>\r\n\r\n      <div class=\"button-container\">\r\n        <ipt-button\r\n          [label]=\"'Login'\"\r\n          [primary]=\"true\"\r\n          [isEnabled]=\"loginForm.valid\"\r\n          (onClick)=\"login(loginForm)\"\r\n        ></ipt-button>\r\n      </div>\r\n\r\n    </div>\r\n  `,\r\n  styleUrls: ['./login-form.css']\r\n})\r\n\r\nexport class LoginFormComponent {\r\n\r\n  @Output() isLogged = new EventEmitter<boolean>();\r\n\r\n  loginForm!: FormGroup;\r\n\r\n  constructor(\r\n    fb: FormBuilder,\r\n    private baseService: BaseService,\r\n  ) {\r\n    this.loginForm = fb.group({\r\n      email: ['', [Validators.required]],\r\n      password: ['', [Validators.required, Validators.minLength(3),Validators.maxLength(15)]],\r\n    });\r\n  }\r\n\r\n  login(data: FormGroup) {\r\n    this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) =>{\r\n      this.isLogged.emit(isLogged);\r\n    });\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ParameterService {\r\n  private SERVICE_URL = environment.baseUrl + 'parameters/api/';\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  getIndicatives(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/indicatives';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getCardTypes(country: string): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getCountries(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/countries';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getStatesByCountry(country: string): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getCitiesByState(state: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAllPlans(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getLevels(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/english/levels';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAgreements(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/agreement';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAgreementByCategory(typeCategory: any): Observable<any> {\r\n    let serviceUrl =\r\n      this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAllClassrooms(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/classroom';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getCoursesTypes(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/course/type';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getCoursesTypesByPlan(typePlan: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getDegrees(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/degrees';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getProgramsByDegree(typeDegree: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getMarketingReasons(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getStudyReasons(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAcademicUnits(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/academic/units';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n  getStatusContact(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getTypePlan(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/plans';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n  getTypePlanDiscount(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getContactedType(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getStatusByCode(codeStatus: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n  getAllTypeDiscount(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAllCourseModality(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/course/modality';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { RegisterDashboardRq } from '../../../core/models/user/user-rq.model';\r\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n  selector: 'ipt-create-user-form',\r\n  templateUrl: './create-user-form.component.html',\r\n  styleUrls: ['./create-user-form.component.css'],\r\n  animations: [\r\n    trigger('fade', [\r\n      transition('void => *', [\r\n        style({ opacity: 0 }),\r\n        animate(200, style({opacity: 1}))\r\n      ])\r\n    ])\r\n  ]\r\n})\r\nexport class CreateUserFormComponent implements OnInit {\r\n  @Input() userType!: string;\r\n  @Input() visibility: boolean = false;\r\n  @Output() userCreated = new EventEmitter<boolean>(false);\r\n  @Output() onHide = new EventEmitter<boolean>(false);\r\n\r\n  createUserForm!: FormGroup;\r\n  phoneNumberIndicatives: any;\r\n  idTypes: any;\r\n  states: any;\r\n  loader: boolean = false;\r\n  cities: any;\r\n  photo: string = '';\r\n\r\n  constructor(\r\n    private fb: FormBuilder,\r\n    private parameterService: ParameterService,\r\n    private userService: UserService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.initForm();\r\n    this.getParameters();\r\n  }\r\n\r\n  closeModal() {\r\n    this.visibility = false;\r\n    this.onHide.emit(true);\r\n  }\r\n\r\n  createUser() {\r\n    this.loader = true;\r\n\r\n    let request: RegisterDashboardRq = {\r\n      name: this.createUserForm.controls['name'].value,\r\n      last_name: this.createUserForm.controls['last_name'].value,\r\n      id_card_type: this.createUserForm.controls['id_card_type'].value,\r\n      id_card: this.createUserForm.controls['id_card'].value,\r\n      phone_indicative: this.createUserForm.controls['phone_indicative'].value,\r\n      phone_number: this.createUserForm.controls['phone_number'].value,\r\n      email: this.createUserForm.controls['email'].value,\r\n      city: this.createUserForm.controls['city'].value,\r\n      service_hour: this.createUserForm.controls['service_hour'].value,\r\n      role: this.createUserForm.controls['role'].value,\r\n      password: this.createUserForm.controls['password'].value,\r\n    };\r\n\r\n    this.userService.registerDashboard(request).subscribe((response) => {\r\n      console.log(response.message)\r\n      switch (response.message.code) {\r\n        case 1:\r\n          this.userCreated.emit(true);\r\n          this.initForm();\r\n          break;\r\n        case 2:\r\n          throw new Error(\"Los datos ingresados no corresponden a un usuario registrado en nuestro sistema, por favor reviselos.\");\r\n        case 3:\r\n          throw new Error(\"Los datos ingresados no cumplen los parámetros establecidos\");\r\n        default:\r\n          break;\r\n      }\r\n      this.loader = false;\r\n    });\r\n  }\r\n\r\n  getParameters() {\r\n    this.parameterService.getIndicatives().subscribe((response: { data: any; }) => {\r\n      this.phoneNumberIndicatives = response.data;\r\n    });\r\n    this.parameterService.getCardTypes('col').subscribe((response: { data: any; }) => {\r\n      this.idTypes = response.data;\r\n    });\r\n    this.parameterService.getStatesByCountry('col').subscribe((response): void => {\r\n      this.states = response.data;\r\n    });\r\n  }\r\n\r\n  getRolesOptions(): any {\r\n    // Estudiante\r\n    if (this.userType === 'student') {\r\n      this.setPhoto('student');\r\n      return [\r\n        { code: '13', name: 'Student' },\r\n      ];\r\n    }\r\n\r\n    // Académico\r\n    if (this.userType === 'academic') {\r\n      this.setPhoto('academic');\r\n      return [\r\n        { code: '11', name: 'Teacher PRO' },\r\n        { code: '12', name: 'Teacher' },\r\n      ];\r\n    }\r\n\r\n    // Administrativo\r\n    if (this.userType === 'administrative') {\r\n      this.setPhoto('administrative');\r\n      return [\r\n        { code: '31', name: 'Administrative Supervisor' },\r\n        { code: '32', name: 'Administrative Advisor' },\r\n      ];\r\n    }\r\n\r\n    // Marketing\r\n    if (this.userType === 'marketing') {\r\n      this.setPhoto('marketing');\r\n      return [\r\n        { code: '21', name: 'Marketing Supervisor' },\r\n        { code: '22', name: 'Marketing Advisor' },\r\n      ];\r\n    }\r\n\r\n    // Comercial\r\n    if (this.userType === 'commercial') {\r\n      this.setPhoto('commercial');\r\n      return [\r\n        { code: '41', name: 'Commercial Supervisor' },\r\n        { code: '42', name: 'Commercial Advisor' },\r\n      ];\r\n    }\r\n\r\n    // Cartera\r\n    if (this.userType === 'treasure') {\r\n      this.setPhoto('treasure');\r\n      return [\r\n        { code: '51', name: 'Treauser Supervisor' },\r\n        { code: '52', name: 'Treauser Advisor' },\r\n      ];\r\n    }\r\n  }\r\n\r\n  initForm() {\r\n    this.createUserForm = this.fb.group({\r\n      name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\r\n      last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\r\n      email: ['', [Validators.required, Validators.maxLength(300)]],\r\n      id_card_type: ['', [Validators.required]],\r\n      id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),]],\r\n      phone_indicative: ['', [Validators.required]],\r\n      city: ['', [Validators.required]],\r\n      role: ['', [Validators.required]],\r\n      service_hour: ['', [Validators.required]],\r\n      phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\r\n      password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n      re_password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\r\n      state: [''],\r\n    });\r\n  }\r\n\r\n  setPhoto(type: string) {\r\n    if (type === 'student') this.photo = '../../../assets/user-form-assets/estudiante.jpg'\r\n    if (type === 'academic') this.photo = '../../../assets/user-form-assets/academico.png'\r\n    if (type === 'administrative') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n    if (type === 'marketing') this.photo = '../../../assets/user-form-assets/marketing.jpg'\r\n    if (type === 'commercial') this.photo = '../../../assets/user-form-assets/comercial.jpg'\r\n    if (type === 'treasure') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\r\n  }\r\n\r\n  selectRol(role: any) {\r\n    if (role !== 'Seleccione el rol') {\r\n      this.createUserForm.controls['role'].setValue(role);\r\n    } else {\r\n      this.createUserForm.controls['role'].setValue(null);\r\n    }\r\n  }\r\n\r\n  selectIndicatives(indicative: any) {\r\n    if (indicative !== 'Seleccione el indicativo') {\r\n      this.createUserForm.controls['phone_indicative'].setValue(indicative);\r\n    } else {\r\n      this.createUserForm.controls['phone_indicative'].setValue(null);\r\n    }\r\n  }\r\n\r\n  selectIdType(idType: any) {\r\n    if (idType !== 'Ingrese el tipo de documento') {\r\n      this.createUserForm.controls['id_card_type'].setValue(idType);\r\n    } else {\r\n      this.createUserForm.controls['id_card_type'].setValue(null);\r\n    }\r\n  }\r\n\r\n  selectState(state: any) {\r\n    if (state !== 'Seleccione el departamento') {\r\n      this.createUserForm.controls['state'].setValue(state);\r\n      this.parameterService.getCitiesByState(state).subscribe((response) => {\r\n        this.cities = response.data;\r\n      });\r\n    } else {\r\n      this.createUserForm.controls['state'].setValue(null);\r\n      this.createUserForm.controls['city'].setValue(null);\r\n      this.cities = [];\r\n    }\r\n  }\r\n\r\n  selectCity(city: any) {\r\n    if (city !== 'Ciudad de residencia') {\r\n      this.createUserForm.controls['city'].setValue(city);\r\n    } else {\r\n      this.createUserForm.controls['city'].setValue(null);\r\n    }\r\n  }\r\n}\r\n","<main *ngIf=\"visibility\">\r\n  <div @fade class=\"modal_container\">\r\n    <div class=\"header_modal\">\r\n      <h1>Crear usuario de {{ userType | titlecase}}</h1>\r\n      <button (click)=\"closeModal()\">x</button>\r\n    </div>\r\n    <div class=\"grid_container\">\r\n      <div>\r\n        <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\r\n          <ipt-input\r\n            [inputType]=\"'text'\"\r\n            [placeHolder]=\"'Nombre completo'\"\r\n            [control]=\"createUserForm.controls['name']\"\r\n            [validateText]=\"'Debe ingresar el nombre'\"\r\n          ></ipt-input>\r\n          <ipt-input\r\n            [inputType]=\"'text'\"\r\n            [placeHolder]=\"'Apellidos'\"\r\n            [control]=\"createUserForm.controls['last_name']\"\r\n            [validateText]=\"'Debe ingresar los apellidos'\"\r\n          ></ipt-input>\r\n          <ipt-input\r\n            [inputType]=\"'text'\"\r\n            [placeHolder]=\"'Correo electrónico'\"\r\n            [control]=\"createUserForm.controls['email']\"\r\n            [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\r\n          ></ipt-input>\r\n          <ipt-select\r\n            [isRequired]=\"true\"\r\n            [defaultText]=\"'Seleccione el rol'\"\r\n            (eventSelect)=\"selectRol($event)\"\r\n            [data]=\"getRolesOptions()\"\r\n          ></ipt-select>\r\n          <ipt-select\r\n            [isRequired]=\"true\"\r\n            [data]=\"phoneNumberIndicatives\"\r\n            (eventSelect)=\"selectIndicatives($event)\"\r\n            [defaultText]=\"'Seleccione el indicativo'\"\r\n          ></ipt-select>\r\n          <ipt-input\r\n            [inputType]=\"'number'\"\r\n            [placeHolder]=\"'Número de teléfono'\"\r\n            [control]=\"createUserForm.controls['phone_number']\"\r\n            [validateText]=\"'Debe ingresar un número de teléfono válido'\"\r\n          ></ipt-input>\r\n          <ipt-select\r\n            [isRequired]=\"true\"\r\n            [data]=\"idTypes\"\r\n            (eventSelect)=\"selectIdType($event)\"\r\n            [defaultText]=\"'Ingrese el tipo de documento'\"\r\n          ></ipt-select>\r\n          <ipt-input\r\n            [inputType]=\"'number'\"\r\n            [placeHolder]=\"'Documento de identidad'\"\r\n            [control]=\"createUserForm.controls['id_card']\"\r\n            [validateText]=\"'Debe ingresar el número de documento'\"\r\n          ></ipt-input>\r\n          <ipt-select\r\n            [isRequired]=\"true\"\r\n            (eventSelect)=\"selectState($event)\"\r\n            [data]=\"states\"\r\n            [defaultText]=\"'Seleccione el departamento'\"\r\n          ></ipt-select>\r\n          <ipt-select\r\n            [isRequired]=\"true\"\r\n            (eventSelect)=\"selectCity($event)\"\r\n            [data]=\"cities\"\r\n            [defaultText]=\"'Ciudad de residencia'\"\r\n          ></ipt-select>\r\n          <ipt-input *ngIf=\"!(userType === 'student')\"\r\n            [inputType]=\"'number'\"\r\n            [placeHolder]=\"'Ingrese las horas de servicio'\"\r\n            [control]=\"createUserForm.controls['service_hour']\"\r\n            [validateText]=\"'Debe ingresar las horas de servicio'\"\r\n          ></ipt-input>\r\n          <ipt-input\r\n            [inputType]=\"'password'\"\r\n            [placeHolder]=\"'Contraseña'\"\r\n            [control]=\"createUserForm.controls['password']\"\r\n          >\r\n          </ipt-input>\r\n          <ipt-input\r\n            [inputType]=\"'password'\"\r\n            [placeHolder]=\"'Repetir contraseña'\"\r\n            [control]=\"createUserForm.controls['re_password']\"\r\n          >\r\n          </ipt-input>\r\n        </form>\r\n\r\n        <div class=\"buttons-container\">\r\n          <ipt-button\r\n            [label]=\"'Crear usuario'\"\r\n            [isEnabled]=\"\r\n              !loader &&\r\n              createUserForm.value['re_password'] ===\r\n              createUserForm.value['password']\r\n            \"\r\n            (onClick)=\"createUser()\"\r\n            [primary]=\"true\"\r\n          >\r\n          </ipt-button>\r\n        </div>\r\n      </div>\r\n      <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\r\n    </div>\r\n  </div>\r\n</main>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\nimport { BaseService } from '../../../core/utils/base-service/base.service';\r\nimport { UserTokenRq } from '../../../core/models/user/user-rq.model';\r\nimport { StorageService } from '../../../core/services/storage-service/storage-service';\r\nimport { UserService } from '../../../core/services/user-service/user-service';\r\n\r\n@Component({\r\n  selector: 'ipt-sidenav',\r\n  template: `\r\n    <mat-sidenav #sidenav mode=\"push\" >\r\n      <mat-toolbar color=\"primary\" (click)=\"sidenav.toggle()\">\r\n        <span style=\"font-size: 15px;\">{{department}}</span>\r\n        <span class=\"menu-icon-close\"></span>\r\n      </mat-toolbar>\r\n\r\n      <mat-nav-list *ngFor=\"let route of routes\">\r\n        <nav class=\"flex-container-menu\">\r\n          <ipt-aside-button\r\n            [buttonActive]=\"this.setPage === route.page\"\r\n            [icon]=\"route.icon\"\r\n            [text]=\"route.text\"\r\n            (isClicked)=\"clickPage(route.page)\"\r\n            (click)=\"sidenav.toggle()\"\r\n          >\r\n          </ipt-aside-button>\r\n        </nav>\r\n      </mat-nav-list>\r\n    </mat-sidenav>\r\n\r\n    <mat-toolbar class=\"header\">\r\n      <div class=\"menu-container\" (click)=\"sidenav.toggle()\">\r\n        <p>Menu</p>\r\n        <div class=\"menu-icon\"></div>\r\n      </div>\r\n\r\n      <img class=\"img-logo\" src=\"http://qa.iptdev.com.co/assets/logos/IPT-logo.png\" alt=\"\" />\r\n\r\n      <div class=\"text-container\">\r\n        <span class=\"p1\">{{ currentDay }}</span>\r\n        <span *ngIf=\"hour >= 0 && hour < 12\" class=\"p2\">\r\n          Hey {{ userName }}, Good moorning!\r\n        </span>\r\n        <p *ngIf=\"hour >= 12 && hour < 18\" class=\"p2\">\r\n          Hey {{ userName }}, Good afternoon!\r\n        </p>\r\n        <p *ngIf=\"hour >= 18 && hour < 24\" class=\"p2\">\r\n          Hey {{ userName }}, Good evening!\r\n        </p>\r\n      </div>\r\n\r\n      <div *ngIf=\"!this.appUser\" class=\"logout-container\" (click)=\"logout()\">\r\n        <p class=\"logout-button\">Cerrar sesión</p>\r\n        <div class=\"photo-logout\"></div>\r\n      </div>\r\n    </mat-toolbar>\r\n  `,\r\n  styleUrls: ['./sidenav.css'],\r\n})\r\nexport class SidenavComponent implements OnInit {\r\n  @Input() department!: string;\r\n  @Input() setPage!: string;\r\n  @Input() userName!: string;\r\n  @Output() pageChangeEvent = new EventEmitter<string>();\r\n\r\n  appUser: boolean = false;\r\n  routes: any[] = [];\r\n  options: any = { weekday: 'long', month: 'long', day: 'numeric' };\r\n  currentDay = new Date().toLocaleDateString('en-EN', this.options);\r\n  hour = new Date().getHours();\r\n\r\n  constructor(\r\n    private userService: UserService,\r\n    private baseService: BaseService,\r\n    private storageService: StorageService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    let user = this.storageService.getCurrentUser()?.token;\r\n    let token: string = user === undefined ? '' : user;\r\n\r\n    let request: UserTokenRq = {\r\n      token: token,\r\n    };\r\n\r\n    this.userService.getRoutesForRole(request).subscribe((response) => {\r\n      this.routes = response.data;\r\n    });\r\n\r\n    this.appUser = this.baseService.isAnAppUser();\r\n  }\r\n\r\n  clickPage(event: string) {\r\n    this.pageChangeEvent.emit(event);\r\n  }\r\n\r\n  logout() {\r\n    this.storageService.logout();\r\n    this.pageChangeEvent.emit('logout');\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n  exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],\r\n})\r\nexport class MaterialModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AsideButtonComponent } from './atoms/aside-button/aside-button.component';\r\nimport { ButtonComponent } from './atoms/button/button.component';\r\nimport { CheckboxComponent } from './atoms/checkbox/checkbox.component';\r\nimport { DatalistComponent } from './atoms/datalist/datalist.component';\r\nimport { InputComponent } from './atoms/input/input.component';\r\nimport { LevelButtonComponent } from './atoms/level-button/level-button.component';\r\nimport { LevelTextComponent } from './atoms/level-text/level-text.component';\r\nimport { LoaderComponent } from './atoms/loader/loader.component';\r\nimport { RadioComponent } from './atoms/radio/radio.component';\r\nimport { SelectComponent } from './atoms/select/select.component';\r\nimport { TextLinkComponent } from './atoms/text-link/text-link.component';\r\n\r\nimport { LoginFormComponent } from './forms/login-form/login-form.component';\r\nimport { CreateUserFormComponent } from './forms/create-user-form/create-user-form.component';\r\n\r\nimport { SidenavComponent } from './molecules/sidenav/sidenav.component';\r\nimport { MaterialModule } from './material.module';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AsideButtonComponent,\r\n    ButtonComponent,\r\n    CheckboxComponent,\r\n    CreateUserFormComponent,\r\n    DatalistComponent,\r\n    InputComponent,\r\n    LevelButtonComponent,\r\n    LevelTextComponent,\r\n    LoginFormComponent,\r\n    LoaderComponent,\r\n    RadioComponent,\r\n    SelectComponent,\r\n    SidenavComponent,\r\n    TextLinkComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    // BrowserModule, // Para evitar doble carga de BrowserModule\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    MaterialModule,\r\n    CurrencyMaskModule\r\n  ],\r\n  exports: [\r\n    AsideButtonComponent,\r\n    ButtonComponent,\r\n    CheckboxComponent,\r\n    CreateUserFormComponent,\r\n    DatalistComponent,\r\n    InputComponent,\r\n    LevelButtonComponent,\r\n    LevelTextComponent,\r\n    LoaderComponent,\r\n    RadioComponent,\r\n    SelectComponent,\r\n    TextLinkComponent,\r\n    LoginFormComponent,\r\n    SidenavComponent,\r\n    CurrencyMaskModule\r\n  ],\r\n  providers: [\r\n    CurrencyPipe,\r\n    TitleCasePipe\r\n  ]\r\n})\r\n\r\nexport class ComponentsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\r\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class CourseService {\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  createCourse(course: CreateCourseRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course';\r\n    this.generateRequestParams(course);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  editCourse(course: EditCourseRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'put/course';\r\n    this.generateRequestParams(course);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllCourses(params: GetCoursesRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/all/courses';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getCoursesByLevel(params: GetCoursesRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/by/level';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAvailibleCourses( availibleCourses: GetAvailibleCoursesRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';\r\n    this.generateRequestParams(availibleCourses);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getCourseByCode(params: GetCourseByCodeRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/by/code';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/by/teacher';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getFilteredCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/filtered/by/teacher';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getCoursesByStartDate(params: CourseStartDateRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/by/startdate';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  numberClassByCode(idCode: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/coursetype/numclass/by/code/' + idCode;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  // construye los headers y params\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n@Injectable()\r\nexport class RedirectGuard implements CanActivate {\r\n  constructor(private router: Router) {}\r\n\r\n  canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): boolean {\r\n    window.location.href = route.data['externalUrl'];\r\n    return true;\r\n  }\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class SwitchService {\r\n\r\n  constructor() { }\r\n\r\n  $modal = new EventEmitter<any>();\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n  CopyExamRq,\r\n  CreateAnswerRq,\r\n  CreateQuestionRq,\r\n  CreateSectionRq,\r\n  CreateSectionWithAllRq,\r\n  Exam,\r\n  GetAllExamsRq,\r\n  GetAllSectionsRq,\r\n  GetQuestionsBySectionRq,\r\n  getQuestionsBySectionsRq,\r\n  UpdateAnswerRq,\r\n  UpdateExamRq,\r\n  UpdateExamStatusRq,\r\n  UpdateQuestionRq,\r\n  UpdateQuestionStateRq,\r\n  UpdateSectionMediaRq,\r\n  UpdateSectionRq,\r\n  UpdateSectionStateRq,\r\n} from '../../models/test/test.model';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TestService {\r\n  private SERVICE_URL = environment.baseUrl + 'test/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  // ---------------------- EXÁMENES ---------------------- //\r\n  createExam(exam: Exam): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/exam';\r\n    this.generateRequestParams(exam);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllExams(params: GetAllExamsRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/all/exam';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateExam(params: UpdateExamRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/exam';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateExamStatus(params: UpdateExamStatusRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/exam/status';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  copyExam(params: CopyExamRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'copy/exam';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getExamByCode(code: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getExamByAuthor(code: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  // ---------------------- SECCIONES ---------------------- //\r\n  createSectionWithAll(params: CreateSectionWithAllRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/section/with/all';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  createSection(params: CreateSectionRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/section';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllSections(params: GetAllSectionsRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/all/sections';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateSection(params: UpdateSectionRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/section';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateSectionMedia(params: UpdateSectionMediaRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/section/media';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateSectionState(params: UpdateSectionStateRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/section/state';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getSectionsByExam(code: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  // ---------------------- PREGUNTAS ---------------------- //\r\n  createQuestion(params: CreateQuestionRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/question';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateQuestion(params: UpdateQuestionRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/question';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getQuestionsBySections(params: getQuestionsBySectionsRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getQuestionsBySection(params: GetQuestionsBySectionRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/questions/by/section';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  // ---------------------- RESPUESTAS ---------------------- //\r\n  createAnswer(params: CreateAnswerRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/answer';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateAnswer(params: UpdateAnswerRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/answer';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAnswersByQuestion(code: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;\r\n    return this.http.get(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateQuestionState(params: UpdateQuestionStateRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/question/state';\r\n    this.generateRequestParams(params);\r\n    return this.http.put(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  // construye los headers y params\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getStrategyByUserCommercialRq, getObservationsByStudentRq, CreateObservationsRq } from '../../models/marketing/marketing.model';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class MarketingService {\r\n\r\n  private SERVICE_URL = environment.baseUrl + 'commercial/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  getStrategyByUserCommercial(user: getStrategyByUserCommercialRq): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'post/contact/strategy/byaviser';\r\n    this.generateRequestParams(user);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getObservationsContact(codeContact: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  createObservations(params: CreateObservationsRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'get/contact/strategy/statistics';\r\n    this.generateRequestParams(userToken);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getTopAdviser(): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'get/contact/strategy/topadviser';\r\n    return this.http.get(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getMovementStatus(): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'get/contact/strategy/movements/status';\r\n    return this.http.get(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getgroupSignupStatus(): Observable<any> {\r\n    let serviceUrl =  this.SERVICE_URL + 'get/contact/strategy/group/signup';\r\n    return this.http.get(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n\r\n  //Construye los headers y paramns\r\n  private generateRequestParams(param: any) {\r\n      this.httpOptions = {\r\n        header: new HttpHeaders(),\r\n        params: param,\r\n      };\r\n    }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { getdiscountAllRq, DiscountRq, DiscountUpdateRq } from '../../models/budget/budget.model';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BudgetService {\r\n\r\n  private SERVICE_URL = environment.baseUrl + 'budget/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  getAllDiscount(user: getdiscountAllRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';\r\n    this.generateRequestParams(user);\r\n    return this.http.post(serviceUrl,this.httpOptions);\r\n  }\r\n  createDiscount(params: DiscountRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n  updateDiscount(params: DiscountUpdateRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n  //Construye los headers y paramns\r\n  private generateRequestParams(param: any) {\r\n      this.httpOptions = {\r\n        header: new HttpHeaders(),\r\n        params: param,\r\n      };\r\n    }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\r\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\r\nimport { ClassroomByIdCalendarRq, ClassroomModalityRq } from '../../models/classroom/classroom-rq.model';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ClassroomService {\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  getClassroomsByModality(params: ClassroomModalityRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/classroom/by/modality';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getClassroomByIdCalendar(params: ClassroomByIdCalendarRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/classroom/by/idcalendar';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  // construye los headers y params\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class ActivityService {\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  getActivityByCourse(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/activities/by/course/code';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getNoticesByCourse(codeCourse: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/notices/by/course/code/' + codeCourse;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getUnitsByActivity(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/units/by/activity/code';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getElementsByUnit(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getCourseTeacherByToken(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/course/teacher/by/token';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllTypeResource(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/type/resource/template';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getAllTypeElement(): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/all/type/element/template';\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  getElementsByUnitNew(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code/new';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateCourseByCronogram(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/update/course/by/code';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getTemplateCourseByCourse(codeCourse: number): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'get/template/course/by/course/code/' + codeCourse;\r\n    return this.http.get(serviceUrl);\r\n  }\r\n\r\n  saveMagnageActivity(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/manage/activities/by/course/element';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  postNotesActivityH5P(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/activity/h5p/notes';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getMagnageActivity(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/template/admin/by/course/element';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getNoteActivityH5P(params: any): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/note/activity/h5p';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  // construye los headers y params\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CourseService } from './services/course-service/course-service.model';\r\nimport { ParameterService } from './services/parameters-service/parameters.service';\r\nimport { RedirectGuard } from './utils/route-service/route.service';\r\nimport { StorageService } from './services/storage-service/storage-service';\r\nimport { SwitchService } from './services/switch-service/switch.service';\r\nimport { UserService } from './services/user-service/user-service';\r\nimport { BaseService } from './utils/base-service/base.service';\r\nimport { TestService } from './services/test-service/test.service';\r\nimport { MarketingService } from './services/marketing-service/marketing-service';\r\nimport { BudgetService } from './services/budget-service/budget-service';\r\nimport { ClassroomService } from './services/classroom-service/classroom-service.service';\r\nimport { ActivityService } from './services/activity-service/activity.service';\r\n\r\n@NgModule({\r\n  providers: [\r\n    ParameterService,\r\n    CourseService,\r\n    StorageService,\r\n    UserService,\r\n    SwitchService,\r\n    RedirectGuard,\r\n    BaseService,\r\n    TestService,\r\n    MarketingService,\r\n    ClassroomService,\r\n    BudgetService,\r\n    ActivityService\r\n  ]\r\n})\r\nexport class CoreModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\n\r\nimport { ComponentsModule } from './components/components.module';\r\nimport { CoreModule } from './core/core.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    ComponentsModule,\r\n    CoreModule,\r\n    CurrencyMaskModule\r\n  ],\r\n  exports: [\r\n    ComponentsModule,\r\n    CoreModule,\r\n    CurrencyMaskModule\r\n  ],\r\n})\r\n\r\nexport class DesignSystemModule { }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Response } from '../../models/response/response.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { AddEventByCourseRq, CourseAttendance, GetEventByCodeRq, GetEventsByCourseCodeRq, GetNotAttendancesByCodRq, RegisterNewAttendanceByEventRq } from '../../models/attendance/attendance.interface';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AttendanceService {\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  addEventByCourseRq(params: AddEventByCourseRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/post/event/by/course`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getEventsByCourseCode(params: GetEventsByCourseCodeRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/post/obtain/events/by/course_code`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getEventByCode(params: GetEventByCodeRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/post/obtain/event/by/code`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  registerNewAttendanceByEvent(params: RegisterNewAttendanceByEventRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/register/attendance/by/event`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAttendaceByCourse(courseCode: number): Observable<CourseAttendance> {\r\n    let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendances/by/course/${courseCode}`;\r\n    return this.http.get<CourseAttendance>(serviceUrl);\r\n  }\r\n\r\n  getCODCodeByStudentCode(studentCode: number) {\r\n    let serviceUrl = `${this.SERVICE_URL}/get/cod_code/by/student_code/${studentCode}`;\r\n    return this.http.get<any>(serviceUrl);\r\n  }\r\n\r\n  getAttendanceHistoryByStudent(token: string, cod_code: number): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendance/history/by/student`;\r\n    this.generateRequestParams({token, cod_code});\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getAllNotAttendancesByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/by/cod`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getNotAttendancesOfLastWeekByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\r\n    let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/lastweek/by/cod`;\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  // construye los headers y params\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CreateNewNoteRq, GetNotesByGroupRq, GetNotesByStudentRq, Notes, UpdateStudentNoteRq, calculateFinalNoteRq } from '../../models/notes/notes.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { Response } from '../../models/response/response.interface';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class NotesService {\r\n\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  getNotesByGroup(params: GetNotesByGroupRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/course';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  getNotesByStudent(params: GetNotesByStudentRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/student';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  createNewNote(params: CreateNewNoteRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/create/note';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  updateStudentNote(params: UpdateStudentNoteRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'update/note';\r\n    this.generateRequestParams(params);\r\n    return this.http.put<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  calculateFinalNote(params: calculateFinalNoteRq): Observable<Response> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/calculate/final/note';\r\n    this.generateRequestParams(params);\r\n    return this.http.post<Response>(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GetStudentsByCourseRq } from '../../models/student/student.interface';\r\n\r\nimport { environment } from '../../../../environments/environment.prod';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class StudentService {\r\n\r\n  private SERVICE_URL = environment.baseUrl + 'academic/api/';\r\n  httpOptions: any;\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  getStudentsByCourse(params: GetStudentsByCourseRq): Observable<any> {\r\n    let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/course';\r\n    this.generateRequestParams(params);\r\n    return this.http.post(serviceUrl, this.httpOptions);\r\n  }\r\n\r\n  private generateRequestParams(param: any) {\r\n    this.httpOptions = {\r\n      header: new HttpHeaders(),\r\n      params: param,\r\n    };\r\n  }\r\n}\r\n","import { UserRs } from '../user/user-rs.model';\r\n\r\nexport class Session {\r\n  token!: string;\r\n  user!: UserRs;\r\n}","export class UserRs {\r\n  code!: number;\r\n  name!: string;\r\n  last_name!: string;\r\n  nick_name!: string;\r\n  email!: string;\r\n  email_ipt!: string;\r\n  role!: number;\r\n  service_hour!: number;\r\n  phone_indicative!: number;\r\n  phone_number!: number;\r\n  gender!: string;\r\n  birthdate!: string;\r\n  city!: number;\r\n  id_card_type!: number;\r\n  id_card!: number;\r\n  comment?: string;\r\n  password!: string;\r\n  token!: string;\r\n}\r\n\r\nexport class UserLoginRs {\r\n  code!: number;\r\n  name!: string;\r\n  last_name!: string;\r\n  email!: string;\r\n  id_card!: string;\r\n  id_card_type!: number;\r\n  phone_indicative!: number;\r\n  phone!: string;\r\n  gender!: number;\r\n  city!: number;\r\n  role!: number;\r\n  birthdate!: string;\r\n  token!: string;\r\n}\r\n","/*\r\n * Public API Surface of design-system\r\n */\r\n\r\nexport * from \"./lib/design-system.module\"\r\nexport * from \"./lib/components/components.module\"\r\nexport * from \"./lib/core/core.module\"\r\n\r\n// Atomos\r\nexport * from \"./lib/components/atoms/aside-button/aside-button.component\"\r\nexport * from \"./lib/components/atoms/button/button.component\"\r\nexport * from \"./lib/components/atoms/checkbox/checkbox.component\"\r\nexport * from \"./lib/components/atoms/datalist/datalist.component\"\r\nexport * from \"./lib/components/atoms/input/input.component\"\r\nexport * from \"./lib/components/atoms/level-button/level-button.component\"\r\nexport * from \"./lib/components/atoms/level-text/level-text.component\"\r\nexport * from \"./lib/components/atoms/loader/loader.component\"\r\nexport * from \"./lib/components/atoms/radio/radio.component\"\r\nexport * from \"./lib/components/atoms/select/select.component\"\r\nexport * from \"./lib/components/atoms/text-link/text-link.component\"\r\n\r\n// Formularios\r\nexport * from \"./lib/components/forms/login-form/login-form.component\"\r\nexport * from \"./lib/components/molecules/sidenav/sidenav.component\"\r\nexport * from \"./lib/components/forms/create-user-form/create-user-form.component\"\r\n\r\n// Servicios\r\nexport * from \"./lib/core/services/attendance-service/attendance.service\"\r\nexport * from \"./lib/core/services/budget-service/budget-service\"\r\nexport * from \"./lib/core/services/course-service/course-service.model\"\r\nexport * from \"./lib/core/services/calendar-service/calendar.service\"\r\nexport * from \"./lib/core/services/marketing-service/marketing-service\"\r\nexport * from \"./lib/core/services/notes-service/notes.service\"\r\nexport * from \"./lib/core/services/parameters-service/parameters.service\"\r\nexport * from \"./lib/core/services/student-service/student.service\"\r\nexport * from \"./lib/core/services/storage-service/storage-service\"\r\nexport * from \"./lib/core/services/switch-service/switch.service\"\r\nexport * from \"./lib/core/services/test-service/test.service\"\r\nexport * from \"./lib/core/services/user-service/user-service\"\r\nexport * from \"./lib/core/utils/base-service/base.service\"\r\nexport * from \"./lib/core/utils/route-service/route.service\"\r\nexport * from \"./lib/core/services/classroom-service/classroom-service.service\"\r\nexport * from \"./lib/core/services/activity-service/activity.service\"\r\n// Modelos\r\nexport * from \"./lib/core/models/activities/activities.interface\"\r\nexport * from \"./lib/core/models/attendance/attendance.interface\"\r\nexport * from \"./lib/core/models/budget/budget.model\"\r\nexport * from \"./lib/core/models/cod/cod-rq.model\"\r\nexport * from \"./lib/core/models/calendar/calendar-rq.models\"\r\nexport * from \"./lib/core/models/cronogram/cronogram.models\"\r\nexport * from \"./lib/core/models/course/course-rq.model\"\r\nexport * from \"./lib/core/models/marketing/marketing.model\"\r\nexport * from \"./lib/core/models/notes/notes.interface\"\r\nexport * from \"./lib/core/models/response/response.interface\"\r\nexport * from \"./lib/core/models/session/session.model\"\r\nexport * from \"./lib/core/models/student/student.interface\"\r\nexport * from \"./lib/core/models/table/table-rs.model\"\r\nexport * from \"./lib/core/models/test/test.model\"\r\nexport * from \"./lib/core/models/url/url.model\"\r\nexport * from \"./lib/core/models/user/user-rq.model\"\r\nexport * from \"./lib/core/models/user/user-rs.model\"\r\nexport * from \"./lib/core/models/classroom/classroom-rq.model\"\r\n\r\n// Librería para máscara de moneda\r\nexport * from \"./lib/components/components.module\"\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.UserService","i2.StorageService","i3.CalendarService","i2.BaseService","i3.InputComponent","i4.ButtonComponent","i2.ParameterService","i3.UserService","i4.InputComponent","i5.SelectComponent","i6.ButtonComponent","i7","i3.StorageService","i7.AsideButtonComponent","i8"],"mappings":"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"}