import { relations } from "drizzle-orm/relations";
import { tcClinicalResultMajor, tcClinicalResultMiddle, tcDiseaseDetail, tcDiseaseMajor, tcDiseaseMiddle, tcDiseaseMinor, tcMedicationCategory, tcMedicationStandard, thClientInvoice, thFax, thInvoice, thMoneyCorp, thMoneyPaymentCancel, thMoneyUsage, thMoneyWallet, tnAdmin, tnAdminAlarm, tnAdvertisement, tnAdvertisementStatistics, tnAgency, tnAgencyContract, tnAgencySettlement, tnAgencySettlementOrderMap, tnAlarm, tnAnalysisBasic, tnAnalysisCarBasic, tnAnalysisCarDetail, tnAnalysisDetail, tnAuth, tnB2cAnalysisBasic, tnB2cAnalysisCarBasic, tnB2cAnalysisCarDetail, tnB2cAnalysisDetail, tnB2cAnalysisPrescribe, tnB2cOrderDetail, tnB2cUser, tnBoard, tnBoardCategory, tnBoardCategoryMap, tnBoardComment, tnBoardFile, tnBoardFileMap, tnCard, tnClient, tnClientAnalysisBasic, tnClientAnalysisCarBasic, tnClientAnalysisCarDetail, tnClientAnalysisDetail, tnClientAnalysisOptionMap, tnClientContract, tnClientOrderDetail, tnClientSettlement, tnClientSettlementOrderMap, tnClientUser, tnCourses, tnCoursesBookmark, tnCoursesCategory, tnCoursesEnrollments, tnCoursesProgress, tnCoursesReviews, tnCoursesSections, tnCoursesVideos, tnCoursesVideosProgress, tnInsurer, tnInsurerInvoice, tnInvoice, tnLossAdjustment, tnLossAdjustmentCategory, tnLossAdjustmentComment, tnLossAdjustmentFile, tnLossAdjustmentFileMap, tnLossAdjustmentSubCategory, tnMember, tnMenu, tnMenuAuthMap, tnMoneyGrant, tnMoneyGrantTarget, tnMoneyIssue, tnMoneyIssueTarget, tnMoneyPayment, tnMoneyRefund, tnMoneySource, tnOrder, tnOrderDetail, tnPayment, tnProduct, tnRefund, tnSalesAgency, tnSalesAgencyChannel, tnSubscribe, tnAgencyTerms, tnUser } from "./schema";

export const tcClinicalResultMiddleRelations = relations(tcClinicalResultMiddle, ({one}) => ({
	tcClinicalResultMajor: one(tcClinicalResultMajor, {
		fields: [tcClinicalResultMiddle.crmId],
		references: [tcClinicalResultMajor.crmId]
	}),
}));

export const tcClinicalResultMajorRelations = relations(tcClinicalResultMajor, ({many}) => ({
	tcClinicalResultMiddles: many(tcClinicalResultMiddle),
}));

export const tcDiseaseDetailRelations = relations(tcDiseaseDetail, ({one}) => ({
	tcDiseaseMinor: one(tcDiseaseMinor, {
		fields: [tcDiseaseDetail.ddtMajorCode],
		references: [tcDiseaseMinor.dsnMajorCode]
	}),
}));

export const tcDiseaseMinorRelations = relations(tcDiseaseMinor, ({one, many}) => ({
	tcDiseaseDetails: many(tcDiseaseDetail),
	tcDiseaseMiddle: one(tcDiseaseMiddle, {
		fields: [tcDiseaseMinor.dsnMajorCode],
		references: [tcDiseaseMiddle.dsdMajorCode]
	}),
}));

export const tcDiseaseMiddleRelations = relations(tcDiseaseMiddle, ({one, many}) => ({
	tcDiseaseMajor: one(tcDiseaseMajor, {
		fields: [tcDiseaseMiddle.dsdMajorCode],
		references: [tcDiseaseMajor.dsmMajorCode]
	}),
	tcDiseaseMinors: many(tcDiseaseMinor),
}));

export const tcDiseaseMajorRelations = relations(tcDiseaseMajor, ({many}) => ({
	tcDiseaseMiddles: many(tcDiseaseMiddle),
}));

export const tcMedicationStandardRelations = relations(tcMedicationStandard, ({one}) => ({
	tcMedicationCategory: one(tcMedicationCategory, {
		fields: [tcMedicationStandard.mscCategoryId],
		references: [tcMedicationCategory.mcId]
	}),
}));

export const tcMedicationCategoryRelations = relations(tcMedicationCategory, ({many}) => ({
	tcMedicationStandards: many(tcMedicationStandard),
}));

