From 89efb3e587ea96ba15fe08ae236deddb195773ad Mon Sep 17 00:00:00 2001 From: "fazri.is" Date: Mon, 23 Jun 2025 23:04:46 +0700 Subject: [PATCH] up --- nodemon.json | 5 + package.json | 46 +++---- src/app.ts | 15 +++ src/config/database.ts | 275 +++++++++++++++++++++++++++++++++++++++++ src/types/status.ts | 4 +- 5 files changed, 320 insertions(+), 25 deletions(-) create mode 100644 nodemon.json create mode 100644 src/app.ts create mode 100644 src/config/database.ts diff --git a/nodemon.json b/nodemon.json new file mode 100644 index 0000000..0355e9a --- /dev/null +++ b/nodemon.json @@ -0,0 +1,5 @@ +{ + "watch": ["src"], + "ext": "ts", + "exec": "ts-node src/app.ts" +} diff --git a/package.json b/package.json index 6f661a6..da6c8eb 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,25 @@ { - "name": "entity", - "version": "1.0.0", - "description": "This kind of project was built to present entity table type ORM", - "main": "dist/src/index.js", - "types": "src/index.ts", - "scripts": { - "dev": "nodemon", - "build": "tsc" - }, - "keywords": [ - "BRI" - ], - "author": "STS", - "license": "ISC", - "dependencies": { - "bcryptjs": "^2.4.3", - "typeorm": "^0.3.24" - }, - "devDependencies": { - "@types/bcryptjs": "^2.4.6", - "@types/node": "^22.10.1", - "typescript": "^5.7.2" - } + "name": "entity", + "version": "1.0.0", + "description": "This kind of project was built to present entity table type ORM", + "main": "dist/src/index.js", + "types": "src/index.ts", + "scripts": { + "dev": "nodemon", + "build": "tsc" + }, + "keywords": [ + "BRI" + ], + "author": "STS", + "license": "ISC", + "dependencies": { + "bcryptjs": "^2.4.3", + "typeorm": "^0.3.24" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.6", + "@types/node": "^22.10.1", + "typescript": "^5.7.2" + } } diff --git a/src/app.ts b/src/app.ts new file mode 100644 index 0000000..cf4fd15 --- /dev/null +++ b/src/app.ts @@ -0,0 +1,15 @@ +import { initializeDatabase } from "./config/database"; + +const startApp = async () => { + try { + await initializeDatabase(); + + // Kode lainnya untuk menjalankan server, middleware, dll. + console.log("Aplikasi berhasil dijalankan"); + } catch (error) { + console.error("Gagal menjalankan aplikasi:", error); + process.exit(1); + } +}; + +startApp(); diff --git a/src/config/database.ts b/src/config/database.ts new file mode 100644 index 0000000..8c18cd8 --- /dev/null +++ b/src/config/database.ts @@ -0,0 +1,275 @@ +import { createConnection } from "typeorm"; + +import { CifAccount } from "../entity/cif_account"; +import { LNKOLEK } from "../entity/lnkolek"; +import { TrialBalanceBranch } from "../entity/trial_balance_branch"; +import { TrialBalanceConsolidation } from "../entity/trial_balance_consolidation"; +import { UserActivity } from "../entity/user_activity"; +import { UserRefreshToken } from "../entity/user_refresh_token"; +import { User } from "../entity/users"; +import { UserRole } from "../entity/users_roles"; +import { Branch } from "../entity/branchs"; +import { Product } from "../entity/products"; +import { Menu } from "../entity/menu"; +import { Administrativu } from "../entity/administrativu"; +import { Aldeia } from "../entity/aldeia"; +import { ClassEconomi } from "../entity/class_economi"; +import { District } from "../entity/district"; +import { IncomeTier } from "../entity/income_tier"; +import { Munisipo } from "../entity/munisipo"; +import { Suco } from "../entity/suco"; +import { LogPull } from "../entity/log_pull"; +import { Category } from "../entity/categories"; +import { PullerStatus } from "../entity/puller_status"; +import { Target } from "../entity/targets"; +import { BankGaransi } from "../entity/bank_garansi"; +import { BankGaransiType } from "../entity/bank_garansi_type"; +import { BankGaransiStatus } from "../entity/bank_garansi_status"; +import { BankGaransiPending } from "../entity/bank_garansi_pending"; +import { BankGaransiPic } from "../entity/bank_garansi_pic"; +import { Summarize } from "../entity/summarizes"; +import { SummarizeLog } from "../entity/summarize_log"; +import { Ledger } from "../entity/ledgers"; +import { BpaFormat } from "../entity/bpa_format"; +import { BpaLog } from "../entity/bpa_log"; +import { Bpa } from "../entity/bpa"; +import { CreditCompany } from "../entity/credit_companies"; +import { CreditDebtor } from "../entity/credit_debtors"; +import { CreditTypeForms } from "../entity/credit_type_forms"; +import { CreditApplication } from "../entity/credit_applications"; +import { CreditApplicationForm } from "../entity/credit_application_forms"; +import { CreditCompanyUser } from "../entity/credit_company_users"; +import { CreditCompanyUserRefreshToken } from "../entity/credit_company_user_refresh_token"; +import { CreditApplicationChat } from "../entity/credit_application_chats"; +import { CreditConfigs } from "../entity/credit_config"; +import { CreditConfigInsurance } from "../entity/credit_config_insurance"; +import { Application } from "../entity/application"; +import { TellerMutation } from "../entity/teller_mutation"; +import { LogHikvision } from "../entity/log_hikvision"; +import { BrivaCompany } from "../entity/briva_companies"; +import { BrivaCompanyUser } from "../entity/briva_company_users"; +import { BrivaCompanyUserRefreshToken } from "../entity/briva_company_user_refresh_token"; +import { BrivaAccount } from "../entity/briva_accounts"; +import { BrivaTransaction } from "../entity/briva_transactions"; + +import { AssetSupplier } from "../entity/asset_supplier"; +import { AssetFixedClassification } from "../entity/asset_fixed_classification"; +import { AssetFixedType } from "../entity/asset_fixed_type"; +import { AssetGoodCategory } from "../entity/asset_good_category"; +import { AssetGood } from "../entity/asset_good"; +import { AssetRequestOrderCategory } from "../entity/asset_request_order_category"; +import { AssetRequestOrder } from "../entity/asset_request_order"; +import { AssetRequestOrderGood } from "../entity/asset_request_order_good"; +import { AssetPurchase } from "../entity/asset_purchase"; +import { AssetPurchaseRequestOrder } from "../entity/asset_purchase_request_order"; +import { AssetPurchaseGoodsReceipt } from "../entity/asset_purchase_goods_receipt"; +import { AssetPurchaseGoodReceiptGood } from "../entity/asset_purchase_goods_receipt_good"; +import { AssetPurchaseRealization } from "../entity/asset_purchase_realization"; +import { AssetPurchaseBondRealizationGood } from "../entity/asset_purchase_purchase_bond_realization_good"; +import { AssetPurchaseInvoice } from "../entity/asset_purchase_invoice"; +import { AssetInventory } from "../entity/asset_inventories"; +import { AssetInventoryAttribute } from "../entity/asset_inventory_attributes"; +import { AssetInventoryHistory } from "../entity/asset_inventory_histories"; +import { AssetInventoryDepreciation } from "../entity/asset_inventory_depreciations"; +import { AssetInventoryDepreciationLog } from "../entity/asset_inventory_depreciation_logs"; + +import { RemitMunisipo } from "../entity/remit_munisipos"; +import { RemitAdministrativu } from "../entity/remit_administrativus"; +import { RemitSuco } from "../entity/remit_sucos"; +import { RemitAldeia } from "../entity/remit_aldeias"; +import { RemitBeneficial } from "../entity/remit_beneficials"; +import { RemitBeneficiary } from "../entity/remit_beneficiaries"; +import { RemitConfigBank } from "../entity/remit_config_banks"; +import { RemitConfigBusinessType } from "../entity/remit_config_business_types"; +import { RemitConfigKurs } from "../entity/remit_config_kurs"; +import { RemitConfigNationalities } from "../entity/remit_config_nationalities"; +import { RemitConfigOccupation } from "../entity/remit_config_occupations"; +import { RemitConfigPurpose } from "../entity/remit_config_purposes"; +import { RemitConfigSourceIncome } from "../entity/remit_config_source_incomes"; +import { RemitPartnerAccounts } from "../entity/remit_partner_accounts"; +import { RemitPartnerApi } from "../entity/remit_partner_apis"; +import { RemitPartnerDocument } from "../entity/remit_partner_documents"; +import { RemitPartnerFee } from "../entity/remit_partner_fees"; +import { RemitPartnerOwners } from "../entity/remit_partner_owners"; +import { RemitPartnerUser } from "../entity/remit_partner_users"; +import { RemitPartner } from "../entity/remit_partners"; +import { RemitSender } from "../entity/remit_senders"; +import { RemitTransaction } from "../entity/remit_transactions"; +import { BrizziBatch } from "../entity/brizzi_batchs"; +import { BrizziCard } from "../entity/brizzi_cards"; +import { BrizziHistory } from "../entity/brizzi_history"; +import { BrizziOldCard } from "../entity/brizzi_old_card"; +import { BrilinkMerchant } from "../entity/brilink_merchants"; +import { BrilinkMerchantUser } from "../entity/brilink_merchant_users"; +import { BrilinkMerchantUserRefreshToken } from "../entity/brilink_merchant_user_refresh_token"; +import { BrilinkTerminal } from "../entity/brilink_terminals"; +import { BrilinkTerminalMenu } from "../entity/brilink_terminal_menus"; +import { BrilinkMerchantSite } from "../entity/brilink_merchant_sites"; +import { BrilinkMerchantTerminal } from "../entity/brilink_merchant_terminals"; +import { BrilinkMerchantTerminalHistory } from "../entity/brilink_merchant_terminal_histories"; +import { BrilinkMerchantTerminalMenu } from "../entity/brilink_merchant_terminal_menus"; +import { BrilinkMerchantTerminalUser } from "../entity/brilink_merchant_terminal_users"; +import { BrilinkMerchantTerminalUserRefreshToken } from "../entity/brilink_merchant_terminal_user_refresh_token"; +import { BrilinkBalance } from "../entity/brilink_balances.ts"; +import { BrilinkBalanceMutation } from "../entity/brilink_balance_mutations"; +import { BrilinkBalanceTopup } from "../entity/brilink_balance_topup"; +import { BrilinkTerminalLanguage } from "../entity/brilink_terminal_languages"; +import { BrilinkTransaction } from "../entity/brilink_transactions"; +import { BrilinkMerchantSettlement } from "../entity/brilink_merchant_settlements"; +import { BrilinkMembership } from "../entity/brilink_memberships"; +import { BrilinkMembershipCard } from "../entity/brilink_membership_cards"; +import { BrilinkDiscount } from "../entity/brilink_discounts"; + +import { BriapiConfig } from "../entity/briapi_configs"; +import { BriapiLog } from "../entity/briapi_logs"; +import { BriapiAppendixBank } from "../entity/briapi_appendix_banks"; +import { BriapiAppendixWallet } from "../entity/briapi_appendix_wallets"; +import { BriapiAppendixId } from "../entity/briapi_appendix_ids"; + +export const initializeDatabase = async () => { + try { + const connection = await createConnection({ + type: "postgres", + host: "localhost", + port: 5432, + username: "bri_dev", + password: "@Admin123@", + database: "bri_dev", + schema: "public", + entities: [ + User, + UserRole, + UserActivity, + UserRefreshToken, + TrialBalanceBranch, + TrialBalanceConsolidation, + LNKOLEK, + CifAccount, + Product, + Branch, + Menu, + Administrativu, + Aldeia, + ClassEconomi, + District, + IncomeTier, + Munisipo, + Suco, + LogPull, + Category, + PullerStatus, + Target, + BankGaransi, + BankGaransiPending, + BankGaransiType, + BankGaransiStatus, + BankGaransiPic, + Summarize, + SummarizeLog, + Ledger, + BpaFormat, + BpaLog, + Bpa, + CreditCompany, + CreditDebtor, + CreditTypeForms, + CreditApplication, + CreditApplicationForm, + CreditCompanyUser, + CreditCompanyUserRefreshToken, + CreditApplicationChat, + CreditConfigs, + CreditConfigInsurance, + Application, + TellerMutation, + LogHikvision, + BrivaCompany, + BrivaCompanyUser, + BrivaCompanyUserRefreshToken, + BrivaAccount, + BrivaTransaction, + AssetSupplier, + AssetFixedClassification, + AssetFixedType, + AssetGoodCategory, + AssetGood, + AssetRequestOrderCategory, + AssetRequestOrder, + AssetRequestOrderGood, + AssetPurchase, + AssetPurchaseRequestOrder, + AssetPurchaseGoodsReceipt, + AssetPurchaseGoodReceiptGood, + AssetPurchaseRealization, + AssetPurchaseBondRealizationGood, + AssetPurchaseInvoice, + AssetInventory, + AssetInventoryAttribute, + AssetInventoryHistory, + AssetInventoryDepreciation, + AssetInventoryDepreciationLog, + BrizziBatch, + BrizziCard, + BrizziHistory, + BrizziOldCard, + BrilinkMerchant, + BrilinkMerchantUser, + BrilinkMerchantUserRefreshToken, + BrilinkTerminal, + BrilinkTerminalMenu, + BrilinkMerchantSite, + BrilinkMerchantTerminal, + BrilinkMerchantTerminalHistory, + BrilinkMerchantTerminalMenu, + BrilinkMerchantTerminalUser, + BrilinkMerchantTerminalUserRefreshToken, + BrilinkBalance, + BrilinkBalanceMutation, + BrilinkBalanceTopup, + BrilinkTerminalLanguage, + BrilinkTransaction, + BrilinkMerchantSettlement, + BrilinkMembership, + BrilinkMembershipCard, + BrilinkDiscount, + BriapiConfig, + BriapiLog, + BriapiAppendixBank, + BriapiAppendixWallet, + BriapiAppendixId, + RemitMunisipo, + RemitAdministrativu, + RemitSuco, + RemitAldeia, + RemitBeneficial, + RemitBeneficiary, + RemitConfigBank, + RemitConfigBusinessType, + RemitConfigKurs, + RemitConfigNationalities, + RemitConfigOccupation, + RemitConfigPurpose, + RemitConfigSourceIncome, + RemitPartnerAccounts, + RemitPartnerApi, + RemitPartnerDocument, + RemitPartnerFee, + RemitPartnerOwners, + RemitPartnerUser, + RemitPartner, + RemitSender, + RemitTransaction, + ], + synchronize: true, + }); + + console.log("Koneksi database berhasil dibuat"); + console.log("Tabel berhasil dibuat"); + console.log("applikasi Berhasil"); + + return connection; + } catch (error) { + console.error("Error saat membuat koneksi database:", error); + throw error; + } +}; diff --git a/src/types/status.ts b/src/types/status.ts index 33589e3..3ed936d 100644 --- a/src/types/status.ts +++ b/src/types/status.ts @@ -1,4 +1,4 @@ export enum Status { - "Active" = "Y", - "Not Active" = "N", + "Active" = "Y", + "Not Active" = "N", }