This commit is contained in:
2025-06-23 23:04:46 +07:00
parent be21d852dc
commit 89efb3e587
5 changed files with 320 additions and 25 deletions

5
nodemon.json Normal file
View File

@ -0,0 +1,5 @@
{
"watch": ["src"],
"ext": "ts",
"exec": "ts-node src/app.ts"
}

View File

@ -1,25 +1,25 @@
{ {
"name": "entity", "name": "entity",
"version": "1.0.0", "version": "1.0.0",
"description": "This kind of project was built to present entity table type ORM", "description": "This kind of project was built to present entity table type ORM",
"main": "dist/src/index.js", "main": "dist/src/index.js",
"types": "src/index.ts", "types": "src/index.ts",
"scripts": { "scripts": {
"dev": "nodemon", "dev": "nodemon",
"build": "tsc" "build": "tsc"
}, },
"keywords": [ "keywords": [
"BRI" "BRI"
], ],
"author": "STS", "author": "STS",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"typeorm": "^0.3.24" "typeorm": "^0.3.24"
}, },
"devDependencies": { "devDependencies": {
"@types/bcryptjs": "^2.4.6", "@types/bcryptjs": "^2.4.6",
"@types/node": "^22.10.1", "@types/node": "^22.10.1",
"typescript": "^5.7.2" "typescript": "^5.7.2"
} }
} }

15
src/app.ts Normal file
View File

@ -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();

275
src/config/database.ts Normal file
View File

@ -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;
}
};

View File

@ -1,4 +1,4 @@
export enum Status { export enum Status {
"Active" = "Y", "Active" = "Y",
"Not Active" = "N", "Not Active" = "N",
} }