@blackcode_sa/metaestetics-api 1.5.6 → 1.5.8
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.
- package/dist/backoffice/index.js +2 -6
- package/dist/backoffice/index.mjs +2 -6
- package/dist/index.d.mts +398 -4
- package/dist/index.d.ts +398 -4
- package/dist/index.js +853 -91
- package/dist/index.mjs +896 -91
- package/package.json +1 -1
- package/src/index.ts +79 -59
- package/src/types/index.ts +0 -3
package/dist/backoffice/index.js
CHANGED
|
@@ -207,6 +207,7 @@ var TreatmentBenefit = /* @__PURE__ */ ((TreatmentBenefit2) => {
|
|
|
207
207
|
})(TreatmentBenefit || {});
|
|
208
208
|
|
|
209
209
|
// src/types/documentation-templates/index.ts
|
|
210
|
+
var DOCUMENTATION_TEMPLATES_COLLECTION = "documentation-templates";
|
|
210
211
|
var DocumentElementType = /* @__PURE__ */ ((DocumentElementType2) => {
|
|
211
212
|
DocumentElementType2["HEADING"] = "heading";
|
|
212
213
|
DocumentElementType2["PARAGRAPH"] = "paragraph";
|
|
@@ -1460,17 +1461,12 @@ var ProductService = class extends BaseService {
|
|
|
1460
1461
|
|
|
1461
1462
|
// src/services/documentation-templates/documentation-template.service.ts
|
|
1462
1463
|
var import_firestore7 = require("firebase/firestore");
|
|
1463
|
-
|
|
1464
|
-
// src/types/index.ts
|
|
1465
|
-
var DOCUMENTATION_TEMPLATES_COLLECTION2 = "documentation-templates";
|
|
1466
|
-
|
|
1467
|
-
// src/services/documentation-templates/documentation-template.service.ts
|
|
1468
1464
|
var DocumentationTemplateService = class extends BaseService {
|
|
1469
1465
|
constructor() {
|
|
1470
1466
|
super(...arguments);
|
|
1471
1467
|
this.collectionRef = (0, import_firestore7.collection)(
|
|
1472
1468
|
this.db,
|
|
1473
|
-
|
|
1469
|
+
DOCUMENTATION_TEMPLATES_COLLECTION
|
|
1474
1470
|
);
|
|
1475
1471
|
}
|
|
1476
1472
|
/**
|
|
@@ -115,6 +115,7 @@ var TreatmentBenefit = /* @__PURE__ */ ((TreatmentBenefit2) => {
|
|
|
115
115
|
})(TreatmentBenefit || {});
|
|
116
116
|
|
|
117
117
|
// src/types/documentation-templates/index.ts
|
|
118
|
+
var DOCUMENTATION_TEMPLATES_COLLECTION = "documentation-templates";
|
|
118
119
|
var DocumentElementType = /* @__PURE__ */ ((DocumentElementType2) => {
|
|
119
120
|
DocumentElementType2["HEADING"] = "heading";
|
|
120
121
|
DocumentElementType2["PARAGRAPH"] = "paragraph";
|
|
@@ -1438,17 +1439,12 @@ import {
|
|
|
1438
1439
|
limit,
|
|
1439
1440
|
startAfter
|
|
1440
1441
|
} from "firebase/firestore";
|
|
1441
|
-
|
|
1442
|
-
// src/types/index.ts
|
|
1443
|
-
var DOCUMENTATION_TEMPLATES_COLLECTION2 = "documentation-templates";
|
|
1444
|
-
|
|
1445
|
-
// src/services/documentation-templates/documentation-template.service.ts
|
|
1446
1442
|
var DocumentationTemplateService = class extends BaseService {
|
|
1447
1443
|
constructor() {
|
|
1448
1444
|
super(...arguments);
|
|
1449
1445
|
this.collectionRef = collection7(
|
|
1450
1446
|
this.db,
|
|
1451
|
-
|
|
1447
|
+
DOCUMENTATION_TEMPLATES_COLLECTION
|
|
1452
1448
|
);
|
|
1453
1449
|
}
|
|
1454
1450
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -26,6 +26,14 @@ declare const getFirebaseAuth: () => Promise<Auth>;
|
|
|
26
26
|
declare const getFirebaseDB: () => Promise<Firestore>;
|
|
27
27
|
declare const getFirebaseApp: () => Promise<FirebaseApp>;
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Types for the Medical Documentation Templating System
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Kolekcija u Firestore bazi gde se čuvaju dokumentacijske šablone
|
|
34
|
+
*/
|
|
35
|
+
declare const DOCUMENTATION_TEMPLATES_COLLECTION = "documentation-templates";
|
|
36
|
+
declare const FILLED_DOCUMENTS_COLLECTION = "filled-documents";
|
|
29
37
|
/**
|
|
30
38
|
* Enum for element types in documentation templates
|
|
31
39
|
*/
|
|
@@ -3431,6 +3439,395 @@ declare class BaseService {
|
|
|
3431
3439
|
protected generateId(): string;
|
|
3432
3440
|
}
|
|
3433
3441
|
|
|
3442
|
+
/**
|
|
3443
|
+
* Servis za upravljanje kategorijama procedura.
|
|
3444
|
+
* Kategorije su prvi nivo organizacije nakon procedure family (aesthetics/surgery).
|
|
3445
|
+
*
|
|
3446
|
+
* @example
|
|
3447
|
+
* const categoryService = new CategoryService();
|
|
3448
|
+
*
|
|
3449
|
+
* // Kreiranje nove kategorije
|
|
3450
|
+
* const category = await categoryService.create({
|
|
3451
|
+
* name: "Injectables",
|
|
3452
|
+
* family: ProcedureFamily.AESTHETICS
|
|
3453
|
+
* });
|
|
3454
|
+
*/
|
|
3455
|
+
declare class CategoryService extends BaseService {
|
|
3456
|
+
/**
|
|
3457
|
+
* Referenca na Firestore kolekciju kategorija
|
|
3458
|
+
*/
|
|
3459
|
+
private get categoriesRef();
|
|
3460
|
+
/**
|
|
3461
|
+
* Kreira novu kategoriju u sistemu
|
|
3462
|
+
* @param category - Podaci za novu kategoriju
|
|
3463
|
+
* @returns Kreirana kategorija sa generisanim ID-em
|
|
3464
|
+
*/
|
|
3465
|
+
create(category: Omit<Category, "id" | "createdAt" | "updatedAt">): Promise<{
|
|
3466
|
+
isActive: boolean;
|
|
3467
|
+
updatedAt: Date;
|
|
3468
|
+
name: string;
|
|
3469
|
+
description: string;
|
|
3470
|
+
createdAt: Date;
|
|
3471
|
+
family: ProcedureFamily;
|
|
3472
|
+
id: string;
|
|
3473
|
+
}>;
|
|
3474
|
+
/**
|
|
3475
|
+
* Vraća sve aktivne kategorije
|
|
3476
|
+
* @returns Lista aktivnih kategorija
|
|
3477
|
+
*/
|
|
3478
|
+
getAll(): Promise<Category[]>;
|
|
3479
|
+
/**
|
|
3480
|
+
* Vraća sve aktivne kategorije za određenu familiju procedura
|
|
3481
|
+
* @param family - Familija procedura (aesthetics/surgery)
|
|
3482
|
+
* @returns Lista kategorija koje pripadaju traženoj familiji
|
|
3483
|
+
*/
|
|
3484
|
+
getAllByFamily(family: ProcedureFamily): Promise<Category[]>;
|
|
3485
|
+
/**
|
|
3486
|
+
* Ažurira postojeću kategoriju
|
|
3487
|
+
* @param id - ID kategorije koja se ažurira
|
|
3488
|
+
* @param category - Novi podaci za kategoriju
|
|
3489
|
+
* @returns Ažurirana kategorija
|
|
3490
|
+
*/
|
|
3491
|
+
update(id: string, category: Partial<Omit<Category, "id" | "createdAt">>): Promise<Category | null>;
|
|
3492
|
+
/**
|
|
3493
|
+
* Soft delete kategorije (postavlja isActive na false)
|
|
3494
|
+
* @param id - ID kategorije koja se briše
|
|
3495
|
+
*/
|
|
3496
|
+
delete(id: string): Promise<void>;
|
|
3497
|
+
/**
|
|
3498
|
+
* Vraća kategoriju po ID-u
|
|
3499
|
+
* @param id - ID tražene kategorije
|
|
3500
|
+
* @returns Kategorija ili null ako ne postoji
|
|
3501
|
+
*/
|
|
3502
|
+
getById(id: string): Promise<Category | null>;
|
|
3503
|
+
}
|
|
3504
|
+
|
|
3505
|
+
/**
|
|
3506
|
+
* Servis za upravljanje podkategorijama procedura.
|
|
3507
|
+
* Podkategorije su drugi nivo organizacije i pripadaju određenoj kategoriji.
|
|
3508
|
+
*
|
|
3509
|
+
* @example
|
|
3510
|
+
* const subcategoryService = new SubcategoryService();
|
|
3511
|
+
*
|
|
3512
|
+
* // Kreiranje nove podkategorije
|
|
3513
|
+
* const subcategory = await subcategoryService.create(categoryId, {
|
|
3514
|
+
* name: "Anti-Wrinkle",
|
|
3515
|
+
* description: "Treatments targeting facial wrinkles"
|
|
3516
|
+
* });
|
|
3517
|
+
*/
|
|
3518
|
+
declare class SubcategoryService extends BaseService {
|
|
3519
|
+
/**
|
|
3520
|
+
* Vraća referencu na Firestore kolekciju podkategorija za određenu kategoriju
|
|
3521
|
+
* @param categoryId - ID roditeljske kategorije
|
|
3522
|
+
*/
|
|
3523
|
+
private getSubcategoriesRef;
|
|
3524
|
+
/**
|
|
3525
|
+
* Kreira novu podkategoriju u okviru kategorije
|
|
3526
|
+
* @param categoryId - ID kategorije kojoj će pripadati nova podkategorija
|
|
3527
|
+
* @param subcategory - Podaci za novu podkategoriju
|
|
3528
|
+
* @returns Kreirana podkategorija sa generisanim ID-em
|
|
3529
|
+
*/
|
|
3530
|
+
create(categoryId: string, subcategory: Omit<Subcategory, "id" | "createdAt" | "updatedAt">): Promise<{
|
|
3531
|
+
isActive: boolean;
|
|
3532
|
+
updatedAt: Date;
|
|
3533
|
+
name: string;
|
|
3534
|
+
description?: string | undefined;
|
|
3535
|
+
createdAt: Date;
|
|
3536
|
+
categoryId: string;
|
|
3537
|
+
id: string;
|
|
3538
|
+
}>;
|
|
3539
|
+
/**
|
|
3540
|
+
* Vraća sve aktivne podkategorije za određenu kategoriju
|
|
3541
|
+
* @param categoryId - ID kategorije čije podkategorije tražimo
|
|
3542
|
+
* @returns Lista aktivnih podkategorija
|
|
3543
|
+
*/
|
|
3544
|
+
getAllByCategoryId(categoryId: string): Promise<Subcategory[]>;
|
|
3545
|
+
/**
|
|
3546
|
+
* Ažurira postojeću podkategoriju
|
|
3547
|
+
* @param categoryId - ID kategorije kojoj pripada podkategorija
|
|
3548
|
+
* @param subcategoryId - ID podkategorije koja se ažurira
|
|
3549
|
+
* @param subcategory - Novi podaci za podkategoriju
|
|
3550
|
+
* @returns Ažurirana podkategorija
|
|
3551
|
+
*/
|
|
3552
|
+
update(categoryId: string, subcategoryId: string, subcategory: Partial<Omit<Subcategory, "id" | "createdAt" | "categoryId">>): Promise<Subcategory | null>;
|
|
3553
|
+
/**
|
|
3554
|
+
* Soft delete podkategorije (postavlja isActive na false)
|
|
3555
|
+
* @param categoryId - ID kategorije kojoj pripada podkategorija
|
|
3556
|
+
* @param subcategoryId - ID podkategorije koja se briše
|
|
3557
|
+
*/
|
|
3558
|
+
delete(categoryId: string, subcategoryId: string): Promise<void>;
|
|
3559
|
+
/**
|
|
3560
|
+
* Vraća podkategoriju po ID-u
|
|
3561
|
+
* @param categoryId - ID kategorije kojoj pripada podkategorija
|
|
3562
|
+
* @param subcategoryId - ID tražene podkategorije
|
|
3563
|
+
* @returns Podkategorija ili null ako ne postoji
|
|
3564
|
+
*/
|
|
3565
|
+
getById(categoryId: string, subcategoryId: string): Promise<Subcategory | null>;
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
/**
|
|
3569
|
+
* Servis za upravljanje tehnologijama i njihovim zahtevima.
|
|
3570
|
+
* Tehnologije su treći nivo organizacije i pripadaju određenoj podkategoriji.
|
|
3571
|
+
* Svaka tehnologija može imati svoje specifične zahteve pre i posle procedure.
|
|
3572
|
+
*
|
|
3573
|
+
* @example
|
|
3574
|
+
* const technologyService = new TechnologyService();
|
|
3575
|
+
*
|
|
3576
|
+
* // Kreiranje nove tehnologije
|
|
3577
|
+
* const technology = await technologyService.create(categoryId, subcategoryId, {
|
|
3578
|
+
* name: "Botulinum Toxin",
|
|
3579
|
+
* description: "Neurotoxin injections for wrinkle reduction"
|
|
3580
|
+
* });
|
|
3581
|
+
*
|
|
3582
|
+
* // Dodavanje zahteva
|
|
3583
|
+
* await technologyService.addRequirement(categoryId, subcategoryId, technology.id, {
|
|
3584
|
+
* type: "pre",
|
|
3585
|
+
* name: "Stay Hydrated",
|
|
3586
|
+
* description: "Drink plenty of water"
|
|
3587
|
+
* });
|
|
3588
|
+
*/
|
|
3589
|
+
declare class TechnologyService extends BaseService {
|
|
3590
|
+
/**
|
|
3591
|
+
* Vraća referencu na Firestore kolekciju tehnologija za određenu podkategoriju
|
|
3592
|
+
* @param categoryId - ID kategorije
|
|
3593
|
+
* @param subcategoryId - ID podkategorije
|
|
3594
|
+
*/
|
|
3595
|
+
private getTechnologiesRef;
|
|
3596
|
+
/**
|
|
3597
|
+
* Kreira novu tehnologiju u okviru podkategorije
|
|
3598
|
+
* @param categoryId - ID kategorije
|
|
3599
|
+
* @param subcategoryId - ID podkategorije
|
|
3600
|
+
* @param technology - Podaci za novu tehnologiju
|
|
3601
|
+
* @returns Kreirana tehnologija sa generisanim ID-em
|
|
3602
|
+
*/
|
|
3603
|
+
create(categoryId: string, subcategoryId: string, technology: Omit<Technology, "id" | "createdAt" | "updatedAt">): Promise<{
|
|
3604
|
+
isActive: boolean;
|
|
3605
|
+
updatedAt: Date;
|
|
3606
|
+
blockingConditions: BlockingCondition[];
|
|
3607
|
+
contraindications: Contraindication[];
|
|
3608
|
+
name: string;
|
|
3609
|
+
description: string;
|
|
3610
|
+
createdAt: Date;
|
|
3611
|
+
technicalDetails?: string | undefined;
|
|
3612
|
+
subcategoryId: string;
|
|
3613
|
+
requirements: {
|
|
3614
|
+
pre: Requirement[];
|
|
3615
|
+
post: Requirement[];
|
|
3616
|
+
};
|
|
3617
|
+
documentationTemplates?: DocumentTemplate[] | undefined;
|
|
3618
|
+
benefits: TreatmentBenefit[];
|
|
3619
|
+
certificationRequirement: CertificationRequirement;
|
|
3620
|
+
id: string;
|
|
3621
|
+
}>;
|
|
3622
|
+
/**
|
|
3623
|
+
* Vraća sve aktivne tehnologije za određenu podkategoriju
|
|
3624
|
+
* @param categoryId - ID kategorije
|
|
3625
|
+
* @param subcategoryId - ID podkategorije
|
|
3626
|
+
* @returns Lista aktivnih tehnologija
|
|
3627
|
+
*/
|
|
3628
|
+
getAllBySubcategoryId(categoryId: string, subcategoryId: string): Promise<Technology[]>;
|
|
3629
|
+
/**
|
|
3630
|
+
* Ažurira postojeću tehnologiju
|
|
3631
|
+
* @param categoryId - ID kategorije
|
|
3632
|
+
* @param subcategoryId - ID podkategorije
|
|
3633
|
+
* @param technologyId - ID tehnologije
|
|
3634
|
+
* @param technology - Novi podaci za tehnologiju
|
|
3635
|
+
* @returns Ažurirana tehnologija
|
|
3636
|
+
*/
|
|
3637
|
+
update(categoryId: string, subcategoryId: string, technologyId: string, technology: Partial<Omit<Technology, "id" | "createdAt" | "subcategoryId">>): Promise<Technology | null>;
|
|
3638
|
+
/**
|
|
3639
|
+
* Soft delete tehnologije (postavlja isActive na false)
|
|
3640
|
+
* @param categoryId - ID kategorije
|
|
3641
|
+
* @param subcategoryId - ID podkategorije
|
|
3642
|
+
* @param technologyId - ID tehnologije koja se briše
|
|
3643
|
+
*/
|
|
3644
|
+
delete(categoryId: string, subcategoryId: string, technologyId: string): Promise<void>;
|
|
3645
|
+
/**
|
|
3646
|
+
* Vraća tehnologiju po ID-u
|
|
3647
|
+
* @param categoryId - ID kategorije
|
|
3648
|
+
* @param subcategoryId - ID podkategorije
|
|
3649
|
+
* @param technologyId - ID tražene tehnologije
|
|
3650
|
+
* @returns Tehnologija ili null ako ne postoji
|
|
3651
|
+
*/
|
|
3652
|
+
getById(categoryId: string, subcategoryId: string, technologyId: string): Promise<Technology | null>;
|
|
3653
|
+
/**
|
|
3654
|
+
* Dodaje novi zahtev tehnologiji
|
|
3655
|
+
* @param categoryId - ID kategorije
|
|
3656
|
+
* @param subcategoryId - ID podkategorije
|
|
3657
|
+
* @param technologyId - ID tehnologije
|
|
3658
|
+
* @param requirement - Zahtev koji se dodaje
|
|
3659
|
+
* @returns Ažurirana tehnologija sa novim zahtevom
|
|
3660
|
+
*/
|
|
3661
|
+
addRequirement(categoryId: string, subcategoryId: string, technologyId: string, requirement: Requirement): Promise<Technology | null>;
|
|
3662
|
+
/**
|
|
3663
|
+
* Uklanja zahtev iz tehnologije
|
|
3664
|
+
* @param categoryId - ID kategorije
|
|
3665
|
+
* @param subcategoryId - ID podkategorije
|
|
3666
|
+
* @param technologyId - ID tehnologije
|
|
3667
|
+
* @param requirement - Zahtev koji se uklanja
|
|
3668
|
+
* @returns Ažurirana tehnologija bez uklonjenog zahteva
|
|
3669
|
+
*/
|
|
3670
|
+
removeRequirement(categoryId: string, subcategoryId: string, technologyId: string, requirement: Requirement): Promise<Technology | null>;
|
|
3671
|
+
/**
|
|
3672
|
+
* Vraća sve zahteve za tehnologiju
|
|
3673
|
+
* @param categoryId - ID kategorije
|
|
3674
|
+
* @param subcategoryId - ID podkategorije
|
|
3675
|
+
* @param technologyId - ID tehnologije
|
|
3676
|
+
* @param type - Opcioni filter za tip zahteva (pre/post)
|
|
3677
|
+
* @returns Lista zahteva
|
|
3678
|
+
*/
|
|
3679
|
+
getRequirements(categoryId: string, subcategoryId: string, technologyId: string, type?: RequirementType): Promise<Requirement[]>;
|
|
3680
|
+
/**
|
|
3681
|
+
* Ažurira postojeći zahtev
|
|
3682
|
+
* @param categoryId - ID kategorije
|
|
3683
|
+
* @param subcategoryId - ID podkategorije
|
|
3684
|
+
* @param technologyId - ID tehnologije
|
|
3685
|
+
* @param oldRequirement - Stari zahtev koji se menja
|
|
3686
|
+
* @param newRequirement - Novi zahtev koji zamenjuje stari
|
|
3687
|
+
* @returns Ažurirana tehnologija
|
|
3688
|
+
*/
|
|
3689
|
+
updateRequirement(categoryId: string, subcategoryId: string, technologyId: string, oldRequirement: Requirement, newRequirement: Requirement): Promise<Technology | null>;
|
|
3690
|
+
/**
|
|
3691
|
+
* Dodaje blokirajući uslov tehnologiji
|
|
3692
|
+
* @param categoryId - ID kategorije
|
|
3693
|
+
* @param subcategoryId - ID podkategorije
|
|
3694
|
+
* @param technologyId - ID tehnologije
|
|
3695
|
+
* @param condition - Blokirajući uslov koji se dodaje
|
|
3696
|
+
* @returns Ažurirana tehnologija
|
|
3697
|
+
*/
|
|
3698
|
+
addBlockingCondition(categoryId: string, subcategoryId: string, technologyId: string, condition: BlockingCondition): Promise<Technology | null>;
|
|
3699
|
+
/**
|
|
3700
|
+
* Uklanja blokirajući uslov iz tehnologije
|
|
3701
|
+
* @param categoryId - ID kategorije
|
|
3702
|
+
* @param subcategoryId - ID podkategorije
|
|
3703
|
+
* @param technologyId - ID tehnologije
|
|
3704
|
+
* @param condition - Blokirajući uslov koji se uklanja
|
|
3705
|
+
* @returns Ažurirana tehnologija
|
|
3706
|
+
*/
|
|
3707
|
+
removeBlockingCondition(categoryId: string, subcategoryId: string, technologyId: string, condition: BlockingCondition): Promise<Technology | null>;
|
|
3708
|
+
/**
|
|
3709
|
+
* Dodaje kontraindikaciju tehnologiji
|
|
3710
|
+
* @param categoryId - ID kategorije
|
|
3711
|
+
* @param subcategoryId - ID podkategorije
|
|
3712
|
+
* @param technologyId - ID tehnologije
|
|
3713
|
+
* @param contraindication - Kontraindikacija koja se dodaje
|
|
3714
|
+
* @returns Ažurirana tehnologija
|
|
3715
|
+
*/
|
|
3716
|
+
addContraindication(categoryId: string, subcategoryId: string, technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
|
|
3717
|
+
/**
|
|
3718
|
+
* Uklanja kontraindikaciju iz tehnologije
|
|
3719
|
+
* @param categoryId - ID kategorije
|
|
3720
|
+
* @param subcategoryId - ID podkategorije
|
|
3721
|
+
* @param technologyId - ID tehnologije
|
|
3722
|
+
* @param contraindication - Kontraindikacija koja se uklanja
|
|
3723
|
+
* @returns Ažurirana tehnologija
|
|
3724
|
+
*/
|
|
3725
|
+
removeContraindication(categoryId: string, subcategoryId: string, technologyId: string, contraindication: Contraindication): Promise<Technology | null>;
|
|
3726
|
+
/**
|
|
3727
|
+
* Dodaje benefit tehnologiji
|
|
3728
|
+
* @param categoryId - ID kategorije
|
|
3729
|
+
* @param subcategoryId - ID podkategorije
|
|
3730
|
+
* @param technologyId - ID tehnologije
|
|
3731
|
+
* @param benefit - Benefit koji se dodaje
|
|
3732
|
+
* @returns Ažurirana tehnologija
|
|
3733
|
+
*/
|
|
3734
|
+
addBenefit(categoryId: string, subcategoryId: string, technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
|
|
3735
|
+
/**
|
|
3736
|
+
* Uklanja benefit iz tehnologije
|
|
3737
|
+
* @param categoryId - ID kategorije
|
|
3738
|
+
* @param subcategoryId - ID podkategorije
|
|
3739
|
+
* @param technologyId - ID tehnologije
|
|
3740
|
+
* @param benefit - Benefit koji se uklanja
|
|
3741
|
+
* @returns Ažurirana tehnologija
|
|
3742
|
+
*/
|
|
3743
|
+
removeBenefit(categoryId: string, subcategoryId: string, technologyId: string, benefit: TreatmentBenefit): Promise<Technology | null>;
|
|
3744
|
+
/**
|
|
3745
|
+
* Vraća sve blokirajuće uslove za tehnologiju
|
|
3746
|
+
* @param categoryId - ID kategorije
|
|
3747
|
+
* @param subcategoryId - ID podkategorije
|
|
3748
|
+
* @param technologyId - ID tehnologije
|
|
3749
|
+
* @returns Lista blokirajućih uslova
|
|
3750
|
+
*/
|
|
3751
|
+
getBlockingConditions(categoryId: string, subcategoryId: string, technologyId: string): Promise<BlockingCondition[]>;
|
|
3752
|
+
/**
|
|
3753
|
+
* Vraća sve kontraindikacije za tehnologiju
|
|
3754
|
+
* @param categoryId - ID kategorije
|
|
3755
|
+
* @param subcategoryId - ID podkategorije
|
|
3756
|
+
* @param technologyId - ID tehnologije
|
|
3757
|
+
* @returns Lista kontraindikacija
|
|
3758
|
+
*/
|
|
3759
|
+
getContraindications(categoryId: string, subcategoryId: string, technologyId: string): Promise<Contraindication[]>;
|
|
3760
|
+
/**
|
|
3761
|
+
* Vraća sve benefite za tehnologiju
|
|
3762
|
+
* @param categoryId - ID kategorije
|
|
3763
|
+
* @param subcategoryId - ID podkategorije
|
|
3764
|
+
* @param technologyId - ID tehnologije
|
|
3765
|
+
* @returns Lista benefita
|
|
3766
|
+
*/
|
|
3767
|
+
getBenefits(categoryId: string, subcategoryId: string, technologyId: string): Promise<TreatmentBenefit[]>;
|
|
3768
|
+
/**
|
|
3769
|
+
* Ažurira zahteve sertifikacije za tehnologiju
|
|
3770
|
+
* @param categoryId - ID kategorije
|
|
3771
|
+
* @param subcategoryId - ID podkategorije
|
|
3772
|
+
* @param technologyId - ID tehnologije
|
|
3773
|
+
* @param certificationRequirement - Novi zahtevi sertifikacije
|
|
3774
|
+
* @returns Ažurirana tehnologija
|
|
3775
|
+
*/
|
|
3776
|
+
updateCertificationRequirement(categoryId: string, subcategoryId: string, technologyId: string, certificationRequirement: CertificationRequirement): Promise<Technology | null>;
|
|
3777
|
+
/**
|
|
3778
|
+
* Vraća zahteve sertifikacije za tehnologiju
|
|
3779
|
+
* @param categoryId - ID kategorije
|
|
3780
|
+
* @param subcategoryId - ID podkategorije
|
|
3781
|
+
* @param technologyId - ID tehnologije
|
|
3782
|
+
* @returns Zahtevi sertifikacije ili null ako tehnologija ne postoji
|
|
3783
|
+
*/
|
|
3784
|
+
getCertificationRequirement(categoryId: string, subcategoryId: string, technologyId: string): Promise<CertificationRequirement | null>;
|
|
3785
|
+
}
|
|
3786
|
+
|
|
3787
|
+
declare class BrandService extends BaseService {
|
|
3788
|
+
private get brandsRef();
|
|
3789
|
+
create(brand: Omit<Brand, "id" | "createdAt" | "updatedAt">): Promise<{
|
|
3790
|
+
isActive: boolean;
|
|
3791
|
+
updatedAt: Date;
|
|
3792
|
+
name: string;
|
|
3793
|
+
description?: string | undefined;
|
|
3794
|
+
createdAt: Date;
|
|
3795
|
+
manufacturer: string;
|
|
3796
|
+
website?: string | undefined;
|
|
3797
|
+
id: string;
|
|
3798
|
+
}>;
|
|
3799
|
+
getAll(): Promise<Brand[]>;
|
|
3800
|
+
update(id: string, brand: Partial<Omit<Brand, "id" | "createdAt">>): Promise<Brand | null>;
|
|
3801
|
+
delete(id: string): Promise<void>;
|
|
3802
|
+
getById(id: string): Promise<Brand | null>;
|
|
3803
|
+
}
|
|
3804
|
+
|
|
3805
|
+
declare class ProductService extends BaseService {
|
|
3806
|
+
private getProductsRefByTechnology;
|
|
3807
|
+
private getProductsRefByBrand;
|
|
3808
|
+
create(categoryId: string, subcategoryId: string, technologyId: string, brandId: string, product: Omit<Product, "id" | "createdAt" | "updatedAt" | "brandId" | "technologyId">): Promise<{
|
|
3809
|
+
isActive: boolean;
|
|
3810
|
+
updatedAt: Date;
|
|
3811
|
+
contraindications?: string[] | undefined;
|
|
3812
|
+
name: string;
|
|
3813
|
+
dosage?: string | undefined;
|
|
3814
|
+
description?: string | undefined;
|
|
3815
|
+
createdAt: Date;
|
|
3816
|
+
technicalDetails?: string | undefined;
|
|
3817
|
+
brandId: string;
|
|
3818
|
+
technologyId: string;
|
|
3819
|
+
warnings?: string[] | undefined;
|
|
3820
|
+
composition?: string | undefined;
|
|
3821
|
+
indications?: string[] | undefined;
|
|
3822
|
+
id: string;
|
|
3823
|
+
}>;
|
|
3824
|
+
getAllByTechnology(categoryId: string, subcategoryId: string, technologyId: string): Promise<Product[]>;
|
|
3825
|
+
getAllByBrand(brandId: string): Promise<Product[]>;
|
|
3826
|
+
update(categoryId: string, subcategoryId: string, technologyId: string, productId: string, product: Partial<Omit<Product, "id" | "createdAt" | "brandId" | "technologyId">>): Promise<Product | null>;
|
|
3827
|
+
delete(categoryId: string, subcategoryId: string, technologyId: string, productId: string): Promise<void>;
|
|
3828
|
+
getById(categoryId: string, subcategoryId: string, technologyId: string, productId: string): Promise<Product | null>;
|
|
3829
|
+
}
|
|
3830
|
+
|
|
3434
3831
|
/**
|
|
3435
3832
|
* Enum for synced calendar provider
|
|
3436
3833
|
*/
|
|
@@ -3676,9 +4073,6 @@ interface CreateUserData {
|
|
|
3676
4073
|
}
|
|
3677
4074
|
type FirebaseUser = User$1;
|
|
3678
4075
|
|
|
3679
|
-
declare const DOCUMENTATION_TEMPLATES_COLLECTION = "documentation-templates";
|
|
3680
|
-
declare const FILLED_DOCUMENTS_COLLECTION = "filled-documents";
|
|
3681
|
-
|
|
3682
4076
|
declare class PatientService extends BaseService {
|
|
3683
4077
|
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
3684
4078
|
createPatientProfile(data: CreatePatientProfileData): Promise<PatientProfile>;
|
|
@@ -15261,4 +15655,4 @@ declare enum FirebaseErrorCode {
|
|
|
15261
15655
|
POPUP_ALREADY_OPEN = "auth/cancelled-popup-request"
|
|
15262
15656
|
}
|
|
15263
15657
|
|
|
15264
|
-
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, ProcedureService, type Product, REGISTER_TOKENS_COLLECTION, type Requirement, type ReviewInfo, SYNCED_CALENDARS_COLLECTION, type ServiceInfo, type Subcategory, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TimeSlot, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerSchema, createPractitionerTokenSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicProceduresSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, reviewInfoSchema, serviceInfoSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|
|
15658
|
+
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, type Requirement, type ReviewInfo, SYNCED_CALENDARS_COLLECTION, type ServiceInfo, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerSchema, createPractitionerTokenSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicProceduresSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, reviewInfoSchema, serviceInfoSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|