export const thClientInvoiceRelations = relations(thClientInvoice, ({one}) => ({
	tnClientUser: one(tnClientUser, {
		fields: [thClientInvoice.cluId],
		references: [tnClientUser.cluId]
	}),
}));

export const tnClientUserRelations = relations(tnClientUser, ({one, many}) => ({
	thClientInvoices: many(thClientInvoice),
	tnClientOrderDetails: many(tnClientOrderDetail),
	tnClient: one(tnClient, {
		fields: [tnClientUser.cliId],
		references: [tnClient.cliId]
	}),
}));

export const thInvoiceRelations = relations(thInvoice, ({one, many}) => ({
	tnMember: one(tnMember, {
		fields: [thInvoice.memId],
		references: [tnMember.memId]
	}),
	tnFaxHistories: many(thFax),
}));

export const tnMemberRelations = relations(tnMember, ({many}) => ({
	thInvoices: many(thInvoice),
	tnAlarms: many(tnAlarm),
	tnBoards: many(tnBoard),
	tnCards: many(tnCard),
	tnCoursesBookmarks: many(tnCoursesBookmark),
	tnCoursesEnrollments: many(tnCoursesEnrollments),
	tnCoursesProgresses: many(tnCoursesProgress),
	tnCoursesReviews: many(tnCoursesReviews),
	tnCoursesVideosProgresses: many(tnCoursesVideosProgress),
	tnFaxHistories: many(thFax),
	tnLossAdjustments: many(tnLossAdjustment),
	tnMoneyIssueTargets: many(tnMoneyIssueTarget),
	tnMoneyGrantTargets: many(tnMoneyGrantTarget),
	tnMoneyPayments: many(tnMoneyPayment),
	tnMoneyRefunds: many(tnMoneyRefund),
	thMoneyWallets: many(thMoneyWallet),
	tnMoneySources: many(tnMoneySource),
	tnSubscribes: many(tnSubscribe),
}));

export const tnAdminRelations = relations(tnAdmin, ({one, many}) => ({
	tnAuth: one(tnAuth, {
		fields: [tnAdmin.athId],
		references: [tnAuth.athId]
	}),
	tnAdminAlarms: many(tnAdminAlarm),
	tnBoardComments: many(tnBoardComment),
	tnLossAdjustmentComments: many(tnLossAdjustmentComment),
}));

export const tnAuthRelations = relations(tnAuth, ({many}) => ({
	tnAdmins: many(tnAdmin),
	tnMenuAuthMaps: many(tnMenuAuthMap),
}));

export const tnAdminAlarmRelations = relations(tnAdminAlarm, ({one}) => ({
	tnAdmin: one(tnAdmin, {
		fields: [tnAdminAlarm.admId],
		references: [tnAdmin.admId]
	}),
}));

export const tnAdvertisementStatisticsRelations = relations(tnAdvertisementStatistics, ({one}) => ({
	tnAdvertisement: one(tnAdvertisement, {
		fields: [tnAdvertisementStatistics.adsId],
		references: [tnAdvertisement.adsId]
	}),
}));

export const tnAdvertisementRelations = relations(tnAdvertisement, ({many}) => ({
	tnAdvertisementStatistics: many(tnAdvertisementStatistics),
}));

export const tnAgencyContractRelations = relations(tnAgencyContract, ({one}) => ({
	tnAgency: one(tnAgency, {
		fields: [tnAgencyContract.agcId],
		references: [tnAgency.agcId]
	}),
	tnProduct: one(tnProduct, {
		fields: [tnAgencyContract.prdId],
		references: [tnProduct.prdId]
	}),
}));

export const tnAgencyRelations = relations(tnAgency, ({many}) => ({
	tnAgencyContracts: many(tnAgencyContract),
	tnAgencySettlements: many(tnAgencySettlement),
	tnAgencyTermsList: many(tnAgencyTerms),
}));

export const tnAgencyTermsRelations = relations(tnAgencyTerms, ({one}) => ({
	tnAgency: one(tnAgency, {
		fields: [tnAgencyTerms.agcId],
		references: [tnAgency.agcId]
	}),
}));

export const tnProductRelations = relations(tnProduct, ({many}) => ({
	tnAgencyContracts: many(tnAgencyContract),
	tnSubscribes: many(tnSubscribe),
}));

export const tnAgencySettlementRelations = relations(tnAgencySettlement, ({one, many}) => ({
	tnAgency: one(tnAgency, {
		fields: [tnAgencySettlement.agcId],
		references: [tnAgency.agcId]
	}),
	tnAgencySettlementOrderMaps: many(tnAgencySettlementOrderMap),
}));

