@noatgnu/cupcake-salted-caramel 1.2.1 → 1.2.3
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/README.md
CHANGED
|
@@ -1,63 +1,88 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cupcake Salted Caramel
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The `cupcake-salted-caramel` library provides services and models for handling billing, service tiers, and pricing within the Cupcake ecosystem.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Key Features
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- **Billing Management:** A comprehensive system for creating, tracking, and managing billing records.
|
|
8
|
+
- **Service Tiers:** Define different tiers of service with their own pricing rules and modifiers.
|
|
9
|
+
- **Flexible Pricing:** Manage prices for different services and billable items.
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
ng generate component component-name
|
|
11
|
-
```
|
|
11
|
+
## Installation
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
To install the `@noatgnu/cupcake-salted-caramel` library, run the following command:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
npm install @noatgnu/cupcake-salted-caramel
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
This library is an extension of `@noatgnu/cupcake-core` and depends on it. Make sure you have `@noatgnu/cupcake-core` installed and configured in your application.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
## Services
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
ng build cupcake-salted-caramel
|
|
25
|
-
```
|
|
23
|
+
### BillingRecordService
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
The `BillingRecordService` is the core of the billing system, responsible for managing billing records:
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
- **CRUD Operations:** Create, read, update, and delete billing records.
|
|
28
|
+
- **Status Tracking:** Track the status of billing records (e.g., pending, approved, paid, disputed).
|
|
29
|
+
- **Approval Workflow:** Approve billing records before they are processed.
|
|
30
|
+
- **Querying & Reporting:** Get billing summaries and filter records by status, user, cost center, and date range.
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
**Usage:**
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
cd dist/cupcake-salted-caramel
|
|
36
|
-
```
|
|
34
|
+
```typescript
|
|
35
|
+
import { BillingRecordService } from '@noatgnu/cupcake-salted-caramel';
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
@Component({ ... })
|
|
38
|
+
export class MyComponent {
|
|
39
|
+
constructor(private billingRecordService: BillingRecordService) {
|
|
40
|
+
// Get all billing records pending approval
|
|
41
|
+
this.billingRecordService.getPendingApproval().subscribe(response => {
|
|
42
|
+
// ...
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
42
47
|
|
|
43
|
-
|
|
48
|
+
### ServiceTierService
|
|
44
49
|
|
|
45
|
-
|
|
50
|
+
The `ServiceTierService` handles the management of service tiers:
|
|
46
51
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
- **CRUD Operations:** Create, read, update, and delete service tiers.
|
|
53
|
+
- **Price Calculation:** Calculate prices based on a service tier's modifiers (e.g., multipliers, discounts).
|
|
54
|
+
- **Querying:** Find service tiers by priority, active status, and other attributes.
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
**Usage:**
|
|
52
57
|
|
|
53
|
-
|
|
58
|
+
```typescript
|
|
59
|
+
import { ServiceTierService } from '@noatgnu/cupcake-salted-caramel';
|
|
54
60
|
|
|
55
|
-
|
|
56
|
-
|
|
61
|
+
@Component({ ... })
|
|
62
|
+
export class MyComponent {
|
|
63
|
+
constructor(private serviceTierService: ServiceTierService) {
|
|
64
|
+
// Get all active service tiers
|
|
65
|
+
this.serviceTierService.getActiveTiers().subscribe(tiers => {
|
|
66
|
+
// ...
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
57
70
|
```
|
|
58
71
|
|
|
59
|
-
|
|
72
|
+
### Other Services
|
|
73
|
+
|
|
74
|
+
This library also includes the following services:
|
|
75
|
+
|
|
76
|
+
- **`ServicePriceService`:** For managing the prices of different services.
|
|
77
|
+
- **`BillableItemTypeService`:** For defining the types of items that can be billed.
|
|
78
|
+
|
|
79
|
+
## Models
|
|
80
|
+
|
|
81
|
+
The `cupcake-salted-caramel` library provides a set of models for working with billing and service data. Key models include:
|
|
60
82
|
|
|
61
|
-
|
|
83
|
+
- `BillingRecord`
|
|
84
|
+
- `ServiceTier`
|
|
85
|
+
- `ServicePrice`
|
|
86
|
+
- `BillableItemType`
|
|
62
87
|
|
|
63
|
-
|
|
88
|
+
This library is essential for any Cupcake application that needs to implement a billing or service-based pricing system.
|
|
@@ -3,14 +3,14 @@ import { Component, Injectable } from '@angular/core';
|
|
|
3
3
|
import { BaseApiService } from '@noatgnu/cupcake-core';
|
|
4
4
|
|
|
5
5
|
class CupcakeSaltedCaramel {
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CupcakeSaltedCaramel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: CupcakeSaltedCaramel, isStandalone: true, selector: "ccsc-cupcake-salted-caramel", ngImport: i0, template: `
|
|
8
8
|
<p>
|
|
9
9
|
cupcake-salted-caramel works!
|
|
10
10
|
</p>
|
|
11
11
|
`, isInline: true, styles: [""] });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CupcakeSaltedCaramel, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'ccsc-cupcake-salted-caramel', imports: [], template: `
|
|
16
16
|
<p>
|
|
@@ -120,10 +120,10 @@ class ServiceTierService extends BaseApiService {
|
|
|
120
120
|
getServiceTiersByPriorityDesc() {
|
|
121
121
|
return this.getServiceTiers({ ordering: '-priority_level' });
|
|
122
122
|
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
124
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServiceTierService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServiceTierService, providedIn: 'root' });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServiceTierService, decorators: [{
|
|
127
127
|
type: Injectable,
|
|
128
128
|
args: [{
|
|
129
129
|
providedIn: 'root'
|
|
@@ -229,10 +229,10 @@ class BillableItemTypeService extends BaseApiService {
|
|
|
229
229
|
getFlatRateBillingItemTypes() {
|
|
230
230
|
return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.FLAT });
|
|
231
231
|
}
|
|
232
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
233
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
232
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillableItemTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
233
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillableItemTypeService, providedIn: 'root' });
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillableItemTypeService, decorators: [{
|
|
236
236
|
type: Injectable,
|
|
237
237
|
args: [{
|
|
238
238
|
providedIn: 'root'
|
|
@@ -349,10 +349,10 @@ class ServicePriceService extends BaseApiService {
|
|
|
349
349
|
getFlatRateServicePrices() {
|
|
350
350
|
return this.getServicePrices({ billingUnit: BillingUnit.FLAT });
|
|
351
351
|
}
|
|
352
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
353
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
353
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
|
|
354
354
|
}
|
|
355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: ServicePriceService, decorators: [{
|
|
356
356
|
type: Injectable,
|
|
357
357
|
args: [{
|
|
358
358
|
providedIn: 'root'
|
|
@@ -506,10 +506,10 @@ class BillingRecordService extends BaseApiService {
|
|
|
506
506
|
getBillingRecordsByDateRange(dateFrom, dateTo) {
|
|
507
507
|
return this.getBillingRecords({ dateFrom, dateTo });
|
|
508
508
|
}
|
|
509
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
510
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
509
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillingRecordService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
510
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillingRecordService, providedIn: 'root' });
|
|
511
511
|
}
|
|
512
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: BillingRecordService, decorators: [{
|
|
513
513
|
type: Injectable,
|
|
514
514
|
args: [{
|
|
515
515
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noatgnu-cupcake-salted-caramel.mjs","sources":["../../../projects/cupcake-salted-caramel/src/lib/cupcake-salted-caramel.ts","../../../projects/cupcake-salted-caramel/src/lib/models/enums.ts","../../../projects/cupcake-salted-caramel/src/lib/models/index.ts","../../../projects/cupcake-salted-caramel/src/lib/services/service-tier.ts","../../../projects/cupcake-salted-caramel/src/lib/services/billable-item-type.ts","../../../projects/cupcake-salted-caramel/src/lib/services/service-price.ts","../../../projects/cupcake-salted-caramel/src/lib/services/billing-record.ts","../../../projects/cupcake-salted-caramel/src/lib/services/index.ts","../../../projects/cupcake-salted-caramel/src/public-api.ts","../../../projects/cupcake-salted-caramel/src/noatgnu-cupcake-salted-caramel.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ccsc-cupcake-salted-caramel',\n imports: [],\n template: `\n <p>\n cupcake-salted-caramel works!\n </p>\n `,\n styles: ``\n})\nexport class CupcakeSaltedCaramel {\n\n}\n","export enum BillingUnit {\r\n HOURLY = 'hourly',\r\n DAILY = 'daily',\r\n USAGE = 'usage',\r\n SAMPLE = 'sample',\r\n FLAT = 'flat',\r\n CUSTOM = 'custom'\r\n}\r\n\r\nexport enum BillingStatus {\r\n PENDING = 'pending',\r\n APPROVED = 'approved',\r\n BILLED = 'billed',\r\n PAID = 'paid',\r\n DISPUTED = 'disputed',\r\n CANCELLED = 'cancelled'\r\n}","// Base types and enums\r\nexport * from './base';\r\nexport * from './enums';\r\n\r\n// Billing models\r\nexport * from './billing';","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiService } from '@noatgnu/cupcake-core';\r\n\r\nimport {\r\n ServiceTier,\r\n ServiceTierCreateRequest,\r\n ServiceTierUpdateRequest,\r\n PaginatedResponse\r\n} from '../models';\r\n\r\nexport interface ServiceTierQueryParams {\r\n search?: string;\r\n isActive?: boolean;\r\n priorityLevel?: number;\r\n limit?: number;\r\n offset?: number;\r\n ordering?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceTierService extends BaseApiService {\r\n\r\n /**\r\n * Get all service tiers with optional filtering\r\n */\r\n getServiceTiers(params?: ServiceTierQueryParams): Observable<PaginatedResponse<ServiceTier>> {\r\n const httpParams = this.buildHttpParams(params);\r\n return this.get<PaginatedResponse<ServiceTier>>(`${this.apiUrl}/service-tiers/`, { params: httpParams });\r\n }\r\n\r\n /**\r\n * Get a single service tier by ID\r\n */\r\n getServiceTier(id: number): Observable<ServiceTier> {\r\n return this.get<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`);\r\n }\r\n\r\n /**\r\n * Create a new service tier\r\n */\r\n createServiceTier(tier: ServiceTierCreateRequest): Observable<ServiceTier> {\r\n return this.post<ServiceTier>(`${this.apiUrl}/service-tiers/`, tier);\r\n }\r\n\r\n /**\r\n * Update an existing service tier\r\n */\r\n updateServiceTier(id: number, tier: ServiceTierUpdateRequest): Observable<ServiceTier> {\r\n return this.put<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`, tier);\r\n }\r\n\r\n /**\r\n * Partially update a service tier\r\n */\r\n patchServiceTier(id: number, tier: Partial<ServiceTierUpdateRequest>): Observable<ServiceTier> {\r\n return this.patch<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`, tier);\r\n }\r\n\r\n /**\r\n * Delete a service tier\r\n */\r\n deleteServiceTier(id: number): Observable<void> {\r\n return this.delete<void>(`${this.apiUrl}/service-tiers/${id}/`);\r\n }\r\n\r\n /**\r\n * Calculate price for a given base amount using tier's modifiers\r\n */\r\n calculatePrice(id: number, request: { baseAmount: number }): Observable<{ \r\n calculatedPrice: number; \r\n baseAmount: number; \r\n multiplier: number; \r\n discount: number \r\n }> {\r\n return this.post<{ \r\n calculatedPrice: number; \r\n baseAmount: number; \r\n multiplier: number; \r\n discount: number \r\n }>(`${this.apiUrl}/service-tiers/${id}/calculate_price/`, request);\r\n }\r\n\r\n /**\r\n * Get active service tiers (Django custom action)\r\n */\r\n getActiveTiers(): Observable<ServiceTier[]> {\r\n return this.get<ServiceTier[]>(`${this.apiUrl}/service-tiers/active_tiers/`);\r\n }\r\n\r\n /**\r\n * Search service tiers by name or description\r\n */\r\n searchServiceTiers(query: string): Observable<PaginatedResponse<ServiceTier>> {\r\n return this.getServiceTiers({ search: query });\r\n }\r\n\r\n /**\r\n * Get active service tiers only\r\n */\r\n getActiveServiceTiers(): Observable<PaginatedResponse<ServiceTier>> {\r\n return this.getServiceTiers({ isActive: true });\r\n }\r\n\r\n /**\r\n * Get inactive service tiers\r\n */\r\n getInactiveServiceTiers(): Observable<PaginatedResponse<ServiceTier>> {\r\n return this.getServiceTiers({ isActive: false });\r\n }\r\n\r\n /**\r\n * Get service tiers by priority level\r\n */\r\n getServiceTiersByPriority(priorityLevel: number): Observable<PaginatedResponse<ServiceTier>> {\r\n return this.getServiceTiers({ priorityLevel });\r\n }\r\n\r\n /**\r\n * Get service tiers ordered by priority (highest first)\r\n */\r\n getServiceTiersByPriorityDesc(): Observable<PaginatedResponse<ServiceTier>> {\r\n return this.getServiceTiers({ ordering: '-priority_level' });\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiService } from '@noatgnu/cupcake-core';\r\n\r\nimport {\r\n BillableItemType,\r\n BillableItemTypeCreateRequest,\r\n BillableItemTypeUpdateRequest,\r\n BillingUnit,\r\n PaginatedResponse\r\n} from '../models';\r\n\r\nexport interface BillableItemTypeQueryParams {\r\n search?: string;\r\n isActive?: boolean;\r\n requiresApproval?: boolean;\r\n defaultBillingUnit?: BillingUnit;\r\n limit?: number;\r\n offset?: number;\r\n ordering?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillableItemTypeService extends BaseApiService {\r\n\r\n /**\r\n * Get all billable item types with optional filtering\r\n */\r\n getBillableItemTypes(params?: BillableItemTypeQueryParams): Observable<PaginatedResponse<BillableItemType>> {\r\n const httpParams = this.buildHttpParams(params);\r\n return this.get<PaginatedResponse<BillableItemType>>(`${this.apiUrl}/billable-item-types/`, { params: httpParams });\r\n }\r\n\r\n /**\r\n * Get a single billable item type by ID\r\n */\r\n getBillableItemType(id: number): Observable<BillableItemType> {\r\n return this.get<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`);\r\n }\r\n\r\n /**\r\n * Create a new billable item type\r\n */\r\n createBillableItemType(itemType: BillableItemTypeCreateRequest): Observable<BillableItemType> {\r\n return this.post<BillableItemType>(`${this.apiUrl}/billable-item-types/`, itemType);\r\n }\r\n\r\n /**\r\n * Update an existing billable item type\r\n */\r\n updateBillableItemType(id: number, itemType: BillableItemTypeUpdateRequest): Observable<BillableItemType> {\r\n return this.put<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`, itemType);\r\n }\r\n\r\n /**\r\n * Partially update a billable item type\r\n */\r\n patchBillableItemType(id: number, itemType: Partial<BillableItemTypeUpdateRequest>): Observable<BillableItemType> {\r\n return this.patch<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`, itemType);\r\n }\r\n\r\n /**\r\n * Delete a billable item type\r\n */\r\n deleteBillableItemType(id: number): Observable<void> {\r\n return this.delete<void>(`${this.apiUrl}/billable-item-types/${id}/`);\r\n }\r\n\r\n /**\r\n * Get billable item types grouped by content type (Django custom action)\r\n */\r\n getByContentType(appLabel?: string, model?: string): Observable<PaginatedResponse<BillableItemType>> {\r\n const params = this.buildHttpParams({ appLabel, model });\r\n return this.get<PaginatedResponse<BillableItemType>>(`${this.apiUrl}/billable-item-types/by_content_type/`, { params });\r\n }\r\n\r\n /**\r\n * Search billable item types by name or description\r\n */\r\n searchBillableItemTypes(query: string): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ search: query });\r\n }\r\n\r\n /**\r\n * Get active billable item types only\r\n */\r\n getActiveBillableItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ isActive: true });\r\n }\r\n\r\n /**\r\n * Get inactive billable item types\r\n */\r\n getInactiveBillableItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ isActive: false });\r\n }\r\n\r\n /**\r\n * Get billable item types that require approval\r\n */\r\n getApprovalRequiredItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ requiresApproval: true });\r\n }\r\n\r\n /**\r\n * Get billable item types that don't require approval\r\n */\r\n getAutoApprovedItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ requiresApproval: false });\r\n }\r\n\r\n /**\r\n * Get billable item types by billing unit\r\n */\r\n getBillableItemTypesByUnit(billingUnit: BillingUnit): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ defaultBillingUnit: billingUnit });\r\n }\r\n\r\n /**\r\n * Get hourly billing item types\r\n */\r\n getHourlyBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.HOURLY });\r\n }\r\n\r\n /**\r\n * Get usage-based billing item types\r\n */\r\n getUsageBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.USAGE });\r\n }\r\n\r\n /**\r\n * Get flat rate billing item types\r\n */\r\n getFlatRateBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\r\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.FLAT });\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiService } from '@noatgnu/cupcake-core';\r\n\r\nimport {\r\n ServicePrice,\r\n ServicePriceCreateRequest,\r\n ServicePriceUpdateRequest,\r\n ServicePriceCalculationRequest,\r\n CostBreakdown,\r\n BillingUnit,\r\n PaginatedResponse\r\n} from '../models';\r\n\r\nexport interface ServicePriceQueryParams {\r\n search?: string;\r\n isActive?: boolean;\r\n billingUnit?: BillingUnit;\r\n currency?: string;\r\n billableItemType?: number;\r\n serviceTier?: number;\r\n limit?: number;\r\n offset?: number;\r\n ordering?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServicePriceService extends BaseApiService {\r\n\r\n /**\r\n * Get all service prices with optional filtering\r\n */\r\n getServicePrices(params?: ServicePriceQueryParams): Observable<PaginatedResponse<ServicePrice>> {\r\n const httpParams = this.buildHttpParams(params);\r\n return this.get<PaginatedResponse<ServicePrice>>(`${this.apiUrl}/service-prices/`, { params: httpParams });\r\n }\r\n\r\n /**\r\n * Get a single service price by ID\r\n */\r\n getServicePrice(id: number): Observable<ServicePrice> {\r\n return this.get<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`);\r\n }\r\n\r\n /**\r\n * Create a new service price\r\n */\r\n createServicePrice(price: ServicePriceCreateRequest): Observable<ServicePrice> {\r\n return this.post<ServicePrice>(`${this.apiUrl}/service-prices/`, price);\r\n }\r\n\r\n /**\r\n * Update an existing service price\r\n */\r\n updateServicePrice(id: number, price: ServicePriceUpdateRequest): Observable<ServicePrice> {\r\n return this.put<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`, price);\r\n }\r\n\r\n /**\r\n * Partially update a service price\r\n */\r\n patchServicePrice(id: number, price: Partial<ServicePriceUpdateRequest>): Observable<ServicePrice> {\r\n return this.patch<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`, price);\r\n }\r\n\r\n /**\r\n * Delete a service price\r\n */\r\n deleteServicePrice(id: number): Observable<void> {\r\n return this.delete<void>(`${this.apiUrl}/service-prices/${id}/`);\r\n }\r\n\r\n /**\r\n * Calculate total cost for a given quantity\r\n */\r\n calculateCost(id: number, request: ServicePriceCalculationRequest): Observable<CostBreakdown> {\r\n return this.post<CostBreakdown>(`${this.apiUrl}/service-prices/${id}/calculate_cost/`, request);\r\n }\r\n\r\n /**\r\n * Get current effective prices (Django custom action)\r\n */\r\n getCurrentPrices(): Observable<ServicePrice[]> {\r\n return this.get<ServicePrice[]>(`${this.apiUrl}/service-prices/current_prices/`);\r\n }\r\n\r\n /**\r\n * Search service prices by item or tier name\r\n */\r\n searchServicePrices(query: string): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ search: query });\r\n }\r\n\r\n /**\r\n * Get active service prices only\r\n */\r\n getActiveServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ isActive: true });\r\n }\r\n\r\n /**\r\n * Get inactive service prices\r\n */\r\n getInactiveServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ isActive: false });\r\n }\r\n\r\n /**\r\n * Get service prices by billing unit\r\n */\r\n getServicePricesByUnit(billingUnit: BillingUnit): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ billingUnit });\r\n }\r\n\r\n /**\r\n * Get service prices by currency\r\n */\r\n getServicePricesByCurrency(currency: string): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ currency });\r\n }\r\n\r\n /**\r\n * Get service prices for a specific billable item type\r\n */\r\n getServicePricesForItemType(itemTypeId: number): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ billableItemType: itemTypeId });\r\n }\r\n\r\n /**\r\n * Get service prices for a specific service tier\r\n */\r\n getServicePricesForTier(tierId: number): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ serviceTier: tierId });\r\n }\r\n\r\n /**\r\n * Get hourly service prices\r\n */\r\n getHourlyServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ billingUnit: BillingUnit.HOURLY });\r\n }\r\n\r\n /**\r\n * Get usage-based service prices\r\n */\r\n getUsageServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ billingUnit: BillingUnit.USAGE });\r\n }\r\n\r\n /**\r\n * Get flat rate service prices\r\n */\r\n getFlatRateServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\r\n return this.getServicePrices({ billingUnit: BillingUnit.FLAT });\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseApiService } from '@noatgnu/cupcake-core';\r\n\r\nimport {\r\n BillingRecord,\r\n BillingRecordCreateRequest,\r\n BillingRecordUpdateRequest,\r\n BillingRecordSummary,\r\n BillingApprovalRequest,\r\n BillingStatus,\r\n PaginatedResponse\r\n} from '../models';\r\n\r\nexport interface BillingRecordQueryParams {\r\n search?: string;\r\n status?: BillingStatus;\r\n currency?: string;\r\n costCenter?: string;\r\n user?: number;\r\n serviceTier?: number;\r\n dateFrom?: string;\r\n dateTo?: string;\r\n limit?: number;\r\n offset?: number;\r\n ordering?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BillingRecordService extends BaseApiService {\r\n\r\n /**\r\n * Get all billing records with optional filtering\r\n */\r\n getBillingRecords(params?: BillingRecordQueryParams): Observable<PaginatedResponse<BillingRecord>> {\r\n const httpParams = this.buildHttpParams(params);\r\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/`, { params: httpParams });\r\n }\r\n\r\n /**\r\n * Get a single billing record by ID\r\n */\r\n getBillingRecord(id: string): Observable<BillingRecord> {\r\n return this.get<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`);\r\n }\r\n\r\n /**\r\n * Create a new billing record\r\n */\r\n createBillingRecord(record: BillingRecordCreateRequest): Observable<BillingRecord> {\r\n return this.post<BillingRecord>(`${this.apiUrl}/billing-records/`, record);\r\n }\r\n\r\n /**\r\n * Update an existing billing record\r\n */\r\n updateBillingRecord(id: string, record: BillingRecordUpdateRequest): Observable<BillingRecord> {\r\n return this.put<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`, record);\r\n }\r\n\r\n /**\r\n * Partially update a billing record\r\n */\r\n patchBillingRecord(id: string, record: Partial<BillingRecordUpdateRequest>): Observable<BillingRecord> {\r\n return this.patch<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`, record);\r\n }\r\n\r\n /**\r\n * Delete a billing record\r\n */\r\n deleteBillingRecord(id: string): Observable<void> {\r\n return this.delete<void>(`${this.apiUrl}/billing-records/${id}/`);\r\n }\r\n\r\n /**\r\n * Approve a billing record\r\n */\r\n approveBillingRecord(id: string, request: BillingApprovalRequest): Observable<BillingRecord> {\r\n return this.post<BillingRecord>(`${this.apiUrl}/billing-records/${id}/approve/`, request);\r\n }\r\n\r\n\r\n /**\r\n * Get billing summary statistics (Django custom action)\r\n */\r\n getSummary(params?: { \r\n dateFrom?: string; \r\n dateTo?: string; \r\n currency?: string;\r\n costCenter?: string;\r\n serviceTier?: number;\r\n }): Observable<BillingRecordSummary> {\r\n const httpParams = this.buildHttpParams(params);\r\n return this.get<BillingRecordSummary>(`${this.apiUrl}/billing-records/summary/`, { params: httpParams });\r\n }\r\n\r\n /**\r\n * Get billing records pending approval (Django custom action)\r\n */\r\n getPendingApproval(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/pending_approval/`);\r\n }\r\n\r\n /**\r\n * Get billing records grouped by cost center (Django custom action)\r\n */\r\n getByCostCenter(): Observable<{ [key: string]: BillingRecord[] }> {\r\n return this.get<{ [key: string]: BillingRecord[] }>(`${this.apiUrl}/billing-records/by_cost_center/`);\r\n }\r\n\r\n /**\r\n * Get user billing records\r\n */\r\n getUserBillingRecords(userId: number): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ user: userId });\r\n }\r\n\r\n /**\r\n * Get my billing records (current user)\r\n */\r\n getMyBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/my_records/`);\r\n }\r\n\r\n /**\r\n * Search billing records by description, notes, or cost center\r\n */\r\n searchBillingRecords(query: string): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ search: query });\r\n }\r\n\r\n /**\r\n * Get pending billing records\r\n */\r\n getPendingBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.PENDING });\r\n }\r\n\r\n /**\r\n * Get approved billing records\r\n */\r\n getApprovedBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.APPROVED });\r\n }\r\n\r\n /**\r\n * Get billed billing records\r\n */\r\n getBilledBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.BILLED });\r\n }\r\n\r\n /**\r\n * Get paid billing records\r\n */\r\n getPaidBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.PAID });\r\n }\r\n\r\n /**\r\n * Get disputed billing records\r\n */\r\n getDisputedBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.DISPUTED });\r\n }\r\n\r\n /**\r\n * Get cancelled billing records\r\n */\r\n getCancelledBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status: BillingStatus.CANCELLED });\r\n }\r\n\r\n /**\r\n * Get billing records by status\r\n */\r\n getBillingRecordsByStatus(status: BillingStatus): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ status });\r\n }\r\n\r\n /**\r\n * Get billing records by currency\r\n */\r\n getBillingRecordsByCurrency(currency: string): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ currency });\r\n }\r\n\r\n /**\r\n * Get billing records by cost center\r\n */\r\n getBillingRecordsByCostCenter(costCenter: string): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ costCenter });\r\n }\r\n\r\n /**\r\n * Get billing records by service tier\r\n */\r\n getBillingRecordsByServiceTier(tierId: number): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ serviceTier: tierId });\r\n }\r\n\r\n /**\r\n * Get billing records for date range\r\n */\r\n getBillingRecordsByDateRange(dateFrom: string, dateTo: string): Observable<PaginatedResponse<BillingRecord>> {\r\n return this.getBillingRecords({ dateFrom, dateTo });\r\n }\r\n\r\n}","// Billing and financial management services\r\nexport * from './service-tier';\r\nexport * from './billable-item-type';\r\nexport * from './service-price';\r\nexport * from './billing-record';","/*\n * Public API Surface of cupcake-salted-caramel\n */\n\nexport * from './lib/cupcake-salted-caramel';\n\nexport * from './lib/models';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"noatgnu-cupcake-salted-caramel.mjs","sources":["../../../projects/cupcake-salted-caramel/src/lib/cupcake-salted-caramel.ts","../../../projects/cupcake-salted-caramel/src/lib/models/enums.ts","../../../projects/cupcake-salted-caramel/src/lib/models/index.ts","../../../projects/cupcake-salted-caramel/src/lib/services/service-tier.ts","../../../projects/cupcake-salted-caramel/src/lib/services/billable-item-type.ts","../../../projects/cupcake-salted-caramel/src/lib/services/service-price.ts","../../../projects/cupcake-salted-caramel/src/lib/services/billing-record.ts","../../../projects/cupcake-salted-caramel/src/lib/services/index.ts","../../../projects/cupcake-salted-caramel/src/public-api.ts","../../../projects/cupcake-salted-caramel/src/noatgnu-cupcake-salted-caramel.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ccsc-cupcake-salted-caramel',\n imports: [],\n template: `\n <p>\n cupcake-salted-caramel works!\n </p>\n `,\n styles: ``\n})\nexport class CupcakeSaltedCaramel {\n\n}\n","export enum BillingUnit {\n HOURLY = 'hourly',\n DAILY = 'daily',\n USAGE = 'usage',\n SAMPLE = 'sample',\n FLAT = 'flat',\n CUSTOM = 'custom'\n}\n\nexport enum BillingStatus {\n PENDING = 'pending',\n APPROVED = 'approved',\n BILLED = 'billed',\n PAID = 'paid',\n DISPUTED = 'disputed',\n CANCELLED = 'cancelled'\n}","// Base types and enums\nexport * from './base';\nexport * from './enums';\n\n// Billing models\nexport * from './billing';","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '@noatgnu/cupcake-core';\n\nimport {\n ServiceTier,\n ServiceTierCreateRequest,\n ServiceTierUpdateRequest,\n PaginatedResponse\n} from '../models';\n\nexport interface ServiceTierQueryParams {\n search?: string;\n isActive?: boolean;\n priorityLevel?: number;\n limit?: number;\n offset?: number;\n ordering?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServiceTierService extends BaseApiService {\n\n /**\n * Get all service tiers with optional filtering\n */\n getServiceTiers(params?: ServiceTierQueryParams): Observable<PaginatedResponse<ServiceTier>> {\n const httpParams = this.buildHttpParams(params);\n return this.get<PaginatedResponse<ServiceTier>>(`${this.apiUrl}/service-tiers/`, { params: httpParams });\n }\n\n /**\n * Get a single service tier by ID\n */\n getServiceTier(id: number): Observable<ServiceTier> {\n return this.get<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`);\n }\n\n /**\n * Create a new service tier\n */\n createServiceTier(tier: ServiceTierCreateRequest): Observable<ServiceTier> {\n return this.post<ServiceTier>(`${this.apiUrl}/service-tiers/`, tier);\n }\n\n /**\n * Update an existing service tier\n */\n updateServiceTier(id: number, tier: ServiceTierUpdateRequest): Observable<ServiceTier> {\n return this.put<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`, tier);\n }\n\n /**\n * Partially update a service tier\n */\n patchServiceTier(id: number, tier: Partial<ServiceTierUpdateRequest>): Observable<ServiceTier> {\n return this.patch<ServiceTier>(`${this.apiUrl}/service-tiers/${id}/`, tier);\n }\n\n /**\n * Delete a service tier\n */\n deleteServiceTier(id: number): Observable<void> {\n return this.delete<void>(`${this.apiUrl}/service-tiers/${id}/`);\n }\n\n /**\n * Calculate price for a given base amount using tier's modifiers\n */\n calculatePrice(id: number, request: { baseAmount: number }): Observable<{ \n calculatedPrice: number; \n baseAmount: number; \n multiplier: number; \n discount: number \n }> {\n return this.post<{ \n calculatedPrice: number; \n baseAmount: number; \n multiplier: number; \n discount: number \n }>(`${this.apiUrl}/service-tiers/${id}/calculate_price/`, request);\n }\n\n /**\n * Get active service tiers (Django custom action)\n */\n getActiveTiers(): Observable<ServiceTier[]> {\n return this.get<ServiceTier[]>(`${this.apiUrl}/service-tiers/active_tiers/`);\n }\n\n /**\n * Search service tiers by name or description\n */\n searchServiceTiers(query: string): Observable<PaginatedResponse<ServiceTier>> {\n return this.getServiceTiers({ search: query });\n }\n\n /**\n * Get active service tiers only\n */\n getActiveServiceTiers(): Observable<PaginatedResponse<ServiceTier>> {\n return this.getServiceTiers({ isActive: true });\n }\n\n /**\n * Get inactive service tiers\n */\n getInactiveServiceTiers(): Observable<PaginatedResponse<ServiceTier>> {\n return this.getServiceTiers({ isActive: false });\n }\n\n /**\n * Get service tiers by priority level\n */\n getServiceTiersByPriority(priorityLevel: number): Observable<PaginatedResponse<ServiceTier>> {\n return this.getServiceTiers({ priorityLevel });\n }\n\n /**\n * Get service tiers ordered by priority (highest first)\n */\n getServiceTiersByPriorityDesc(): Observable<PaginatedResponse<ServiceTier>> {\n return this.getServiceTiers({ ordering: '-priority_level' });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '@noatgnu/cupcake-core';\n\nimport {\n BillableItemType,\n BillableItemTypeCreateRequest,\n BillableItemTypeUpdateRequest,\n BillingUnit,\n PaginatedResponse\n} from '../models';\n\nexport interface BillableItemTypeQueryParams {\n search?: string;\n isActive?: boolean;\n requiresApproval?: boolean;\n defaultBillingUnit?: BillingUnit;\n limit?: number;\n offset?: number;\n ordering?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BillableItemTypeService extends BaseApiService {\n\n /**\n * Get all billable item types with optional filtering\n */\n getBillableItemTypes(params?: BillableItemTypeQueryParams): Observable<PaginatedResponse<BillableItemType>> {\n const httpParams = this.buildHttpParams(params);\n return this.get<PaginatedResponse<BillableItemType>>(`${this.apiUrl}/billable-item-types/`, { params: httpParams });\n }\n\n /**\n * Get a single billable item type by ID\n */\n getBillableItemType(id: number): Observable<BillableItemType> {\n return this.get<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`);\n }\n\n /**\n * Create a new billable item type\n */\n createBillableItemType(itemType: BillableItemTypeCreateRequest): Observable<BillableItemType> {\n return this.post<BillableItemType>(`${this.apiUrl}/billable-item-types/`, itemType);\n }\n\n /**\n * Update an existing billable item type\n */\n updateBillableItemType(id: number, itemType: BillableItemTypeUpdateRequest): Observable<BillableItemType> {\n return this.put<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`, itemType);\n }\n\n /**\n * Partially update a billable item type\n */\n patchBillableItemType(id: number, itemType: Partial<BillableItemTypeUpdateRequest>): Observable<BillableItemType> {\n return this.patch<BillableItemType>(`${this.apiUrl}/billable-item-types/${id}/`, itemType);\n }\n\n /**\n * Delete a billable item type\n */\n deleteBillableItemType(id: number): Observable<void> {\n return this.delete<void>(`${this.apiUrl}/billable-item-types/${id}/`);\n }\n\n /**\n * Get billable item types grouped by content type (Django custom action)\n */\n getByContentType(appLabel?: string, model?: string): Observable<PaginatedResponse<BillableItemType>> {\n const params = this.buildHttpParams({ appLabel, model });\n return this.get<PaginatedResponse<BillableItemType>>(`${this.apiUrl}/billable-item-types/by_content_type/`, { params });\n }\n\n /**\n * Search billable item types by name or description\n */\n searchBillableItemTypes(query: string): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ search: query });\n }\n\n /**\n * Get active billable item types only\n */\n getActiveBillableItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ isActive: true });\n }\n\n /**\n * Get inactive billable item types\n */\n getInactiveBillableItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ isActive: false });\n }\n\n /**\n * Get billable item types that require approval\n */\n getApprovalRequiredItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ requiresApproval: true });\n }\n\n /**\n * Get billable item types that don't require approval\n */\n getAutoApprovedItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ requiresApproval: false });\n }\n\n /**\n * Get billable item types by billing unit\n */\n getBillableItemTypesByUnit(billingUnit: BillingUnit): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ defaultBillingUnit: billingUnit });\n }\n\n /**\n * Get hourly billing item types\n */\n getHourlyBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.HOURLY });\n }\n\n /**\n * Get usage-based billing item types\n */\n getUsageBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.USAGE });\n }\n\n /**\n * Get flat rate billing item types\n */\n getFlatRateBillingItemTypes(): Observable<PaginatedResponse<BillableItemType>> {\n return this.getBillableItemTypes({ defaultBillingUnit: BillingUnit.FLAT });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '@noatgnu/cupcake-core';\n\nimport {\n ServicePrice,\n ServicePriceCreateRequest,\n ServicePriceUpdateRequest,\n ServicePriceCalculationRequest,\n CostBreakdown,\n BillingUnit,\n PaginatedResponse\n} from '../models';\n\nexport interface ServicePriceQueryParams {\n search?: string;\n isActive?: boolean;\n billingUnit?: BillingUnit;\n currency?: string;\n billableItemType?: number;\n serviceTier?: number;\n limit?: number;\n offset?: number;\n ordering?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServicePriceService extends BaseApiService {\n\n /**\n * Get all service prices with optional filtering\n */\n getServicePrices(params?: ServicePriceQueryParams): Observable<PaginatedResponse<ServicePrice>> {\n const httpParams = this.buildHttpParams(params);\n return this.get<PaginatedResponse<ServicePrice>>(`${this.apiUrl}/service-prices/`, { params: httpParams });\n }\n\n /**\n * Get a single service price by ID\n */\n getServicePrice(id: number): Observable<ServicePrice> {\n return this.get<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`);\n }\n\n /**\n * Create a new service price\n */\n createServicePrice(price: ServicePriceCreateRequest): Observable<ServicePrice> {\n return this.post<ServicePrice>(`${this.apiUrl}/service-prices/`, price);\n }\n\n /**\n * Update an existing service price\n */\n updateServicePrice(id: number, price: ServicePriceUpdateRequest): Observable<ServicePrice> {\n return this.put<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`, price);\n }\n\n /**\n * Partially update a service price\n */\n patchServicePrice(id: number, price: Partial<ServicePriceUpdateRequest>): Observable<ServicePrice> {\n return this.patch<ServicePrice>(`${this.apiUrl}/service-prices/${id}/`, price);\n }\n\n /**\n * Delete a service price\n */\n deleteServicePrice(id: number): Observable<void> {\n return this.delete<void>(`${this.apiUrl}/service-prices/${id}/`);\n }\n\n /**\n * Calculate total cost for a given quantity\n */\n calculateCost(id: number, request: ServicePriceCalculationRequest): Observable<CostBreakdown> {\n return this.post<CostBreakdown>(`${this.apiUrl}/service-prices/${id}/calculate_cost/`, request);\n }\n\n /**\n * Get current effective prices (Django custom action)\n */\n getCurrentPrices(): Observable<ServicePrice[]> {\n return this.get<ServicePrice[]>(`${this.apiUrl}/service-prices/current_prices/`);\n }\n\n /**\n * Search service prices by item or tier name\n */\n searchServicePrices(query: string): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ search: query });\n }\n\n /**\n * Get active service prices only\n */\n getActiveServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ isActive: true });\n }\n\n /**\n * Get inactive service prices\n */\n getInactiveServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ isActive: false });\n }\n\n /**\n * Get service prices by billing unit\n */\n getServicePricesByUnit(billingUnit: BillingUnit): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ billingUnit });\n }\n\n /**\n * Get service prices by currency\n */\n getServicePricesByCurrency(currency: string): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ currency });\n }\n\n /**\n * Get service prices for a specific billable item type\n */\n getServicePricesForItemType(itemTypeId: number): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ billableItemType: itemTypeId });\n }\n\n /**\n * Get service prices for a specific service tier\n */\n getServicePricesForTier(tierId: number): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ serviceTier: tierId });\n }\n\n /**\n * Get hourly service prices\n */\n getHourlyServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ billingUnit: BillingUnit.HOURLY });\n }\n\n /**\n * Get usage-based service prices\n */\n getUsageServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ billingUnit: BillingUnit.USAGE });\n }\n\n /**\n * Get flat rate service prices\n */\n getFlatRateServicePrices(): Observable<PaginatedResponse<ServicePrice>> {\n return this.getServicePrices({ billingUnit: BillingUnit.FLAT });\n }\n\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BaseApiService } from '@noatgnu/cupcake-core';\n\nimport {\n BillingRecord,\n BillingRecordCreateRequest,\n BillingRecordUpdateRequest,\n BillingRecordSummary,\n BillingApprovalRequest,\n BillingStatus,\n PaginatedResponse\n} from '../models';\n\nexport interface BillingRecordQueryParams {\n search?: string;\n status?: BillingStatus;\n currency?: string;\n costCenter?: string;\n user?: number;\n serviceTier?: number;\n dateFrom?: string;\n dateTo?: string;\n limit?: number;\n offset?: number;\n ordering?: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BillingRecordService extends BaseApiService {\n\n /**\n * Get all billing records with optional filtering\n */\n getBillingRecords(params?: BillingRecordQueryParams): Observable<PaginatedResponse<BillingRecord>> {\n const httpParams = this.buildHttpParams(params);\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/`, { params: httpParams });\n }\n\n /**\n * Get a single billing record by ID\n */\n getBillingRecord(id: string): Observable<BillingRecord> {\n return this.get<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`);\n }\n\n /**\n * Create a new billing record\n */\n createBillingRecord(record: BillingRecordCreateRequest): Observable<BillingRecord> {\n return this.post<BillingRecord>(`${this.apiUrl}/billing-records/`, record);\n }\n\n /**\n * Update an existing billing record\n */\n updateBillingRecord(id: string, record: BillingRecordUpdateRequest): Observable<BillingRecord> {\n return this.put<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`, record);\n }\n\n /**\n * Partially update a billing record\n */\n patchBillingRecord(id: string, record: Partial<BillingRecordUpdateRequest>): Observable<BillingRecord> {\n return this.patch<BillingRecord>(`${this.apiUrl}/billing-records/${id}/`, record);\n }\n\n /**\n * Delete a billing record\n */\n deleteBillingRecord(id: string): Observable<void> {\n return this.delete<void>(`${this.apiUrl}/billing-records/${id}/`);\n }\n\n /**\n * Approve a billing record\n */\n approveBillingRecord(id: string, request: BillingApprovalRequest): Observable<BillingRecord> {\n return this.post<BillingRecord>(`${this.apiUrl}/billing-records/${id}/approve/`, request);\n }\n\n\n /**\n * Get billing summary statistics (Django custom action)\n */\n getSummary(params?: { \n dateFrom?: string; \n dateTo?: string; \n currency?: string;\n costCenter?: string;\n serviceTier?: number;\n }): Observable<BillingRecordSummary> {\n const httpParams = this.buildHttpParams(params);\n return this.get<BillingRecordSummary>(`${this.apiUrl}/billing-records/summary/`, { params: httpParams });\n }\n\n /**\n * Get billing records pending approval (Django custom action)\n */\n getPendingApproval(): Observable<PaginatedResponse<BillingRecord>> {\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/pending_approval/`);\n }\n\n /**\n * Get billing records grouped by cost center (Django custom action)\n */\n getByCostCenter(): Observable<{ [key: string]: BillingRecord[] }> {\n return this.get<{ [key: string]: BillingRecord[] }>(`${this.apiUrl}/billing-records/by_cost_center/`);\n }\n\n /**\n * Get user billing records\n */\n getUserBillingRecords(userId: number): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ user: userId });\n }\n\n /**\n * Get my billing records (current user)\n */\n getMyBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.get<PaginatedResponse<BillingRecord>>(`${this.apiUrl}/billing-records/my_records/`);\n }\n\n /**\n * Search billing records by description, notes, or cost center\n */\n searchBillingRecords(query: string): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ search: query });\n }\n\n /**\n * Get pending billing records\n */\n getPendingBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.PENDING });\n }\n\n /**\n * Get approved billing records\n */\n getApprovedBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.APPROVED });\n }\n\n /**\n * Get billed billing records\n */\n getBilledBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.BILLED });\n }\n\n /**\n * Get paid billing records\n */\n getPaidBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.PAID });\n }\n\n /**\n * Get disputed billing records\n */\n getDisputedBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.DISPUTED });\n }\n\n /**\n * Get cancelled billing records\n */\n getCancelledBillingRecords(): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status: BillingStatus.CANCELLED });\n }\n\n /**\n * Get billing records by status\n */\n getBillingRecordsByStatus(status: BillingStatus): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ status });\n }\n\n /**\n * Get billing records by currency\n */\n getBillingRecordsByCurrency(currency: string): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ currency });\n }\n\n /**\n * Get billing records by cost center\n */\n getBillingRecordsByCostCenter(costCenter: string): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ costCenter });\n }\n\n /**\n * Get billing records by service tier\n */\n getBillingRecordsByServiceTier(tierId: number): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ serviceTier: tierId });\n }\n\n /**\n * Get billing records for date range\n */\n getBillingRecordsByDateRange(dateFrom: string, dateTo: string): Observable<PaginatedResponse<BillingRecord>> {\n return this.getBillingRecords({ dateFrom, dateTo });\n }\n\n}","// Billing and financial management services\nexport * from './service-tier';\nexport * from './billable-item-type';\nexport * from './service-price';\nexport * from './billing-record';","/*\n * Public API Surface of cupcake-salted-caramel\n */\n\nexport * from './lib/cupcake-salted-caramel';\n\nexport * from './lib/models';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noatgnu/cupcake-salted-caramel",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "An extension for cupcake-core that provides additional api and interfaces for facility to manage billing.",
|
|
5
5
|
"author": "Toan Phung",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,22 +13,23 @@
|
|
|
13
13
|
"url": "https://github.com/noatgnu/cupcake-vanilla-ng/issues"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@angular/common": "^
|
|
17
|
-
"@angular/core": "^
|
|
16
|
+
"@angular/common": "^21.0.0",
|
|
17
|
+
"@angular/core": "^21.0.0"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"tslib": "^2.3.0"
|
|
21
21
|
},
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"module": "fesm2022/noatgnu-cupcake-salted-caramel.mjs",
|
|
24
|
-
"typings": "
|
|
24
|
+
"typings": "types/noatgnu-cupcake-salted-caramel.d.ts",
|
|
25
25
|
"exports": {
|
|
26
26
|
"./package.json": {
|
|
27
27
|
"default": "./package.json"
|
|
28
28
|
},
|
|
29
29
|
".": {
|
|
30
|
-
"types": "./
|
|
30
|
+
"types": "./types/noatgnu-cupcake-salted-caramel.d.ts",
|
|
31
31
|
"default": "./fesm2022/noatgnu-cupcake-salted-caramel.mjs"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
|
+
"type": "module"
|
|
34
35
|
}
|
|
File without changes
|