@cbm-common/cbm-types 0.0.353 → 0.0.355

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import { AsyncValidatorFn, FormArray, FormControl, FormGroup, ValidatorFn } from
3
3
  import { NgSelectComponent } from '@ng-select/ng-select';
4
4
  import { Subject } from 'rxjs';
5
5
  import { ListService, PaginatedListService } from '@cbm-common/data-access';
6
- import { CbmClientGroupModel } from '../../domain/models/client-group.domain.model';
6
+ import { CbmClientCategoryModel } from '../../domain/models/client-category.domain.model';
7
7
  import { CbmClientModel } from '../../domain/models/client.domain.model';
8
8
  import { CbmDocumentTypeModel } from '../../domain/models/document-type.model';
9
9
  import { CbmGeneralSettingsPartnersModel } from '../../domain/models/general-settings-partners.domain.model';
@@ -12,7 +12,7 @@ import { CbmRateModel } from '../../domain/models/rate.domain.model';
12
12
  import { CbmSellerModel } from '../../domain/models/seller.domain.model';
13
13
  import { CbmSettingsProfessionsModel } from '../../domain/models/settings-professions.domain.model';
14
14
  import { CbmBillingDomainRepository } from '../../domain/repositories/billing.domain.repository';
15
- import { CbmClientGroupRepository } from '../../domain/repositories/client-group.domain.repository';
15
+ import { CbmClientCategoryDomainRepository } from '../../domain/repositories/client-category.domain.repository';
16
16
  import { CbmClientDomainRepository } from '../../domain/repositories/client.domain.repository';
17
17
  import { CbmCountryCodeDomainRepository } from '../../domain/repositories/country-code.domain.repository';
18
18
  import { CbmDocumentTypeDomainRepository } from '../../domain/repositories/document-type.domain.repository';
@@ -23,7 +23,6 @@ import { CbmSellerDomainRepository } from '../../domain/repositories/seller.doma
23
23
  import { CbmSettingsProfessionsDomainRepository } from '../../domain/repositories/settings-professions.domain.repository';
24
24
  import { CbmNotificationService } from '../../domain/services/notification/notification.service';
25
25
  import { CbmModalConfirmComponent } from '../modal-confirm/modal-confirm';
26
- import { CbmTreeSelect } from '../tree-select/types';
27
26
  import { TStatus } from './types';
28
27
  import { AccountValidatorsDomainService } from '../../domain/services/account-validators.domain.service';
29
28
  import { CbmPersonTypeUAFEModel } from '../../domain/models/person-type-uafe.domain.model';
@@ -55,7 +54,7 @@ export declare class CbmAddClientComponent implements OnInit, AfterViewInit, OnD
55
54
  private countryCodeRepository;
56
55
  private sellerRepository;
57
56
  private priceListRepository;
58
- private clientGroupRepository;
57
+ private clientCategoryRepository;
59
58
  private clientRepository;
60
59
  private readonly generalSettingsPartnersRepository;
61
60
  private rateRepository;
@@ -66,7 +65,7 @@ export declare class CbmAddClientComponent implements OnInit, AfterViewInit, OnD
66
65
  private readonly generalService;
67
66
  private readonly territorialOrganizationRepository;
68
67
  private readonly sourceIncomeRepository;