export const tnAgencySettlementOrderMapRelations = relations(tnAgencySettlementOrderMap, ({one}) => ({
	tnAgencySettlement: one(tnAgencySettlement, {
		fields: [tnAgencySettlementOrderMap.astId],
		references: [tnAgencySettlement.astId]
	}),
	tnOrder: one(tnOrder, {
		fields: [tnAgencySettlementOrderMap.ordId],
		references: [tnOrder.ordId]
	}),
}));

export const tnOrderRelations = relations(tnOrder, ({one, many}) => ({
	tnAgencySettlementOrderMaps: many(tnAgencySettlementOrderMap),
	tnPayment: one(tnPayment, {
		fields: [tnOrder.pmtId],
		references: [tnPayment.pmtId]
	}),
	tnOrderDetails: many(tnOrderDetail),
	tnRefunds: many(tnRefund),
}));

export const tnAlarmRelations = relations(tnAlarm, ({one}) => ({
	tnMember: one(tnMember, {
		fields: [tnAlarm.memId],
		references: [tnMember.memId]
	}),
}));

export const tnAnalysisBasicRelations = relations(tnAnalysisBasic, ({one, many}) => ({
	tnOrderDetail: one(tnOrderDetail, {
		fields: [tnAnalysisBasic.oddId],
		references: [tnOrderDetail.oddId]
	}),
	tnAnalysisDetails: many(tnAnalysisDetail),
}));

export const tnOrderDetailRelations = relations(tnOrderDetail, ({one, many}) => ({
	tnAnalysisBasics: many(tnAnalysisBasic),
	tnAnalysisCarBasics: many(tnAnalysisCarBasic),
	tnAnalysisCarDetails: many(tnAnalysisCarDetail),
	tnAnalysisDetails: many(tnAnalysisDetail),
	tnOrder: one(tnOrder, {
		fields: [tnOrderDetail.ordId],
		references: [tnOrder.ordId]
	}),
	tnUser: one(tnUser, {
		fields: [tnOrderDetail.usrId],
		references: [tnUser.usrId]
	}),
}));

export const tnAnalysisCarBasicRelations = relations(tnAnalysisCarBasic, ({one, many}) => ({
	tnOrderDetail: one(tnOrderDetail, {
		fields: [tnAnalysisCarBasic.oddId],
		references: [tnOrderDetail.oddId]
	}),
	tnAnalysisCarDetails: many(tnAnalysisCarDetail),
}));

export const tnAnalysisCarDetailRelations = relations(tnAnalysisCarDetail, ({one}) => ({
	tnAnalysisCarBasic: one(tnAnalysisCarBasic, {
		fields: [tnAnalysisCarDetail.acbId],
		references: [tnAnalysisCarBasic.acbId]
	}),
	tnOrderDetail: one(tnOrderDetail, {
		fields: [tnAnalysisCarDetail.oddId],
		references: [tnOrderDetail.oddId]
	}),
}));

export const tnAnalysisDetailRelations = relations(tnAnalysisDetail, ({one}) => ({
	tnAnalysisBasic: one(tnAnalysisBasic, {
		fields: [tnAnalysisDetail.asbId],
		references: [tnAnalysisBasic.asbId]
	}),
	tnOrderDetail: one(tnOrderDetail, {
		fields: [tnAnalysisDetail.oddId],
		references: [tnOrderDetail.oddId]
	}),
}));

export const tnB2cAnalysisBasicRelations = relations(tnB2cAnalysisBasic, ({one, many}) => ({
	tnB2cOrderDetail: one(tnB2cOrderDetail, {
		fields: [tnB2cAnalysisBasic.bodId],
		references: [tnB2cOrderDetail.bodId]
	}),
	tnB2cAnalysisDetails: many(tnB2cAnalysisDetail),
}));

export const tnB2cOrderDetailRelations = relations(tnB2cOrderDetail, ({one, many}) => ({
	tnB2cAnalysisBasics: many(tnB2cAnalysisBasic),
	tnB2cAnalysisCarBasics: many(tnB2cAnalysisCarBasic),
	tnB2cAnalysisCarDetails: many(tnB2cAnalysisCarDetail),
	tnB2cAnalysisDetails: many(tnB2cAnalysisDetail),
	tnB2cAnalysisPrescribes: many(tnB2cAnalysisPrescribe),
	tnB2cUser: one(tnB2cUser, {
		fields: [tnB2cOrderDetail.bcuId],
		references: [tnB2cUser.bcuId]
	}),
}));

