@spytecgps/nova-orm 0.0.90 → 0.0.92

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.
@@ -0,0 +1,5 @@
1
+ import { BillingSubscriptionBraintree } from '../../entities';
2
+ import { NovaDataSource } from '../../novaDataSource';
3
+ import { GetBillingSubscriptionsBraintreeParams } from '../../types/billing';
4
+ import { Logger } from '../../types/logger';
5
+ export declare const getBillingSubscriptionsBraintree: (novaDataSource: NovaDataSource, params: GetBillingSubscriptionsBraintreeParams, logger: Logger) => Promise<BillingSubscriptionBraintree[]>;
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { CanceledImeiResult, GetCanceledImeisParams } from '../../types/billing';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const getCanceledImeis: (novaDataSource: NovaDataSource, params: GetCanceledImeisParams, logger: Logger) => Promise<CanceledImeiResult[]>;
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { BillingSubscriptionChurnStatus, GetChurnStatusByClientIdParams } from '../../types/billing';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const getChurnStatusByClientId: (novaDataSource: NovaDataSource, params: GetChurnStatusByClientIdParams, logger: Logger) => Promise<BillingSubscriptionChurnStatus[]>;
@@ -1,5 +1,5 @@
1
- import { Billing, BillingCustomerBraintree, BillingDeviceHistory, BillingStatusHistoryBraintree, User } from '../../entities';
2
- import { CreateBillingDeviceHistoryParams, CreateBillingParams, CreateBillingStatusHistoryBraintreeParams, GetBillingCustomerBraintreeByIdParams, GetBillingsParams, GetClientIdFromBraintreeCustomerParams, GetUserByBraintreeCustomerIdParams, UpdateBillingCustomerBraintreeParams, UpdateBillingParams, UpsertBillingCustomerBraintreeParams } from '../../types/billing';
1
+ import { Billing, BillingCustomerBraintree, BillingDeviceHistory, BillingStatusHistoryBraintree, BillingSubscriptionBraintree, User } from '../../entities';
2
+ import { BillingSubscriptionChurnStatus, CanceledImeiResult, CreateBillingDeviceHistoryParams, CreateBillingParams, CreateBillingStatusHistoryBraintreeParams, GetBillingCustomerBraintreeByIdParams, GetBillingsParams, GetBillingSubscriptionsBraintreeParams, GetCanceledImeisParams, GetChurnStatusByClientIdParams, GetClientIdFromBraintreeCustomerParams, GetUserByBraintreeCustomerIdParams, UpdateBillingCustomerBraintreeParams, UpdateBillingParams, UpsertBillingCustomerBraintreeParams, UpsertBillingSubscriptionBraintreeParams } from '../../types/billing';
3
3
  import { BaseRepository } from '../baseRepository';
4
4
  export declare class BillingRepository extends BaseRepository {
5
5
  /**
@@ -119,4 +119,37 @@ export declare class BillingRepository extends BaseRepository {
119
119
  * @returns The user information
120
120
  */
121
121
  getUserByBraintreeCustomerId(params: GetUserByBraintreeCustomerIdParams): Promise<User>;
122
+ /**
123
+ * Get billing braintree subscriptions
124
+ * @param {GetBillingSubscriptionsBraintreeParams} params containing information to get billing braintree subscriptions
125
+ * - params.filters.subscriptionId: The braintree subscription id
126
+ * - params.filters.clientId: The clientId
127
+ * @returns The billing braintree subscriptions corresponding to the provided filters
128
+ */
129
+ getBillingSubscriptionsBraintree(params: GetBillingSubscriptionsBraintreeParams): Promise<BillingSubscriptionBraintree[]>;
130
+ /**
131
+ * Get churn status by clientId
132
+ * @param {GetChurnStatusByClientIdParams} params containing information to get billing braintree subscriptions
133
+ * - params.filters.clientId: The clientId
134
+ * @returns The churn status list for all subscriptions for the provided clientId
135
+ */
136
+ getChurnStatusByClientId(params: GetChurnStatusByClientIdParams): Promise<BillingSubscriptionChurnStatus[]>;
137
+ /**
138
+ * Upsert billing subscription braintree
139
+ * @param {UpsertBillingSubscriptionBraintreeParams} params containing information to upsert billing braintree subscription
140
+ * @returns Whether the billing braintree subscription was upserted
141
+ */
142
+ upsertBillingSubscriptionBraintree(params: UpsertBillingSubscriptionBraintreeParams): Promise<boolean>;
143
+ /**
144
+ * Get canceled imei
145
+ * @param {GetCanceledImeisParams} params containing information to get canceled imeis
146
+ * - params.filters.minCancellationDate: The min cancellation date
147
+ * - params.filters.maxCancellationDate: The max cancellation date
148
+ * - params.filters.canceledIn: which canceled status to check by ('carrier', 'device' or 'both')
149
+ * - params.filters.excludeB2B: whether to exclude devices from B2B clients
150
+ * - params.filters.excludeTest: whether to exclude devices from test clients
151
+ * - params.pagingOptions.pageSize: max elements to return
152
+ * @returns The list of canceled imeis
153
+ */
154
+ getCanceledImeis(params: GetCanceledImeisParams): Promise<CanceledImeiResult[]>;
122
155
  }
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { UpsertBillingSubscriptionBraintreeParams } from '../../types/billing';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const upsertBillingSubscriptionBraintree: (novaDataSource: NovaDataSource, params: UpsertBillingSubscriptionBraintreeParams, logger: Logger) => Promise<boolean>;
@@ -97,3 +97,77 @@ export interface GetUserByBraintreeCustomerIdParams {
97
97
  customerId: string;
98
98
  };
