@amohamud23/notihub 1.1.33 → 1.1.36
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/index.cjs +142 -6
- package/dist/index.d.cts +46 -3
- package/dist/index.d.ts +46 -3
- package/dist/index.js +149 -7
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -660,7 +660,10 @@ var NotiHubStats = class _NotiHubStats {
|
|
|
660
660
|
const command = new import_lib_dynamodb5.UpdateCommand({
|
|
661
661
|
TableName: _NotiHubStats.TABLE_NAME,
|
|
662
662
|
Key: { id, customerId },
|
|
663
|
-
UpdateExpression: "ADD subscriptions :inc",
|
|
663
|
+
UpdateExpression: "ADD #subscriptions :inc",
|
|
664
|
+
ExpressionAttributeNames: {
|
|
665
|
+
"#subscriptions": "subscriptions"
|
|
666
|
+
},
|
|
664
667
|
ExpressionAttributeValues: {
|
|
665
668
|
":inc": 1
|
|
666
669
|
},
|
|
@@ -679,7 +682,10 @@ var NotiHubStats = class _NotiHubStats {
|
|
|
679
682
|
const command = new import_lib_dynamodb5.UpdateCommand({
|
|
680
683
|
TableName: _NotiHubStats.TABLE_NAME,
|
|
681
684
|
Key: { id, customerId },
|
|
682
|
-
UpdateExpression: "ADD subscriptions :dec",
|
|
685
|
+
UpdateExpression: "ADD #subscriptions :dec",
|
|
686
|
+
ExpressionAttributeNames: {
|
|
687
|
+
"#subscriptions": "subscriptions"
|
|
688
|
+
},
|
|
683
689
|
ExpressionAttributeValues: {
|
|
684
690
|
":dec": -1
|
|
685
691
|
},
|
|
@@ -1550,10 +1556,9 @@ var CustomerMinified = class _CustomerMinified {
|
|
|
1550
1556
|
* @returns A promise that resolves to the customer object or null if not found.
|
|
1551
1557
|
*/
|
|
1552
1558
|
static async getCustomerMinifiedByUsername(username) {
|
|
1553
|
-
const command = new import_lib_dynamodb12.
|
|
1559
|
+
const command = new import_lib_dynamodb12.ScanCommand({
|
|
1554
1560
|
TableName: _CustomerMinified.TABLE_NAME,
|
|
1555
|
-
|
|
1556
|
-
KeyConditionExpression: "username = :username",
|
|
1561
|
+
FilterExpression: "username = :username",
|
|
1557
1562
|
ExpressionAttributeValues: {
|
|
1558
1563
|
":username": username
|
|
1559
1564
|
}
|
|
@@ -1784,6 +1789,136 @@ var NotiHubStatsHistory = class _NotiHubStatsHistory {
|
|
|
1784
1789
|
};
|
|
1785
1790
|
var NotiHubStatsHistory_default = NotiHubStatsHistory;
|
|
1786
1791
|
|
|
1792
|
+
// src/DynamoModels/StripeSubscriptions.ts
|
|
1793
|
+
var import_lib_dynamodb15 = require("@aws-sdk/lib-dynamodb");
|
|
1794
|
+
var StripeSubscription = class _StripeSubscription {
|
|
1795
|
+
static ENV = process.env.ENV || "dev";
|
|
1796
|
+
static TABLE_NAME = `NotiHub-StripeSubscriptions-v1-${_StripeSubscription.ENV}`;
|
|
1797
|
+
/**
|
|
1798
|
+
* Retrieves all stripe subscriptions.
|
|
1799
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
1800
|
+
*/
|
|
1801
|
+
static async getAllStripeSubscriptions() {
|
|
1802
|
+
const command = new import_lib_dynamodb15.ScanCommand({
|
|
1803
|
+
TableName: _StripeSubscription.TABLE_NAME
|
|
1804
|
+
});
|
|
1805
|
+
try {
|
|
1806
|
+
const result = await ddbDocClient.send(command);
|
|
1807
|
+
return result.Items || [];
|
|
1808
|
+
} catch (error) {
|
|
1809
|
+
console.error("Error fetching all stripe subscriptions:", error);
|
|
1810
|
+
throw new Error("Could not fetch stripe subscriptions");
|
|
1811
|
+
}
|
|
1812
|
+
}
|
|
1813
|
+
/**
|
|
1814
|
+
* Retrieves a stripe subscription by its ID.
|
|
1815
|
+
* @param id - The ID of the stripe subscription to retrieve.
|
|
1816
|
+
* @returns A promise that resolves to the stripe subscription object or null if not found.
|
|
1817
|
+
*/
|
|
1818
|
+
static async getStripeSubscriptionById(id) {
|
|
1819
|
+
const command = new import_lib_dynamodb15.GetCommand({
|
|
1820
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1821
|
+
Key: { id }
|
|
1822
|
+
});
|
|
1823
|
+
try {
|
|
1824
|
+
const result = await ddbDocClient.send(command);
|
|
1825
|
+
return result.Item || null;
|
|
1826
|
+
} catch (error) {
|
|
1827
|
+
console.error("Error fetching stripe subscription:", error);
|
|
1828
|
+
throw new Error("Could not fetch stripe subscription");
|
|
1829
|
+
}
|
|
1830
|
+
}
|
|
1831
|
+
/**
|
|
1832
|
+
* Retrieves stripe subscriptions by customer ID.
|
|
1833
|
+
* @param customer - The customer ID to retrieve subscriptions for.
|
|
1834
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
1835
|
+
*/
|
|
1836
|
+
static async getStripeSubscriptionsByCustomerId(customerId) {
|
|
1837
|
+
const command = new import_lib_dynamodb15.QueryCommand({
|
|
1838
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1839
|
+
IndexName: "CustomerIndex",
|
|
1840
|
+
KeyConditionExpression: "customerId = :customerId",
|
|
1841
|
+
ExpressionAttributeValues: {
|
|
1842
|
+
":customerId": customerId
|
|
1843
|
+
}
|
|
1844
|
+
});
|
|
1845
|
+
try {
|
|
1846
|
+
const result = await ddbDocClient.send(command);
|
|
1847
|
+
return result.Items || [];
|
|
1848
|
+
} catch (error) {
|
|
1849
|
+
console.error(
|
|
1850
|
+
`Error fetching stripe subscriptions for customerId: ${customerId}`,
|
|
1851
|
+
error
|
|
1852
|
+
);
|
|
1853
|
+
throw new Error("Could not fetch stripe subscriptions by customerId");
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
/**
|
|
1857
|
+
* Creates a new stripe subscription.
|
|
1858
|
+
* @param stripeSubscription - The stripe subscription object to create.
|
|
1859
|
+
* @returns A promise that resolves to the created stripe subscription object.
|
|
1860
|
+
*/
|
|
1861
|
+
static async createStripeSubscription(stripeSubscription) {
|
|
1862
|
+
const command = new import_lib_dynamodb15.PutCommand({
|
|
1863
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1864
|
+
Item: stripeSubscription
|
|
1865
|
+
});
|
|
1866
|
+
try {
|
|
1867
|
+
await ddbDocClient.send(command);
|
|
1868
|
+
return stripeSubscription;
|
|
1869
|
+
} catch (error) {
|
|
1870
|
+
console.error("Error creating stripe subscription:", error);
|
|
1871
|
+
throw new Error("Could not create stripe subscription");
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
/**
|
|
1875
|
+
* Deletes a stripe subscription by its ID.
|
|
1876
|
+
* @param id - The ID of the stripe subscription to delete.
|
|
1877
|
+
* @returns A promise that resolves when the stripe subscription is deleted.
|
|
1878
|
+
*/
|
|
1879
|
+
static async deleteStripeSubscription(id) {
|
|
1880
|
+
const command = new import_lib_dynamodb15.DeleteCommand({
|
|
1881
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1882
|
+
Key: { id }
|
|
1883
|
+
});
|
|
1884
|
+
try {
|
|
1885
|
+
await ddbDocClient.send(command);
|
|
1886
|
+
} catch (error) {
|
|
1887
|
+
console.error("Error deleting stripe subscription:", error);
|
|
1888
|
+
throw new Error("Could not delete stripe subscription");
|
|
1889
|
+
}
|
|
1890
|
+
}
|
|
1891
|
+
/**
|
|
1892
|
+
* Updates an existing stripe subscription.
|
|
1893
|
+
* @param id - The ID of the stripe subscription to update.
|
|
1894
|
+
* @param updates - The updates to apply to the stripe subscription.
|
|
1895
|
+
* @returns A promise that resolves to the updated stripe subscription object.
|
|
1896
|
+
*/
|
|
1897
|
+
static async updateStripeSubscription(id, updates) {
|
|
1898
|
+
const updateExpressions = [];
|
|
1899
|
+
const expressionAttributeValues = {};
|
|
1900
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
1901
|
+
updateExpressions.push(`${key} = :${key}`);
|
|
1902
|
+
expressionAttributeValues[`:${key}`] = value;
|
|
1903
|
+
}
|
|
1904
|
+
const command = new import_lib_dynamodb15.UpdateCommand({
|
|
1905
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1906
|
+
Key: { id },
|
|
1907
|
+
UpdateExpression: `SET ${updateExpressions.join(", ")}`,
|
|
1908
|
+
ExpressionAttributeValues: expressionAttributeValues,
|
|
1909
|
+
ReturnValues: "ALL_NEW"
|
|
1910
|
+
});
|
|
1911
|
+
try {
|
|
1912
|
+
const result = await ddbDocClient.send(command);
|
|
1913
|
+
return result.Attributes;
|
|
1914
|
+
} catch (error) {
|
|
1915
|
+
console.error("Error updating stripe subscription:", error);
|
|
1916
|
+
throw new Error("Could not update stripe subscription");
|
|
1917
|
+
}
|
|
1918
|
+
}
|
|
1919
|
+
};
|
|
1920
|
+
var StripeSubscriptions_default = StripeSubscription;
|
|
1921
|
+
|
|
1787
1922
|
// src/DynamoModels/index.ts
|
|
1788
1923
|
var TABLES = {
|
|
1789
1924
|
User: User_default,
|
|
@@ -1798,7 +1933,8 @@ var TABLES = {
|
|
|
1798
1933
|
CustomerMetaData: CustomerMetaData_default,
|
|
1799
1934
|
CustomerMinified: CustomerMinified_default,
|
|
1800
1935
|
NotificationStats: NotificationStats_default,
|
|
1801
|
-
NotiHubStatsHistory: NotiHubStatsHistory_default
|
|
1936
|
+
NotiHubStatsHistory: NotiHubStatsHistory_default,
|
|
1937
|
+
StripeSubscription: StripeSubscriptions_default
|
|
1802
1938
|
};
|
|
1803
1939
|
|
|
1804
1940
|
// src/errorcodes.ts
|
package/dist/index.d.cts
CHANGED
|
@@ -173,11 +173,13 @@ type IUserSubscribeNotifier = {
|
|
|
173
173
|
};
|
|
174
174
|
type INotiHubUserView = {
|
|
175
175
|
id: string;
|
|
176
|
-
userId: string;
|
|
176
|
+
userId: string | null;
|
|
177
|
+
email?: string;
|
|
177
178
|
customerId: string;
|
|
178
179
|
notificationId: string;
|
|
179
180
|
viewId: string;
|
|
180
181
|
createdAt: string;
|
|
182
|
+
type: "EMAIL" | "MOBILE";
|
|
181
183
|
};
|
|
182
184
|
type INotiHubSubscription = {
|
|
183
185
|
id: string;
|
|
@@ -198,8 +200,7 @@ type INotiHubSubscriptionActivity = {
|
|
|
198
200
|
};
|
|
199
201
|
type INotiHubStripeSubscription = {
|
|
200
202
|
id: string;
|
|
201
|
-
|
|
202
|
-
customerRef: INotiHubCustomer;
|
|
203
|
+
customerId: string;
|
|
203
204
|
stripe_subscription: string;
|
|
204
205
|
};
|
|
205
206
|
type INotiHubPaymentSession = {
|
|
@@ -704,6 +705,47 @@ declare class NotiHubStatsHistory {
|
|
|
704
705
|
static getLastStatsHistoryByCustomerId(customerId: string): Promise<INotiHubStatsHistory | null>;
|
|
705
706
|
}
|
|
706
707
|
|
|
708
|
+
declare class StripeSubscription {
|
|
709
|
+
static ENV: string;
|
|
710
|
+
static TABLE_NAME: string;
|
|
711
|
+
/**
|
|
712
|
+
* Retrieves all stripe subscriptions.
|
|
713
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
714
|
+
*/
|
|
715
|
+
static getAllStripeSubscriptions(): Promise<INotiHubStripeSubscription[]>;
|
|
716
|
+
/**
|
|
717
|
+
* Retrieves a stripe subscription by its ID.
|
|
718
|
+
* @param id - The ID of the stripe subscription to retrieve.
|
|
719
|
+
* @returns A promise that resolves to the stripe subscription object or null if not found.
|
|
720
|
+
*/
|
|
721
|
+
static getStripeSubscriptionById(id: string): Promise<INotiHubStripeSubscription | null>;
|
|
722
|
+
/**
|
|
723
|
+
* Retrieves stripe subscriptions by customer ID.
|
|
724
|
+
* @param customer - The customer ID to retrieve subscriptions for.
|
|
725
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
726
|
+
*/
|
|
727
|
+
static getStripeSubscriptionsByCustomerId(customerId: string): Promise<INotiHubStripeSubscription[]>;
|
|
728
|
+
/**
|
|
729
|
+
* Creates a new stripe subscription.
|
|
730
|
+
* @param stripeSubscription - The stripe subscription object to create.
|
|
731
|
+
* @returns A promise that resolves to the created stripe subscription object.
|
|
732
|
+
*/
|
|
733
|
+
static createStripeSubscription(stripeSubscription: INotiHubStripeSubscription): Promise<INotiHubStripeSubscription>;
|
|
734
|
+
/**
|
|
735
|
+
* Deletes a stripe subscription by its ID.
|
|
736
|
+
* @param id - The ID of the stripe subscription to delete.
|
|
737
|
+
* @returns A promise that resolves when the stripe subscription is deleted.
|
|
738
|
+
*/
|
|
739
|
+
static deleteStripeSubscription(id: string): Promise<void>;
|
|
740
|
+
/**
|
|
741
|
+
* Updates an existing stripe subscription.
|
|
742
|
+
* @param id - The ID of the stripe subscription to update.
|
|
743
|
+
* @param updates - The updates to apply to the stripe subscription.
|
|
744
|
+
* @returns A promise that resolves to the updated stripe subscription object.
|
|
745
|
+
*/
|
|
746
|
+
static updateStripeSubscription(id: string, updates: Partial<INotiHubStripeSubscription>): Promise<INotiHubStripeSubscription>;
|
|
747
|
+
}
|
|
748
|
+
|
|
707
749
|
declare const TABLES: {
|
|
708
750
|
User: typeof User;
|
|
709
751
|
Customer: typeof Customer;
|
|
@@ -718,6 +760,7 @@ declare const TABLES: {
|
|
|
718
760
|
CustomerMinified: typeof CustomerMinified;
|
|
719
761
|
NotificationStats: typeof NotificationStats;
|
|
720
762
|
NotiHubStatsHistory: typeof NotiHubStatsHistory;
|
|
763
|
+
StripeSubscription: typeof StripeSubscription;
|
|
721
764
|
};
|
|
722
765
|
|
|
723
766
|
declare const DocumentNotFound = "4001";
|
package/dist/index.d.ts
CHANGED
|
@@ -173,11 +173,13 @@ type IUserSubscribeNotifier = {
|
|
|
173
173
|
};
|
|
174
174
|
type INotiHubUserView = {
|
|
175
175
|
id: string;
|
|
176
|
-
userId: string;
|
|
176
|
+
userId: string | null;
|
|
177
|
+
email?: string;
|
|
177
178
|
customerId: string;
|
|
178
179
|
notificationId: string;
|
|
179
180
|
viewId: string;
|
|
180
181
|
createdAt: string;
|
|
182
|
+
type: "EMAIL" | "MOBILE";
|
|
181
183
|
};
|
|
182
184
|
type INotiHubSubscription = {
|
|
183
185
|
id: string;
|
|
@@ -198,8 +200,7 @@ type INotiHubSubscriptionActivity = {
|
|
|
198
200
|
};
|
|
199
201
|
type INotiHubStripeSubscription = {
|
|
200
202
|
id: string;
|
|
201
|
-
|
|
202
|
-
customerRef: INotiHubCustomer;
|
|
203
|
+
customerId: string;
|
|
203
204
|
stripe_subscription: string;
|
|
204
205
|
};
|
|
205
206
|
type INotiHubPaymentSession = {
|
|
@@ -704,6 +705,47 @@ declare class NotiHubStatsHistory {
|
|
|
704
705
|
static getLastStatsHistoryByCustomerId(customerId: string): Promise<INotiHubStatsHistory | null>;
|
|
705
706
|
}
|
|
706
707
|
|
|
708
|
+
declare class StripeSubscription {
|
|
709
|
+
static ENV: string;
|
|
710
|
+
static TABLE_NAME: string;
|
|
711
|
+
/**
|
|
712
|
+
* Retrieves all stripe subscriptions.
|
|
713
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
714
|
+
*/
|
|
715
|
+
static getAllStripeSubscriptions(): Promise<INotiHubStripeSubscription[]>;
|
|
716
|
+
/**
|
|
717
|
+
* Retrieves a stripe subscription by its ID.
|
|
718
|
+
* @param id - The ID of the stripe subscription to retrieve.
|
|
719
|
+
* @returns A promise that resolves to the stripe subscription object or null if not found.
|
|
720
|
+
*/
|
|
721
|
+
static getStripeSubscriptionById(id: string): Promise<INotiHubStripeSubscription | null>;
|
|
722
|
+
/**
|
|
723
|
+
* Retrieves stripe subscriptions by customer ID.
|
|
724
|
+
* @param customer - The customer ID to retrieve subscriptions for.
|
|
725
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
726
|
+
*/
|
|
727
|
+
static getStripeSubscriptionsByCustomerId(customerId: string): Promise<INotiHubStripeSubscription[]>;
|
|
728
|
+
/**
|
|
729
|
+
* Creates a new stripe subscription.
|
|
730
|
+
* @param stripeSubscription - The stripe subscription object to create.
|
|
731
|
+
* @returns A promise that resolves to the created stripe subscription object.
|
|
732
|
+
*/
|
|
733
|
+
static createStripeSubscription(stripeSubscription: INotiHubStripeSubscription): Promise<INotiHubStripeSubscription>;
|
|
734
|
+
/**
|
|
735
|
+
* Deletes a stripe subscription by its ID.
|
|
736
|
+
* @param id - The ID of the stripe subscription to delete.
|
|
737
|
+
* @returns A promise that resolves when the stripe subscription is deleted.
|
|
738
|
+
*/
|
|
739
|
+
static deleteStripeSubscription(id: string): Promise<void>;
|
|
740
|
+
/**
|
|
741
|
+
* Updates an existing stripe subscription.
|
|
742
|
+
* @param id - The ID of the stripe subscription to update.
|
|
743
|
+
* @param updates - The updates to apply to the stripe subscription.
|
|
744
|
+
* @returns A promise that resolves to the updated stripe subscription object.
|
|
745
|
+
*/
|
|
746
|
+
static updateStripeSubscription(id: string, updates: Partial<INotiHubStripeSubscription>): Promise<INotiHubStripeSubscription>;
|
|
747
|
+
}
|
|
748
|
+
|
|
707
749
|
declare const TABLES: {
|
|
708
750
|
User: typeof User;
|
|
709
751
|
Customer: typeof Customer;
|
|
@@ -718,6 +760,7 @@ declare const TABLES: {
|
|
|
718
760
|
CustomerMinified: typeof CustomerMinified;
|
|
719
761
|
NotificationStats: typeof NotificationStats;
|
|
720
762
|
NotiHubStatsHistory: typeof NotiHubStatsHistory;
|
|
763
|
+
StripeSubscription: typeof StripeSubscription;
|
|
721
764
|
};
|
|
722
765
|
|
|
723
766
|
declare const DocumentNotFound = "4001";
|
package/dist/index.js
CHANGED
|
@@ -642,7 +642,10 @@ var NotiHubStats = class _NotiHubStats {
|
|
|
642
642
|
const command = new UpdateCommand4({
|
|
643
643
|
TableName: _NotiHubStats.TABLE_NAME,
|
|
644
644
|
Key: { id, customerId },
|
|
645
|
-
UpdateExpression: "ADD subscriptions :inc",
|
|
645
|
+
UpdateExpression: "ADD #subscriptions :inc",
|
|
646
|
+
ExpressionAttributeNames: {
|
|
647
|
+
"#subscriptions": "subscriptions"
|
|
648
|
+
},
|
|
646
649
|
ExpressionAttributeValues: {
|
|
647
650
|
":inc": 1
|
|
648
651
|
},
|
|
@@ -661,7 +664,10 @@ var NotiHubStats = class _NotiHubStats {
|
|
|
661
664
|
const command = new UpdateCommand4({
|
|
662
665
|
TableName: _NotiHubStats.TABLE_NAME,
|
|
663
666
|
Key: { id, customerId },
|
|
664
|
-
UpdateExpression: "ADD subscriptions :dec",
|
|
667
|
+
UpdateExpression: "ADD #subscriptions :dec",
|
|
668
|
+
ExpressionAttributeNames: {
|
|
669
|
+
"#subscriptions": "subscriptions"
|
|
670
|
+
},
|
|
665
671
|
ExpressionAttributeValues: {
|
|
666
672
|
":dec": -1
|
|
667
673
|
},
|
|
@@ -1479,7 +1485,6 @@ import {
|
|
|
1479
1485
|
DeleteCommand as DeleteCommand10,
|
|
1480
1486
|
GetCommand as GetCommand10,
|
|
1481
1487
|
PutCommand as PutCommand11,
|
|
1482
|
-
QueryCommand as QueryCommand11,
|
|
1483
1488
|
ScanCommand as ScanCommand3
|
|
1484
1489
|
} from "@aws-sdk/lib-dynamodb";
|
|
1485
1490
|
var CustomerMinified = class _CustomerMinified {
|
|
@@ -1566,10 +1571,9 @@ var CustomerMinified = class _CustomerMinified {
|
|
|
1566
1571
|
* @returns A promise that resolves to the customer object or null if not found.
|
|
1567
1572
|
*/
|
|
1568
1573
|
static async getCustomerMinifiedByUsername(username) {
|
|
1569
|
-
const command = new
|
|
1574
|
+
const command = new ScanCommand3({
|
|
1570
1575
|
TableName: _CustomerMinified.TABLE_NAME,
|
|
1571
|
-
|
|
1572
|
-
KeyConditionExpression: "username = :username",
|
|
1576
|
+
FilterExpression: "username = :username",
|
|
1573
1577
|
ExpressionAttributeValues: {
|
|
1574
1578
|
":username": username
|
|
1575
1579
|
}
|
|
@@ -1808,6 +1812,143 @@ var NotiHubStatsHistory = class _NotiHubStatsHistory {
|
|
|
1808
1812
|
};
|
|
1809
1813
|
var NotiHubStatsHistory_default = NotiHubStatsHistory;
|
|
1810
1814
|
|
|
1815
|
+
// src/DynamoModels/StripeSubscriptions.ts
|
|
1816
|
+
import {
|
|
1817
|
+
DeleteCommand as DeleteCommand13,
|
|
1818
|
+
GetCommand as GetCommand13,
|
|
1819
|
+
PutCommand as PutCommand14,
|
|
1820
|
+
QueryCommand as QueryCommand13,
|
|
1821
|
+
UpdateCommand as UpdateCommand13,
|
|
1822
|
+
ScanCommand as ScanCommand4
|
|
1823
|
+
} from "@aws-sdk/lib-dynamodb";
|
|
1824
|
+
var StripeSubscription = class _StripeSubscription {
|
|
1825
|
+
static ENV = process.env.ENV || "dev";
|
|
1826
|
+
static TABLE_NAME = `NotiHub-StripeSubscriptions-v1-${_StripeSubscription.ENV}`;
|
|
1827
|
+
/**
|
|
1828
|
+
* Retrieves all stripe subscriptions.
|
|
1829
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
1830
|
+
*/
|
|
1831
|
+
static async getAllStripeSubscriptions() {
|
|
1832
|
+
const command = new ScanCommand4({
|
|
1833
|
+
TableName: _StripeSubscription.TABLE_NAME
|
|
1834
|
+
});
|
|
1835
|
+
try {
|
|
1836
|
+
const result = await ddbDocClient.send(command);
|
|
1837
|
+
return result.Items || [];
|
|
1838
|
+
} catch (error) {
|
|
1839
|
+
console.error("Error fetching all stripe subscriptions:", error);
|
|
1840
|
+
throw new Error("Could not fetch stripe subscriptions");
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
/**
|
|
1844
|
+
* Retrieves a stripe subscription by its ID.
|
|
1845
|
+
* @param id - The ID of the stripe subscription to retrieve.
|
|
1846
|
+
* @returns A promise that resolves to the stripe subscription object or null if not found.
|
|
1847
|
+
*/
|
|
1848
|
+
static async getStripeSubscriptionById(id) {
|
|
1849
|
+
const command = new GetCommand13({
|
|
1850
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1851
|
+
Key: { id }
|
|
1852
|
+
});
|
|
1853
|
+
try {
|
|
1854
|
+
const result = await ddbDocClient.send(command);
|
|
1855
|
+
return result.Item || null;
|
|
1856
|
+
} catch (error) {
|
|
1857
|
+
console.error("Error fetching stripe subscription:", error);
|
|
1858
|
+
throw new Error("Could not fetch stripe subscription");
|
|
1859
|
+
}
|
|
1860
|
+
}
|
|
1861
|
+
/**
|
|
1862
|
+
* Retrieves stripe subscriptions by customer ID.
|
|
1863
|
+
* @param customer - The customer ID to retrieve subscriptions for.
|
|
1864
|
+
* @returns A promise that resolves to an array of stripe subscription objects.
|
|
1865
|
+
*/
|
|
1866
|
+
static async getStripeSubscriptionsByCustomerId(customerId) {
|
|
1867
|
+
const command = new QueryCommand13({
|
|
1868
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1869
|
+
IndexName: "CustomerIndex",
|
|
1870
|
+
KeyConditionExpression: "customerId = :customerId",
|
|
1871
|
+
ExpressionAttributeValues: {
|
|
1872
|
+
":customerId": customerId
|
|
1873
|
+
}
|
|
1874
|
+
});
|
|
1875
|
+
try {
|
|
1876
|
+
const result = await ddbDocClient.send(command);
|
|
1877
|
+
return result.Items || [];
|
|
1878
|
+
} catch (error) {
|
|
1879
|
+
console.error(
|
|
1880
|
+
`Error fetching stripe subscriptions for customerId: ${customerId}`,
|
|
1881
|
+
error
|
|
1882
|
+
);
|
|
1883
|
+
throw new Error("Could not fetch stripe subscriptions by customerId");
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
/**
|
|
1887
|
+
* Creates a new stripe subscription.
|
|
1888
|
+
* @param stripeSubscription - The stripe subscription object to create.
|
|
1889
|
+
* @returns A promise that resolves to the created stripe subscription object.
|
|
1890
|
+
*/
|
|
1891
|
+
static async createStripeSubscription(stripeSubscription) {
|
|
1892
|
+
const command = new PutCommand14({
|
|
1893
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1894
|
+
Item: stripeSubscription
|
|
1895
|
+
});
|
|
1896
|
+
try {
|
|
1897
|
+
await ddbDocClient.send(command);
|
|
1898
|
+
return stripeSubscription;
|
|
1899
|
+
} catch (error) {
|
|
1900
|
+
console.error("Error creating stripe subscription:", error);
|
|
1901
|
+
throw new Error("Could not create stripe subscription");
|
|
1902
|
+
}
|
|
1903
|
+
}
|
|
1904
|
+
/**
|
|
1905
|
+
* Deletes a stripe subscription by its ID.
|
|
1906
|
+
* @param id - The ID of the stripe subscription to delete.
|
|
1907
|
+
* @returns A promise that resolves when the stripe subscription is deleted.
|
|
1908
|
+
*/
|
|
1909
|
+
static async deleteStripeSubscription(id) {
|
|
1910
|
+
const command = new DeleteCommand13({
|
|
1911
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1912
|
+
Key: { id }
|
|
1913
|
+
});
|
|
1914
|
+
try {
|
|
1915
|
+
await ddbDocClient.send(command);
|
|
1916
|
+
} catch (error) {
|
|
1917
|
+
console.error("Error deleting stripe subscription:", error);
|
|
1918
|
+
throw new Error("Could not delete stripe subscription");
|
|
1919
|
+
}
|
|
1920
|
+
}
|
|
1921
|
+
/**
|
|
1922
|
+
* Updates an existing stripe subscription.
|
|
1923
|
+
* @param id - The ID of the stripe subscription to update.
|
|
1924
|
+
* @param updates - The updates to apply to the stripe subscription.
|
|
1925
|
+
* @returns A promise that resolves to the updated stripe subscription object.
|
|
1926
|
+
*/
|
|
1927
|
+
static async updateStripeSubscription(id, updates) {
|
|
1928
|
+
const updateExpressions = [];
|
|
1929
|
+
const expressionAttributeValues = {};
|
|
1930
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
1931
|
+
updateExpressions.push(`${key} = :${key}`);
|
|
1932
|
+
expressionAttributeValues[`:${key}`] = value;
|
|
1933
|
+
}
|
|
1934
|
+
const command = new UpdateCommand13({
|
|
1935
|
+
TableName: _StripeSubscription.TABLE_NAME,
|
|
1936
|
+
Key: { id },
|
|
1937
|
+
UpdateExpression: `SET ${updateExpressions.join(", ")}`,
|
|
1938
|
+
ExpressionAttributeValues: expressionAttributeValues,
|
|
1939
|
+
ReturnValues: "ALL_NEW"
|
|
1940
|
+
});
|
|
1941
|
+
try {
|
|
1942
|
+
const result = await ddbDocClient.send(command);
|
|
1943
|
+
return result.Attributes;
|
|
1944
|
+
} catch (error) {
|
|
1945
|
+
console.error("Error updating stripe subscription:", error);
|
|
1946
|
+
throw new Error("Could not update stripe subscription");
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
};
|
|
1950
|
+
var StripeSubscriptions_default = StripeSubscription;
|
|
1951
|
+
|
|
1811
1952
|
// src/DynamoModels/index.ts
|
|
1812
1953
|
var TABLES = {
|
|
1813
1954
|
User: User_default,
|
|
@@ -1822,7 +1963,8 @@ var TABLES = {
|
|
|
1822
1963
|
CustomerMetaData: CustomerMetaData_default,
|
|
1823
1964
|
CustomerMinified: CustomerMinified_default,
|
|
1824
1965
|
NotificationStats: NotificationStats_default,
|
|
1825
|
-
NotiHubStatsHistory: NotiHubStatsHistory_default
|
|
1966
|
+
NotiHubStatsHistory: NotiHubStatsHistory_default,
|
|
1967
|
+
StripeSubscription: StripeSubscriptions_default
|
|
1826
1968
|
};
|
|
1827
1969
|
|
|
1828
1970
|
// src/errorcodes.ts
|