export const tnB2cAnalysisCarBasicRelations = relations(tnB2cAnalysisCarBasic, ({one, many}) => ({
	tnB2cOrderDetail: one(tnB2cOrderDetail, {
		fields: [tnB2cAnalysisCarBasic.bodId],
		references: [tnB2cOrderDetail.bodId]
	}),
	tnB2cAnalysisCarDetails: many(tnB2cAnalysisCarDetail),
}));

export const tnB2cAnalysisCarDetailRelations = relations(tnB2cAnalysisCarDetail, ({one}) => ({
	tnB2cAnalysisCarBasic: one(tnB2cAnalysisCarBasic, {
		fields: [tnB2cAnalysisCarDetail.bacbId],
		references: [tnB2cAnalysisCarBasic.bacbId]
	}),
	tnB2cOrderDetail: one(tnB2cOrderDetail, {
		fields: [tnB2cAnalysisCarDetail.bodId],
		references: [tnB2cOrderDetail.bodId]
	}),
}));

export const tnB2cAnalysisDetailRelations = relations(tnB2cAnalysisDetail, ({one}) => ({
	tnB2cAnalysisBasic: one(tnB2cAnalysisBasic, {
		fields: [tnB2cAnalysisDetail.basbId],
		references: [tnB2cAnalysisBasic.basbId]
	}),
	tnB2cOrderDetail: one(tnB2cOrderDetail, {
		fields: [tnB2cAnalysisDetail.bodId],
		references: [tnB2cOrderDetail.bodId]
	}),
}));

export const tnB2cAnalysisPrescribeRelations = relations(tnB2cAnalysisPrescribe, ({one}) => ({
	tnB2cOrderDetail: one(tnB2cOrderDetail, {
		fields: [tnB2cAnalysisPrescribe.bodId],
		references: [tnB2cOrderDetail.bodId]
	}),
}));

export const tnB2cUserRelations = relations(tnB2cUser, ({many}) => ({
	tnB2cOrderDetails: many(tnB2cOrderDetail),
}));

export const tnBoardRelations = relations(tnBoard, ({one, many}) => ({
	tnMember: one(tnMember, {
		fields: [tnBoard.memId],
		references: [tnMember.memId]
	}),
	tnBoardCategoryMaps: many(tnBoardCategoryMap),
	tnBoardComments: many(tnBoardComment),
	tnBoardFileMaps: many(tnBoardFileMap),
}));

export const tnBoardCategoryMapRelations = relations(tnBoardCategoryMap, ({one}) => ({
	tnBoard: one(tnBoard, {
		fields: [tnBoardCategoryMap.brdId],
		references: [tnBoard.brdId]
	}),
	tnBoardCategory: one(tnBoardCategory, {
		fields: [tnBoardCategoryMap.bcaId],
		references: [tnBoardCategory.bcaId]
	}),
}));

export const tnBoardCategoryRelations = relations(tnBoardCategory, ({many}) => ({
	tnBoardCategoryMaps: many(tnBoardCategoryMap),
}));

export const tnBoardCommentRelations = relations(tnBoardComment, ({one}) => ({
	tnBoard: one(tnBoard, {
		fields: [tnBoardComment.brdId],
		references: [tnBoard.brdId]
	}),
	tnAdmin: one(tnAdmin, {
		fields: [tnBoardComment.admId],
		references: [tnAdmin.admId]
	}),
}));

export const tnBoardFileMapRelations = relations(tnBoardFileMap, ({one}) => ({
	tnBoard: one(tnBoard, {
		fields: [tnBoardFileMap.brdId],
		references: [tnBoard.brdId]
	}),
	tnBoardFile: one(tnBoardFile, {
		fields: [tnBoardFileMap.brfId],
		references: [tnBoardFile.brfId]
	}),
}));

export const tnBoardFileRelations = relations(tnBoardFile, ({many}) => ({
	tnBoardFileMaps: many(tnBoardFileMap),
}));

export const tnCardRelations = relations(tnCard, ({one}) => ({
	tnMember: one(tnMember, {
		fields: [tnCard.memId],
		references: [tnMember.memId]
	}),
}));

export const tnClientAnalysisBasicRelations = relations(tnClientAnalysisBasic, ({one, many}) => ({
	tnClientOrderDetail: one(tnClientOrderDetail, {
		fields: [tnClientAnalysisBasic.codId],
		references: [tnClientOrderDetail.codId]
	}),
	tnClientAnalysisDetails: many(tnClientAnalysisDetail),
}));

