From 5bdd4b7460e8e3ede9f3c45d8b0d0e0b040db60e Mon Sep 17 00:00:00 2001 From: Joshua Blew Date: Tue, 12 Nov 2024 12:10:26 -0500 Subject: [PATCH 1/4] refactor: remove unused gift code --- src/database/schema/giftNotifications.ts | 29 ----------- src/database/schema/gifts.ts | 63 ------------------------ src/database/schema/index.ts | 2 - src/types/analytics/email.ts | 39 --------------- src/types/analytics/events/gift.ts | 14 ------ src/types/analytics/events/index.ts | 3 -- src/utils/idempotency.ts | 16 +----- 7 files changed, 1 insertion(+), 165 deletions(-) delete mode 100644 src/database/schema/giftNotifications.ts delete mode 100644 src/database/schema/gifts.ts delete mode 100644 src/types/analytics/events/gift.ts diff --git a/src/database/schema/giftNotifications.ts b/src/database/schema/giftNotifications.ts deleted file mode 100644 index 127fad4..0000000 --- a/src/database/schema/giftNotifications.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { relations } from 'drizzle-orm'; -import { integer, pgTable, serial, timestamp } from 'drizzle-orm/pg-core'; - -import type { InferResultType } from '../../types/database/helpers'; -import { gifts } from './gifts'; - -export type GiftNotification = typeof giftNotifications.$inferSelect; -export type NewGiftNotification = typeof giftNotifications.$inferInsert; -export type GiftNotificationWithGift = InferResultType< - 'giftNotifications', - { gift: true } ->; - -export const giftNotifications = pgTable('giftNotifications', { - id: serial('id').primaryKey(), - giftId: integer('giftId').notNull(), - // ... - createdAt: timestamp('createdAt').defaultNow().notNull(), -}); - -export const giftNotificationsRelations = relations( - giftNotifications, - ({ one }) => ({ - gift: one(gifts, { - fields: [giftNotifications.giftId], - references: [gifts.id], - }), - }), -); diff --git a/src/database/schema/gifts.ts b/src/database/schema/gifts.ts deleted file mode 100644 index 506a2a3..0000000 --- a/src/database/schema/gifts.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { relations } from 'drizzle-orm'; -import { - integer, - pgEnum, - pgTable, - varchar, - char, - serial, - timestamp, - decimal, - uuid, - uniqueIndex, -} from 'drizzle-orm/pg-core'; - -import type { InferResultType } from '../../types/database/helpers'; -import { exchanges } from './exchanges'; -import { giftNotifications } from './giftNotifications'; - -export type Gift = typeof gifts.$inferSelect; -export type NewGift = typeof gifts.$inferInsert; -export type GiftWithNotifications = InferResultType< - 'gifts', - { notifications: true } ->; - -export const GiftRecipientType = pgEnum('GiftRecipientType', ['email']); -export const GiftRedemptionType = pgEnum('GiftRedemptionType', [ - 'wallet', - 'exchange', -]); -export const GiftStatus = pgEnum('GiftStatus', ['new', 'redeemed', 'failed']); - -export const gifts = pgTable( - 'gifts', - { - id: serial('id').primaryKey(), - idempotencyKey: char('idempotencyKey', { length: 256 }).notNull(), - userId: uuid('userId').notNull(), - exchangeId: integer('exchangeId').notNull(), - asset: varchar('asset', { length: 10 }).notNull(), - amount: decimal('amount', { precision: 15, scale: 2 }).notNull(), - message: varchar('message', { length: 256 }).notNull(), - recipient: varchar('recipient', { length: 256 }).notNull(), - recipientType: GiftRecipientType('recipientType').notNull(), - redemptionType: GiftRedemptionType('redemptionType'), - redemptionAddress: char('redemptionAddress', { length: 42 }), - status: GiftStatus('status').notNull(), - createdAt: timestamp('createdAt').defaultNow().notNull(), - updatedAt: timestamp('updatedAt').defaultNow().notNull(), - redeemedAt: timestamp('redeemedAt'), - }, - (table) => ({ - unq: uniqueIndex().on(table.userId, table.idempotencyKey), - }), -); - -export const giftsRelations = relations(gifts, ({ one, many }) => ({ - exchange: one(exchanges, { - fields: [gifts.exchangeId], - references: [exchanges.id], - }), - notifications: many(giftNotifications), -})); diff --git a/src/database/schema/index.ts b/src/database/schema/index.ts index f718200..6fd4d7a 100644 --- a/src/database/schema/index.ts +++ b/src/database/schema/index.ts @@ -2,8 +2,6 @@ export * from './accountRecovery'; export * from './divestmentOrders'; export * from './divestments'; export * from './exchanges'; -export * from './giftNotifications'; -export * from './gifts'; export * from './indexCriteria'; export * from './indexPerformances'; export * from './indexWeights'; diff --git a/src/types/analytics/email.ts b/src/types/analytics/email.ts index 3f458ea..3974dc2 100644 --- a/src/types/analytics/email.ts +++ b/src/types/analytics/email.ts @@ -29,13 +29,6 @@ export enum TransactionalEmailTemplateId { BillingChargeFailed = 'billing_charge_failed', BillingChargeFailedRequires2fa = 'billing_charge_failed_requires_2fa', - // Gift - GiftCreated = 'gift_created', - GiftRedemptionSucceededSender = 'gift_redemption_succeeeded_sender', - GiftRedemptionFailedSender = 'gift_redemption_failed_sender', - GiftRedemptionSucceededRecipient = 'gift_redemption_succeeded_recipient', - GiftRedemptionFailedRecipient = 'gift_redemption_failed_recipient', - // Schedule ScheduleCreated = 'schedule_created', ScheduleUpdated = 'schedule_updated', @@ -121,38 +114,6 @@ export type TransactionalEmailArgs = { amount: string; }; - // Gift - [TransactionalEmailTemplateId.GiftCreated]: { - asset: string; - amount: string; - recipient: string; - action: string; - }; - [TransactionalEmailTemplateId.GiftRedemptionSucceededSender]: { - asset: string; - amount: string; - recipient: string; - action: string; - }; - [TransactionalEmailTemplateId.GiftRedemptionFailedSender]: { - asset: string; - amount: string; - recipient: string; - action: string; - }; - [TransactionalEmailTemplateId.GiftRedemptionSucceededRecipient]: { - asset: string; - amount: string; - recipient: string; - action: string; - }; - [TransactionalEmailTemplateId.GiftRedemptionFailedRecipient]: { - asset: string; - amount: string; - recipient: string; - action: string; - }; - // Schedule [TransactionalEmailTemplateId.ScheduleCreated]: { asset: string; diff --git a/src/types/analytics/events/gift.ts b/src/types/analytics/events/gift.ts deleted file mode 100644 index 36a8b28..0000000 --- a/src/types/analytics/events/gift.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Gift specific events. - */ -export enum GiftEventName { - // IO - SubmitGift = 'Submit Gift', - SubmitGiftRedemption = 'Submit Gift Redemption', - - // API - GiftCreated = 'Gift Created', - GiftRedemptionCreated = 'Gift Redemption Created', - GiftRedemptionSucceeded = 'Gift Redemption Succeeded', - GiftRedemptionFailed = 'Gift Redemption Failed', -} diff --git a/src/types/analytics/events/index.ts b/src/types/analytics/events/index.ts index a3556df..6804bfa 100644 --- a/src/types/analytics/events/index.ts +++ b/src/types/analytics/events/index.ts @@ -2,7 +2,6 @@ import type { AuthEventName } from './auth'; import type { BillingEventName } from './billing'; import type { DivestmentEventName } from './divestment'; import type { ExchangeEventName } from './exchange'; -import type { GiftEventName } from './gift'; import type { IndexEventName } from './indexes'; import type { InvestmentEventName } from './investment'; import type { LendingEventName } from './lending'; @@ -14,7 +13,6 @@ export * from './auth'; export * from './billing'; export * from './divestment'; export * from './exchange'; -export * from './gift'; export * from './indexes'; export * from './investment'; export * from './lending'; @@ -30,7 +28,6 @@ export type AnalyticsEventName = | LendingEventName | NotificationEventName | ReferralEventName - | GiftEventName | InvestmentEventName | DivestmentEventName | ScheduleEventName; diff --git a/src/utils/idempotency.ts b/src/utils/idempotency.ts index fa898c4..b4a45b8 100644 --- a/src/utils/idempotency.ts +++ b/src/utils/idempotency.ts @@ -1,7 +1,7 @@ /* eslint-disable import/no-nodejs-modules */ import { createHash } from 'crypto'; -import type { NewDivestment, NewGift, NewInvestment } from '../database'; +import type { NewDivestment, NewInvestment } from '../database'; export const IdempotencyAlgorithm = 'md5'; // or sha256 @@ -86,17 +86,3 @@ export const createDivestmentIdempotencyKey = (divestment: NewDivestment) => divestment.exchangeId, divestment.portion, ]); - -/** - * Creates an idempotency key for a gift. - * @param gift - The gift. - * @returns The idempotency key. - */ -export const createGiftIdempotencyKey = (gift: NewGift) => - createIdempotencyKey([ - new Date().toJSON().slice(0, 10), - gift.exchangeId, - gift.asset, - gift.amount, - gift.recipient, - ]); From fdfbbe2d32cbfc8be193b75fd0b6308d4e2c587a Mon Sep 17 00:00:00 2001 From: Joshua Blew Date: Tue, 12 Nov 2024 12:11:29 -0500 Subject: [PATCH 2/4] refactor: remove deprecated lending code --- src/constants/urls.ts | 1 - src/types/analytics/events/index.ts | 3 --- src/types/analytics/events/lending.ts | 11 ----------- 3 files changed, 15 deletions(-) delete mode 100644 src/types/analytics/events/lending.ts diff --git a/src/constants/urls.ts b/src/constants/urls.ts index 439318c..fd0c814 100644 --- a/src/constants/urls.ts +++ b/src/constants/urls.ts @@ -56,7 +56,6 @@ export const normalUrls = { }, // Web Interface Urls - webInterfaceLendingUrl: `${NORMAL_WEB_URL}/lending`, webInterfaceIndexesUrl: `${NORMAL_WEB_URL}/indexes`, webInterfaceInvestmentsUrl: `${NORMAL_WEB_URL}/investments`, webInterfaceOrdersUrl: `${NORMAL_WEB_URL}/orders`, diff --git a/src/types/analytics/events/index.ts b/src/types/analytics/events/index.ts index 6804bfa..2fda80f 100644 --- a/src/types/analytics/events/index.ts +++ b/src/types/analytics/events/index.ts @@ -4,7 +4,6 @@ import type { DivestmentEventName } from './divestment'; import type { ExchangeEventName } from './exchange'; import type { IndexEventName } from './indexes'; import type { InvestmentEventName } from './investment'; -import type { LendingEventName } from './lending'; import type { NotificationEventName } from './notification'; import type { ReferralEventName } from './referral'; import type { ScheduleEventName } from './schedule'; @@ -15,7 +14,6 @@ export * from './divestment'; export * from './exchange'; export * from './indexes'; export * from './investment'; -export * from './lending'; export * from './notification'; export * from './referral'; export * from './schedule'; @@ -25,7 +23,6 @@ export type AnalyticsEventName = | BillingEventName | IndexEventName | ExchangeEventName - | LendingEventName | NotificationEventName | ReferralEventName | InvestmentEventName diff --git a/src/types/analytics/events/lending.ts b/src/types/analytics/events/lending.ts deleted file mode 100644 index ca3ab0e..0000000 --- a/src/types/analytics/events/lending.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Lending specific events. - */ -export enum LendingEventName { - // UI - OpenLendingDeposit = 'Open Lending Deposit', - OpenLendingWithdraw = 'Open Lending Withdraw', - - // API - LendingDepositCreated = 'Lending Deposit Created', -} From 37f9d8789304954cd6083fb91e82f1d3cc626594 Mon Sep 17 00:00:00 2001 From: Joshua Blew Date: Tue, 12 Nov 2024 12:15:36 -0500 Subject: [PATCH 3/4] refactor: remove extraneous fiat currencies --- src/types/api/index.ts | 4 ++-- src/types/indexes.ts | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/types/api/index.ts b/src/types/api/index.ts index c711435..acf8cf6 100644 --- a/src/types/api/index.ts +++ b/src/types/api/index.ts @@ -2,6 +2,6 @@ export * from './deposits'; export * from './orders'; export enum AmountType { - BASE = 'BASE', // @dev - QUOTE = 'QUOTE', // @dev + BASE = 'BASE', + QUOTE = 'QUOTE', } diff --git a/src/types/indexes.ts b/src/types/indexes.ts index 14b233d..efd38a5 100644 --- a/src/types/indexes.ts +++ b/src/types/indexes.ts @@ -11,16 +11,16 @@ export enum IndexQuoteFiatCurrency { CHF = 'CHF', AUD = 'AUD', JPY = 'JPY', - ART = 'ART', - BRL = 'BRL', - CZK = 'CZK', - IDRT = 'IDRT', - MXN = 'MXN', - PLN = 'PLN', - RON = 'RON', - TRY = 'TRY', - UAH = 'UAH', - ZAR = 'ZAR', + // ART = 'ART', + // BRL = 'BRL', + // CZK = 'CZK', + // IDRT = 'IDRT', + // MXN = 'MXN', + // PLN = 'PLN', + // RON = 'RON', + // TRY = 'TRY', + // UAH = 'UAH', + // ZAR = 'ZAR', } export const IndexQuoteCurrency = { From a2686bad9d9217f48aabdab737da0f303318363c Mon Sep 17 00:00:00 2001 From: Joshua Blew Date: Tue, 12 Nov 2024 15:49:18 -0500 Subject: [PATCH 4/4] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d8f7135..167c689 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@normalfinance/utils", - "version": "1.6.1", + "version": "1.6.2", "description": "A Typescript modules for frequently used types, utilities, constants, and more across Normal repositories.", "homepage": "https://github.com/normalfinance/utils#readme", "bugs": {