69
- constructor(destroyRef: DestroyRef, documentTypeRepository: CbmDocumentTypeDomainRepository, notificationService: CbmNotificationService, billingRepository: CbmBillingDomainRepository, countryCodeRepository: CbmCountryCodeDomainRepository, sellerRepository: CbmSellerDomainRepository, priceListRepository: CbmPriceListDomainRepository, clientGroupRepository: CbmClientGroupRepository, clientRepository: CbmClientDomainRepository, generalSettingsPartnersRepository: CbmGeneralSettingsPartnersDomainRepository, rateRepository: CbmRateDomainRepository, economicActivityRepository: CbmEconomicActivitiesDomainRepository, settingsProfessionsRepository: CbmSettingsProfessionsDomainRepository, personTypeUAFERepository: CbmPersonTypeUAFERepository, accountValidatorsDomainService: AccountValidatorsDomainService, generalService: GeneralDomainService, territorialOrganizationRepository: CbmTerritorialOrganizationRepository, sourceIncomeRepository: CbmSourceIncomeDomainRepository);
68
+ constructor(destroyRef: DestroyRef, documentTypeRepository: CbmDocumentTypeDomainRepository, notificationService: CbmNotificationService, billingRepository: CbmBillingDomainRepository, countryCodeRepository: CbmCountryCodeDomainRepository, sellerRepository: CbmSellerDomainRepository, priceListRepository: CbmPriceListDomainRepository, clientCategoryRepository: CbmClientCategoryDomainRepository, clientRepository: CbmClientDomainRepository, generalSettingsPartnersRepository: CbmGeneralSettingsPartnersDomainRepository, rateRepository: CbmRateDomainRepository, economicActivityRepository: CbmEconomicActivitiesDomainRepository, settingsProfessionsRepository: CbmSettingsProfessionsDomainRepository, personTypeUAFERepository: CbmPersonTypeUAFERepository, accountValidatorsDomainService: AccountValidatorsDomainService, generalService: GeneralDomainService, territorialOrganizationRepository: CbmTerritorialOrganizationRepository, sourceIncomeRepository: CbmSourceIncomeDomainRepository);
70
69
  ngOnDestroy(): void;
71
70
  dropdownMenuRef: import("@angular/core").Signal<ElementRef<HTMLUListElement> | undefined>;
72
71
  contactDetailsTableContainerRef: import("@angular/core").Signal<ElementRef<HTMLDivElement> | undefined>;
@@ -87,7 +86,7 @@ export declare class CbmAddClientComponent implements OnInit, AfterViewInit, OnD
87
86
  update: import("@angular/core").OutputEmitterRef<any>;
88
87
  allDocumentTypes: import("@angular/core").WritableSignal<CbmDocumentTypeModel.ListResponse.Data[]>;
89
88
  documentTypes: import("@angular/core").WritableSignal<CbmDocumentTypeModel.ListResponse.Data[]>;
90
- categories: import("@angular/core").WritableSignal<CbmTreeSelect.Children<any>>;
89
+ categories: import("@angular/core").WritableSignal<CbmClientCategoryModel.ListResponse.Data[]>;
91
90
  clientToUpdate: import("@angular/core").WritableSignal<CbmClientModel.GetOneResponse.Data | null>;
92
91
  statusOfFetchDocumentTypes: import("@angular/core").WritableSignal<TStatus>;
93
92
  statusOfExtractClientData: import("@angular/core").WritableSignal<TStatus>;