export const tnClientOrderDetailRelations = relations(tnClientOrderDetail, ({one, many}) => ({
	tnClientAnalysisBasics: many(tnClientAnalysisBasic),
	tnClientAnalysisCarBasics: many(tnClientAnalysisCarBasic),
	tnClientAnalysisCarDetails: many(tnClientAnalysisCarDetail),
	tnClientAnalysisDetails: many(tnClientAnalysisDetail),
	tnClientContract: one(tnClientContract, {
		fields: [tnClientOrderDetail.ccnId],
		references: [tnClientContract.ccnId]
	}),
	tnClientUser: one(tnClientUser, {
		fields: [tnClientOrderDetail.cluId],
		references: [tnClientUser.cluId]
	}),
	tnClientSettlementOrderMaps: many(tnClientSettlementOrderMap),
}));

export const tnClientAnalysisCarBasicRelations = relations(tnClientAnalysisCarBasic, ({one, many}) => ({
	tnClientOrderDetail: one(tnClientOrderDetail, {
		fields: [tnClientAnalysisCarBasic.codId],
		references: [tnClientOrderDetail.codId]
	}),
	tnClientAnalysisCarDetails: many(tnClientAnalysisCarDetail),
}));

export const tnClientAnalysisCarDetailRelations = relations(tnClientAnalysisCarDetail, ({one}) => ({
	tnClientAnalysisCarBasic: one(tnClientAnalysisCarBasic, {
		fields: [tnClientAnalysisCarDetail.cacbId],
		references: [tnClientAnalysisCarBasic.cacbId]
	}),
	tnClientOrderDetail: one(tnClientOrderDetail, {
		fields: [tnClientAnalysisCarDetail.codId],
		references: [tnClientOrderDetail.codId]
	}),
}));

export const tnClientAnalysisDetailRelations = relations(tnClientAnalysisDetail, ({one}) => ({
	tnClientAnalysisBasic: one(tnClientAnalysisBasic, {
		fields: [tnClientAnalysisDetail.casbId],
		references: [tnClientAnalysisBasic.casbId]
	}),
	tnClientOrderDetail: one(tnClientOrderDetail, {
		fields: [tnClientAnalysisDetail.codId],
		references: [tnClientOrderDetail.codId]
	}),
}));

export const tnClientAnalysisOptionMapRelations = relations(tnClientAnalysisOptionMap, ({one}) => ({
	tnClientContract: one(tnClientContract, {
		fields: [tnClientAnalysisOptionMap.ccnCode],
		references: [tnClientContract.ccnCode]
	}),
}));

export const tnClientContractRelations = relations(tnClientContract, ({one, many}) => ({
	tnClientAnalysisOptionMaps: many(tnClientAnalysisOptionMap),
	tnClient: one(tnClient, {
		fields: [tnClientContract.cliId],
		references: [tnClient.cliId]
	}),
	tnClientOrderDetails: many(tnClientOrderDetail),
}));

export const tnClientRelations = relations(tnClient, ({many}) => ({
	tnClientContracts: many(tnClientContract),
	tnClientSettlements: many(tnClientSettlement),
	tnClientUsers: many(tnClientUser),
}));

export const tnClientSettlementRelations = relations(tnClientSettlement, ({one, many}) => ({
	tnClient: one(tnClient, {
		fields: [tnClientSettlement.cliId],
		references: [tnClient.cliId]
	}),
	tnClientSettlementOrderMaps: many(tnClientSettlementOrderMap),
}));

export const tnClientSettlementOrderMapRelations = relations(tnClientSettlementOrderMap, ({one}) => ({
	tnClientSettlement: one(tnClientSettlement, {
		fields: [tnClientSettlementOrderMap.cstId],
		references: [tnClientSettlement.cstId]
	}),
	tnClientOrderDetail: one(tnClientOrderDetail, {
		fields: [tnClientSettlementOrderMap.codId],
		references: [tnClientOrderDetail.codId]
	}),
}));

export const tnCoursesRelations = relations(tnCourses, ({one, many}) => ({
	tnCoursesCategory: one(tnCoursesCategory, {
		fields: [tnCourses.ccaId],
		references: [tnCoursesCategory.ccaId]
	}),
	tnCoursesBookmarks: many(tnCoursesBookmark),
	tnCoursesEnrollments: many(tnCoursesEnrollments),
	tnCoursesProgresses: many(tnCoursesProgress),
	tnCoursesReviews: many(tnCoursesReviews),
	tnCoursesSections: many(tnCoursesSections),
}));

export const tnCoursesCategoryRelations = relations(tnCoursesCategory, ({many}) => ({
	tnCourses: many(tnCourses),
}));