99
99
  }
100
+ export interface GetBillingSubscriptionsBraintreeParams {
101
+ filters: {
102
+ subscriptionId?: string;
103
+ clientId?: number;
104
+ };
105
+ }
106
+ export interface GetChurnStatusByClientIdParams {
107
+ filters: {
108
+ clientId: number;
109
+ };
110
+ }
111
+ export interface BillingSubscriptionChurnStatus {
112
+ braintreeCustomerId: string;
113
+ braintreeSubscriptionStatus: string;
114
+ subscriptionId: string;
115
+ churnStatus?: string | null;
116
+ }
117
+ export interface UpsertBillingSubscriptionBraintreeParams {
118
+ subscriptionId: string;
119
+ customerId?: string | null;
120
+ planId?: string | null;
121
+ createdAt?: Date | null;
122
+ updatedAt?: Date | null;
123
+ subscriptionStart?: Date | null;
124
+ subscriptionEnd?: Date | null;
125
+ nextBillingDate?: Date | null;
126
+ subscriptionValue?: number | null;
127
+ status?: string | null;
128
+ subscriptionPeriodMonths?: number | null;
129
+ paymentInstrumentType?: string | null;
130
+ paymentInstrumentDetails?: object | null;
131
+ isPaused?: boolean | null;
132
+ discountDetails?: object | null;
133
+ addons?: object | null;
134
+ balance?: number | null;
135
+ currentBillingCycle?: number | null;
136
+ daysPastDue?: number | null;
137
+ description?: string | null;
138
+ descriptor?: object | null;
139
+ failureCount?: number | null;
140
+ firstBillingDate?: Date | null;
141
+ merchantAccountId?: string | null;
142
+ nextBillingPeriodAmount?: number | null;
143
+ numberOfBillingCycles?: number | null;
144
+ paidThroughDate?: Date | null;
145
+ paymentMethodToken?: string | null;
146
+ statusHistory?: object | null;
147
+ trialDuration?: number | null;
148
+ trialDurationUnit?: string | null;
149
+ trialPeriod?: boolean | null;
150
+ }
151
+ export interface GetCanceledImeisParams {
152
+ filters: {
153
+ minCancellationDate: Date;
154
+ maxCancellationDate: Date;
155
+ canceledIn: 'carrier' | 'device' | 'both';
156
+ excludeB2B: boolean;
157
+ excludeTest: boolean;
158
+ };
159
+ pagingOptions: {
160
+ pageSize: number | 100;
161
+ };
162
+ }
163
+ export interface CanceledImeiResult {
164
+ imei: string;
165
+ iccid: string;
166
+ clientId: number;
167
+ clientTypeId: number;
168
+ subscriptionId: string;
169
+ createdAt: Date;
170
+ updatedAt: string;
171
+ iccidStatus: string;
172
+ carrier: string;
173
+ }
@@ -0,0 +1,5 @@
1
+ import { ValueTransformer } from 'typeorm';
2
+ export declare class StringToDateTransformer implements ValueTransformer {
3
+ to(value: string | null): string | null;
4
+ from(value: string): Date | null;
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "0.0.90",
3
+ "version": "0.0.92",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",