@@ -129,7 +128,7 @@ export declare class CbmAddClientComponent implements OnInit, AfterViewInit, OnD
129
128
  clientForm: FormGroup<{
130
129
  documentType: FormControl<CbmDocumentTypeModel.ListResponse.Data | null>;
131
130
  documentNumber: FormControl<string | null>;
132
- category: FormControl<CbmClientGroupModel.ListAsTreeResponse.Category | null>;
131
+ category: FormControl<CbmClientCategoryModel.ListResponse.Data | null>;
133
132
  subjectClass: FormControl<CbmPersonTypeUAFEModel.ListResponse.Item | null>;
134
133
  businessName: FormControl<string | null>;
135
134
  tradename: FormControl<string | null>;
@@ -176,7 +175,7 @@ export declare class CbmAddClientComponent implements OnInit, AfterViewInit, OnD
176
175
  get documentTypeControl(): FormControl<CbmDocumentTypeModel.ListResponse.Data | null>;
177
176
  get subjectClassControl(): FormControl<CbmPersonTypeUAFEModel.ListResponse.Item | null>;
178
177
  get documentNumberControl(): FormControl<string | null>;
179
- get categoryControl(): FormControl<CbmClientGroupModel.ListAsTreeResponse.Category | null>;
178
+ get categoryControl(): FormControl<CbmClientCategoryModel.ListResponse.Data | null>;
180
179
  get businessNameControl(): FormControl<string | null>;
181
180
  get tradenameControl(): FormControl<string | null>;
182
181
  get addressControl(): FormControl<string | null>;
@@ -19,7 +19,6 @@ import { GeneralDomainService } from '../../domain/services/general.domain.servi
19
19
  import { CbmNotificationService } from '../../remotes/services.remote';
20
20
  import { TContactRow, TSaveOptions } from '../add-client/add-client';
21
21
  import { ConfirmationModal } from '../confirmation-modal/confirmation-modal';
22
- import { CbmTreeSelect } from '../tree-select/types';
23
22
  import { TStatus } from './types';
24
23
  import { CbmModalConfirmComponent } from '../modal-confirm/modal-confirm';
25
24
  import { AccountValidatorsDomainService } from '../../domain/services/account-validators.domain.service';
@@ -63,7 +62,7 @@ export declare class CbmAddProviderComponent implements OnInit, OnDestroy {
63
62
  update: import("@angular/core").OutputEmitterRef<any>;
64
63
  showIn: import("@angular/core").OutputEmitterRef<string>;
65
64
  documentTypes: import("@angular/core").WritableSignal<CbmDocumentTypeModel.ListResponse.Data[]>;
66
- categories: import("@angular/core").WritableSignal<CbmTreeSelect.Children<any>>;
65
+ categories: import("@angular/core").WritableSignal<CbmProviderGroupModel.ListAsTreeResponse.Category[]>;
67
66
  countryCodes: import("@angular/core").WritableSignal<CbmCountryCodeModel.ListResponse.Data[]>;
68
67
  providerToUpdate: import("@angular/core").WritableSignal<CbmProviderModel.GetOneResponse.Data | null>;
69
68
  isEmailInputFocused: import("@angular/core").WritableSignal<boolean>;
@@ -212,6 +211,7 @@ export declare class CbmAddProviderComponent implements OnInit, OnDestroy {
212
211
  fetchDataByCedula(): void;
213
212
  fetchDataByRuc(): void;
214
213
  fetchCountryCodes(): void;
214
+ private flattenCategories;
215
215
  fetchCategories(searchTerm?: string): void;
216
216
  addEmail(): void;
217
217
  onEmailKeyDown(event: KeyboardEvent): void;
@@ -149,6 +149,17 @@ export declare namespace CbmProviderModel {
149
149
  is_related_party?: boolean;
150
150
  subject_class_code?: string;
151
151
  subject_class_description?: string;
152
+ province_id?: string;
153
+ province_code?: string;
154
+ province_name?: string;
155
+ canton_id?: string;
156
+ canton_code?: string;
157
+ canton_name?: string;
158
+ parish_id?: string;
159
+ parish_code?: string;
160
+ parish_name?: string;
161
+ latitude?: number;
162
+ longitude?: number;
152
163
  }
153
164
  export namespace Data {
154
165
  interface ProviderContact {
@@ -540,9 +540,38 @@ export declare namespace CbmSalesAccountModel {
540
540
  }
541
541
  interface UpdatePriceBody {
542
542
  sales_account_detail: Detail[];
543
+ delete_sales_account_detail_ids?: string[];
543
544
  }
544
545
  interface Detail {
545
- _id: string;
546
+ _id?: string;
547
+ item_id?: string;
548
+ item_code?: string;
549
+ item_barcode?: string;
550
+ item_name?: string;
551
+ item_balance?: number;
552
+ item_balance_referal_guide?: number;
553
+ category_id?: string;
554
+ category_name?: string;
555
+ price_list_id?: string;
556
+ price_list_name?: string;
557
+ cost_center_id?: string;
558
+ cost_center_code?: string;
559
+ cost_center_name?: string;
560
+ cost_center_father_code?: string;
561
+ cost_center_father_name?: string;
562
+ tax_iva_id?: string;
563
+ tax_iva_code?: string;
564
+ tax_iva_rate?: number;
565
+ tax_irbpn_id?: string;
566
+ tax_ice_id?: string;
567
+ unit_measure_id?: string;
568
+ unit_measure_group_id?: string;
569
+ unit_measure_type?: string;
570
+ unit_measure_abbreviation?: string;
571
+ unit_measure_group_abbreviation?: string;
572
+ unit_measure_name?: string;
573
+ unit_measure_group_name?: string;
574
+ unit_measure_quantity?: number;
546
575
  price_type_id: string;
547
576
  price_type: string;
548
577
  price_type_description: string;
@@ -5,6 +5,7 @@ interface scheduleModel {
5
5
  day_code: number;
6
6
  day_name: string;
7
7
  enabled: boolean;
8
+ user_id?: string;
8
9
  }
9
10
  export declare class LocalStorageControlService {
10
11
  set setTheme(theme: 'dark' | 'light' | 'auto');
@@ -18,6 +18,9 @@ export declare class RefreshSchedulesDomainService {
18
18
  constructor(router: Router, userCalendarRepository: UserCalendarDomainRepository, localStorageControlService: LocalStorageControlService, authReactiveService: CbmAuthReactiveService, notificationService: CbmNotificationService);
19
19
  running$: BehaviorSubject<boolean>;
20
20
  onAccessStatusChange: (result: AccessControlResult) => void;
21
+ private loadingSchedule;
22
+ private refreshedForDay;
23
+ private currentSchedule;
21
24
  getSchedule(): void;
22
25
  verifySchedule(): void;
23
26
  isNowInTimeRange(startTime: string, endTime: string): boolean;
@@ -123,4 +123,24 @@ export declare namespace CbmAiWebSocketModel {
123
123
  type: 'upsert';
124
124
  run: FlowRunView;
125
125
  }
126
+ /** Acuse de `whatsapp-inbox:watch` (la bandeja de WhatsApp de la empresa de la sesión). */
127
+ type WhatsappInboxWatchAck = {
128
+ ok: true;
129
+ } | {
130
+ ok: false;
131
+ error: 'forbidden' | 'unavailable' | string;
132
+ };
133
+ /**
134
+ * `whatsapp-inbox:event`: algo cambió en la bandeja de WhatsApp. Solo avisa QUÉ cambió; los datos se vuelven a pedir por REST.
135
+ * - `handoff`: se creó, se tomó o se cerró una derivación (cambia la lista).
136
+ * - `message`: entró o salió un mensaje del contacto `phoneNumberId`/`waId` (cambia su conversación).
137
+ * - `contact`: la empresa cambió el contacto (etapa del embudo, nombre, notas).
138
+ */
139
+ interface WhatsappInboxEvent {
140
+ type: 'handoff' | 'message' | 'contact';
141
+ handoffId?: string;
142
+ phoneNumberId?: string;
143
+ waId?: string;
144
+ at: number;
145
+ }
126
146
  }
@@ -54,6 +54,16 @@ export declare class CbmAiWebSocketService {
54
54
  * de baja: una corrida terminada llega con un último upsert (`finishedAt`) y quien consume decide cuánto tiempo la muestra.
55
55
  */
56
56
  onFlowRunsEvent(): Observable<CbmAiWebSocketModel.FlowRunsEvent>;
57
+ /**
58
+ * Se une a la sala de la Bandeja de WhatsApp de la empresa de la sesión. Los avisos no tienen orden ni se repiten: al reconectar el socket hay
59
+ * que volver a llamar a este método y volver a pedir la lista. Rechaza con `name === CBM_AI_SOCKET_DISCONNECTED` si el socket no está
60
+ * conectado o se corta mientras espera.
61
+ */
62
+ watchWhatsappInbox(): Promise<CbmAiWebSocketModel.WhatsappInboxWatchAck>;
63
+ /** Deja de recibir los avisos de la Bandeja de WhatsApp. */
64
+ unwatchWhatsappInbox(): void;
65
+ /** Avisos en vivo de la Bandeja de WhatsApp (`whatsapp-inbox:event`): qué cambió, para volver a pedir esos datos. */
66
+ onWhatsappInboxEvent(): Observable<CbmAiWebSocketModel.WhatsappInboxEvent>;
57
67
  private request;
58
68
  private rejectPending;
59
69
  private disconnectedError;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cbm-common/cbm-types",
3
- "version": "0.0.353",
3
+ "version": "0.0.355",
4
4
  "main": "index.js",
5
5
  "types": "public-api.d.ts",
6
6
  "exports": {