export const tnCoursesBookmarkRelations = relations(tnCoursesBookmark, ({one}) => ({
	tnCourse: one(tnCourses, {
		fields: [tnCoursesBookmark.crsId],
		references: [tnCourses.crsId]
	}),
	tnMember: one(tnMember, {
		fields: [tnCoursesBookmark.memId],
		references: [tnMember.memId]
	}),
}));

export const tnCoursesEnrollmentsRelations = relations(tnCoursesEnrollments, ({one}) => ({
	tnCourse: one(tnCourses, {
		fields: [tnCoursesEnrollments.crsId],
		references: [tnCourses.crsId]
	}),
	tnMember: one(tnMember, {
		fields: [tnCoursesEnrollments.memId],
		references: [tnMember.memId]
	}),
}));

export const tnCoursesProgressRelations = relations(tnCoursesProgress, ({one}) => ({
	tnCourse: one(tnCourses, {
		fields: [tnCoursesProgress.crsId],
		references: [tnCourses.crsId]
	}),
	tnMember: one(tnMember, {
		fields: [tnCoursesProgress.memId],
		references: [tnMember.memId]
	}),
}));

export const tnCoursesReviewsRelations = relations(tnCoursesReviews, ({one}) => ({
	tnCourse: one(tnCourses, {
		fields: [tnCoursesReviews.crsId],
		references: [tnCourses.crsId]
	}),
	tnMember: one(tnMember, {
		fields: [tnCoursesReviews.memId],
		references: [tnMember.memId]
	}),
}));

export const tnCoursesSectionsRelations = relations(tnCoursesSections, ({one, many}) => ({
	tnCourse: one(tnCourses, {
		fields: [tnCoursesSections.crsId],
		references: [tnCourses.crsId]
	}),
	tnCoursesVideos: many(tnCoursesVideos),
}));

export const tnCoursesVideosRelations = relations(tnCoursesVideos, ({one, many}) => ({
	tnCoursesSection: one(tnCoursesSections, {
		fields: [tnCoursesVideos.cssId],
		references: [tnCoursesSections.cssId]
	}),
	tnCoursesVideosProgresses: many(tnCoursesVideosProgress),
}));

export const tnCoursesVideosProgressRelations = relations(tnCoursesVideosProgress, ({one}) => ({
	tnCoursesVideo: one(tnCoursesVideos, {
		fields: [tnCoursesVideosProgress.crvId],
		references: [tnCoursesVideos.crvId]
	}),
	tnMember: one(tnMember, {
		fields: [tnCoursesVideosProgress.memId],
		references: [tnMember.memId]
	}),
}));

export const thFaxRelations = relations(thFax, ({one}) => ({
	thInvoice: one(thInvoice, {
		fields: [thFax.ivhId],
		references: [thInvoice.ivhId]
	}),
	tnMember: one(tnMember, {
		fields: [thFax.memId],
		references: [tnMember.memId]
	}),
}));

export const tnInsurerInvoiceRelations = relations(tnInsurerInvoice, ({one}) => ({
	tnInsurer: one(tnInsurer, {
		fields: [tnInsurerInvoice.insId],
		references: [tnInsurer.insId]
	}),
	tnInvoice: one(tnInvoice, {
		fields: [tnInsurerInvoice.ivcId],
		references: [tnInvoice.ivcId]
	}),
}));

export const tnInsurerRelations = relations(tnInsurer, ({many}) => ({
	tnInsurerInvoices: many(tnInsurerInvoice),
}));

export const tnInvoiceRelations = relations(tnInvoice, ({many}) => ({
	tnInsurerInvoices: many(tnInsurerInvoice),
}));

export const tnLossAdjustmentRelations = relations(tnLossAdjustment, ({one, many}) => ({
	tnLossAdjustmentCategory: one(tnLossAdjustmentCategory, {
		fields: [tnLossAdjustment.lacId],
		references: [tnLossAdjustmentCategory.lacId]
	}),
	tnMember: one(tnMember, {
		fields: [tnLossAdjustment.memId],
		references: [tnMember.memId]
	}),
	tnLossAdjustmentComments: many(tnLossAdjustmentComment),
	tnLossAdjustmentFileMaps: many(tnLossAdjustmentFileMap),
}));

export const tnLossAdjustmentCategoryRelations = relations(tnLossAdjustmentCategory, ({many}) => ({
	tnLossAdjustments: many(tnLossAdjustment),
	tnLossAdjustmentSubCategories: many(tnLossAdjustmentSubCategory),
}));

export const tnLossAdjustmentCommentRelations = relations(tnLossAdjustmentComment, ({one}) => ({
	tnAdmin: one(tnAdmin, {
		fields: [tnLossAdjustmentComment.admId],
		references: [tnAdmin.admId]
	}),
	tnLossAdjustment: one(tnLossAdjustment, {
		fields: [tnLossAdjustmentComment.lsaId],
		references: [tnLossAdjustment.lsaId]
	}),
}));

export const tnLossAdjustmentFileMapRelations = relations(tnLossAdjustmentFileMap, ({one}) => ({
	tnLossAdjustmentFile: one(tnLossAdjustmentFile, {
		fields: [tnLossAdjustmentFileMap.lafId],
		references: [tnLossAdjustmentFile.lafId]
	}),
	tnLossAdjustment: one(tnLossAdjustment, {
		fields: [tnLossAdjustmentFileMap.lsaId],
		references: [tnLossAdjustment.lsaId]
	}),
}));

export const tnLossAdjustmentFileRelations = relations(tnLossAdjustmentFile, ({many}) => ({
	tnLossAdjustmentFileMaps: many(tnLossAdjustmentFileMap),
}));

export const tnLossAdjustmentSubCategoryRelations = relations(tnLossAdjustmentSubCategory, ({one}) => ({
	tnLossAdjustmentCategory: one(tnLossAdjustmentCategory, {
		fields: [tnLossAdjustmentSubCategory.lacId],
		references: [tnLossAdjustmentCategory.lacId]
	}),
}));

export const tnMenuAuthMapRelations = relations(tnMenuAuthMap, ({one}) => ({
	tnAuth: one(tnAuth, {
		fields: [tnMenuAuthMap.athId],
		references: [tnAuth.athId]
	}),
	tnMenu: one(tnMenu, {
		fields: [tnMenuAuthMap.mnuId],
		references: [tnMenu.mnuId]
	}),
}));

export const tnMenuRelations = relations(tnMenu, ({many}) => ({
	tnMenuAuthMaps: many(tnMenuAuthMap),
}));

export const tnPaymentRelations = relations(tnPayment, ({one, many}) => ({
	tnOrders: many(tnOrder),
	tnSubscribe: one(tnSubscribe, {
		fields: [tnPayment.subId],
		references: [tnSubscribe.subId]
	}),
}));

export const tnUserRelations = relations(tnUser, ({many}) => ({
	tnOrderDetails: many(tnOrderDetail),
}));

export const tnSubscribeRelations = relations(tnSubscribe, ({one, many}) => ({
	tnPayments: many(tnPayment),
	tnMember: one(tnMember, {
		fields: [tnSubscribe.memId],
		references: [tnMember.memId]
	}),
	tnProduct: one(tnProduct, {
		fields: [tnSubscribe.prdId],
		references: [tnProduct.prdId]
	}),
}));

export const tnRefundRelations = relations(tnRefund, ({one}) => ({
	tnOrder: one(tnOrder, {
		fields: [tnRefund.ordId],
		references: [tnOrder.ordId]
	}),
}));

export const tnSalesAgencyChannelRelations = relations(tnSalesAgencyChannel, ({one}) => ({
	tnSalesAgency: one(tnSalesAgency, {
		fields: [tnSalesAgencyChannel.sagId],
		references: [tnSalesAgency.sagId]
	}),
}));

export const tnSalesAgencyRelations = relations(tnSalesAgency, ({many}) => ({
	tnSalesAgencyChannels: many(tnSalesAgencyChannel),
}));

// ============================================================================
// 머니 시스템 Relations
// ============================================================================

/**
 * tn_money_issue Relations
 */
export const tnMoneyIssueRelations = relations(tnMoneyIssue, ({one, many}) => ({
	tnAgency: one(tnAgency, {
		fields: [tnMoneyIssue.agcId],
		references: [tnAgency.agcId],
	}),
	tnAdmin: one(tnAdmin, {
		fields: [tnMoneyIssue.admId],
		references: [tnAdmin.admId],
	}),
	tnMoneyIssueTargets: many(tnMoneyIssueTarget),
	tnMoneySources: many(tnMoneySource),
}));

/**
 * tn_money_issue_target Relations
 */
export const tnMoneyIssueTargetRelations = relations(tnMoneyIssueTarget, ({one}) => ({
	tnMoneyIssue: one(tnMoneyIssue, {
		fields: [tnMoneyIssueTarget.mniId],
		references: [tnMoneyIssue.mniId],
	}),
	tnMember: one(tnMember, {
		fields: [tnMoneyIssueTarget.memId],
		references: [tnMember.memId],
	}),
}));

/**
 * th_money_corp Relations
 */
export const thMoneyCorpRelations = relations(thMoneyCorp, ({one}) => ({
	tnAgency: one(tnAgency, {
		fields: [thMoneyCorp.agcId],
		references: [tnAgency.agcId],
	}),
	tnAdmin: one(tnAdmin, {
		fields: [thMoneyCorp.admId],
		references: [tnAdmin.admId],
	}),
	tnMoneyGrant: one(tnMoneyGrant, {
		fields: [thMoneyCorp.mngId],
		references: [tnMoneyGrant.mngId],
	}),
}));

/**
 * tn_money_grant Relations
 */
export const tnMoneyGrantRelations = relations(tnMoneyGrant, ({one, many}) => ({
	tnAgency: one(tnAgency, {
		fields: [tnMoneyGrant.agcId],
		references: [tnAgency.agcId],
	}),
	tnAdmin: one(tnAdmin, {
		fields: [tnMoneyGrant.admId],
		references: [tnAdmin.admId],
	}),
	tnMoneyGrantTargets: many(tnMoneyGrantTarget),
	thMoneyCorps: many(thMoneyCorp),
	tnMoneySources: many(tnMoneySource),
}));

/**
 * tn_money_grant_target Relations
 */
export const tnMoneyGrantTargetRelations = relations(tnMoneyGrantTarget, ({one}) => ({
	tnMoneyGrant: one(tnMoneyGrant, {
		fields: [tnMoneyGrantTarget.mngId],
		references: [tnMoneyGrant.mngId],
	}),
	tnMember: one(tnMember, {
		fields: [tnMoneyGrantTarget.memId],
		references: [tnMember.memId],
	}),
}));

/**
 * tn_money_payment Relations
 */
export const tnMoneyPaymentRelations = relations(tnMoneyPayment, ({one, many}) => ({
	tnMember: one(tnMember, {
		fields: [tnMoneyPayment.memId],
		references: [tnMember.memId],
	}),
	thMoneyPaymentCancels: many(thMoneyPaymentCancel),
	tnMoneySources: many(tnMoneySource),
}));

/**
 * th_money_payment_cancel Relations
 */
export const thMoneyPaymentCancelRelations = relations(thMoneyPaymentCancel, ({one}) => ({
	tnMoneyPayment: one(tnMoneyPayment, {
		fields: [thMoneyPaymentCancel.mpyId],
		references: [tnMoneyPayment.mpyId],
	}),
	tnAdmin: one(tnAdmin, {
		fields: [thMoneyPaymentCancel.admId],
		references: [tnAdmin.admId],
	}),
}));

/**
 * tn_money_refund Relations
 */
export const tnMoneyRefundRelations = relations(tnMoneyRefund, ({one}) => ({
	tnMember: one(tnMember, {
		fields: [tnMoneyRefund.memId],
		references: [tnMember.memId],
	}),
	tnAdmin: one(tnAdmin, {
		fields: [tnMoneyRefund.admId],
		references: [tnAdmin.admId],
	}),
}));

/**
 * th_money_wallet Relations
 */
export const thMoneyWalletRelations = relations(thMoneyWallet, ({one, many}) => ({
	tnMember: one(tnMember, {
		fields: [thMoneyWallet.memId],
		references: [tnMember.memId],
	}),
	tnMoneySources: many(tnMoneySource),
	thMoneyUsages: many(thMoneyUsage),
}));

/**
 * tn_money_source Relations
 */
export const tnMoneySourceRelations = relations(tnMoneySource, ({one, many}) => ({
	tnMember: one(tnMember, {
		fields: [tnMoneySource.memId],
		references: [tnMember.memId],
	}),
	thMoneyWallet: one(thMoneyWallet, {
		fields: [tnMoneySource.mwlId],
		references: [thMoneyWallet.mwlId],
	}),
	tnMoneyIssue: one(tnMoneyIssue, {
		fields: [tnMoneySource.mniId],
		references: [tnMoneyIssue.mniId],
	}),
	tnMoneyGrant: one(tnMoneyGrant, {
		fields: [tnMoneySource.mngId],
		references: [tnMoneyGrant.mngId],
	}),
	tnMoneyPayment: one(tnMoneyPayment, {
		fields: [tnMoneySource.mpyId],
		references: [tnMoneyPayment.mpyId],
	}),
	thMoneyUsages: many(thMoneyUsage),
}));

/**
 * th_money_usage Relations
 */
export const thMoneyUsageRelations = relations(thMoneyUsage, ({one}) => ({
	thMoneyWallet: one(thMoneyWallet, {
		fields: [thMoneyUsage.mwlId],
		references: [thMoneyWallet.mwlId],
	}),
	tnMoneySource: one(tnMoneySource, {
		fields: [thMoneyUsage.msrId],
		references: [tnMoneySource.msrId],
	}),
}));