@things-factory/accounting 7.1.13 → 8.0.0-alpha.11

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.
Files changed (100) hide show
  1. package/client/pages/bank/bank-importer.ts +90 -0
  2. package/client/pages/bank/bank-list-page.ts +398 -0
  3. package/client/pages/bank-account/bank-account-importer.ts +90 -0
  4. package/client/pages/bank-account/bank-account-list-page.ts +398 -0
  5. package/client/pages/financial-institution/financial-institution-importer.ts +90 -0
  6. package/client/pages/financial-institution/financial-institution-list-page.ts +398 -0
  7. package/dist-client/pages/bank/bank-importer.d.ts +23 -0
  8. package/dist-client/pages/bank/bank-importer.js +93 -0
  9. package/dist-client/pages/bank/bank-importer.js.map +1 -0
  10. package/dist-client/pages/bank/bank-list-page.d.ts +66 -0
  11. package/dist-client/pages/bank/bank-list-page.js +370 -0
  12. package/dist-client/pages/bank/bank-list-page.js.map +1 -0
  13. package/dist-client/pages/bank-account/bank-account-importer.d.ts +23 -0
  14. package/dist-client/pages/bank-account/bank-account-importer.js +93 -0
  15. package/dist-client/pages/bank-account/bank-account-importer.js.map +1 -0
  16. package/dist-client/pages/bank-account/bank-account-list-page.d.ts +66 -0
  17. package/dist-client/pages/bank-account/bank-account-list-page.js +370 -0
  18. package/dist-client/pages/bank-account/bank-account-list-page.js.map +1 -0
  19. package/dist-client/pages/financial-institution/financial-institution-importer.d.ts +23 -0
  20. package/dist-client/pages/financial-institution/financial-institution-importer.js +93 -0
  21. package/dist-client/pages/financial-institution/financial-institution-importer.js.map +1 -0
  22. package/dist-client/pages/financial-institution/financial-institution-list-page.d.ts +66 -0
  23. package/dist-client/pages/financial-institution/financial-institution-list-page.js +370 -0
  24. package/dist-client/pages/financial-institution/financial-institution-list-page.js.map +1 -0
  25. package/dist-client/tsconfig.tsbuildinfo +1 -1
  26. package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +5 -0
  27. package/dist-server/migrations/1725201567284-seed-country-codes.js +248 -0
  28. package/dist-server/migrations/1725201567284-seed-country-codes.js.map +1 -0
  29. package/dist-server/migrations/1725201667385-seed-financial-institutions.d.ts +5 -0
  30. package/dist-server/migrations/1725201667385-seed-financial-institutions.js +348 -0
  31. package/dist-server/migrations/1725201667385-seed-financial-institutions.js.map +1 -0
  32. package/dist-server/service/bank-account/bank-account-history.d.ts +34 -0
  33. package/dist-server/service/bank-account/bank-account-history.js +172 -0
  34. package/dist-server/service/bank-account/bank-account-history.js.map +1 -0
  35. package/dist-server/service/bank-account/bank-account-mutation.d.ts +10 -0
  36. package/dist-server/service/bank-account/bank-account-mutation.js +128 -0
  37. package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -0
  38. package/dist-server/service/bank-account/bank-account-query.d.ts +11 -0
  39. package/dist-server/service/bank-account/bank-account-query.js +79 -0
  40. package/dist-server/service/bank-account/bank-account-query.js.map +1 -0
  41. package/dist-server/service/bank-account/bank-account-type.d.ts +39 -0
  42. package/dist-server/service/bank-account/bank-account-type.js +153 -0
  43. package/dist-server/service/bank-account/bank-account-type.js.map +1 -0
  44. package/dist-server/service/bank-account/bank-account.d.ts +38 -0
  45. package/dist-server/service/bank-account/bank-account.js +164 -0
  46. package/dist-server/service/bank-account/bank-account.js.map +1 -0
  47. package/dist-server/service/bank-account/event-subscriber.d.ts +7 -0
  48. package/dist-server/service/bank-account/event-subscriber.js +21 -0
  49. package/dist-server/service/bank-account/event-subscriber.js.map +1 -0
  50. package/dist-server/service/bank-account/index.d.ts +7 -0
  51. package/dist-server/service/bank-account/index.js +12 -0
  52. package/dist-server/service/bank-account/index.js.map +1 -0
  53. package/dist-server/service/financial-institution/financial-institution-mutation.d.ts +10 -0
  54. package/dist-server/service/financial-institution/financial-institution-mutation.js +169 -0
  55. package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -0
  56. package/dist-server/service/financial-institution/financial-institution-query.d.ts +12 -0
  57. package/dist-server/service/financial-institution/financial-institution-query.js +97 -0
  58. package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -0
  59. package/dist-server/service/financial-institution/financial-institution-type.d.ts +32 -0
  60. package/dist-server/service/financial-institution/financial-institution-type.js +126 -0
  61. package/dist-server/service/financial-institution/financial-institution-type.js.map +1 -0
  62. package/dist-server/service/financial-institution/financial-institution.d.ts +34 -0
  63. package/dist-server/service/financial-institution/financial-institution.js +137 -0
  64. package/dist-server/service/financial-institution/financial-institution.js.map +1 -0
  65. package/dist-server/service/financial-institution/index.d.ts +6 -0
  66. package/dist-server/service/financial-institution/index.js +10 -0
  67. package/dist-server/service/financial-institution/index.js.map +1 -0
  68. package/dist-server/service/index.d.ts +1 -1
  69. package/dist-server/service/payment/index.d.ts +1 -2
  70. package/dist-server/service/payment/payment-history.d.ts +8 -1
  71. package/dist-server/service/payment/payment-history.js +41 -10
  72. package/dist-server/service/payment/payment-history.js.map +1 -1
  73. package/dist-server/service/payment/payment-type.d.ts +7 -1
  74. package/dist-server/service/payment/payment-type.js +24 -0
  75. package/dist-server/service/payment/payment-type.js.map +1 -1
  76. package/dist-server/service/payment/payment.d.ts +12 -0
  77. package/dist-server/service/payment/payment.js +36 -1
  78. package/dist-server/service/payment/payment.js.map +1 -1
  79. package/dist-server/tsconfig.tsbuildinfo +1 -1
  80. package/helps/accounting/bank-account.md +160 -0
  81. package/helps/accounting/bank.md +160 -0
  82. package/helps/accounting/financial-institution.md +160 -0
  83. package/package.json +7 -7
  84. package/server/migrations/1725201567284-seed-country-codes.ts +261 -0
  85. package/server/migrations/1725201667385-seed-financial-institutions.ts +348 -0
  86. package/server/service/bank-account/bank-account-history.ts +149 -0
  87. package/server/service/bank-account/bank-account-mutation.ts +137 -0
  88. package/server/service/bank-account/bank-account-query.ts +48 -0
  89. package/server/service/bank-account/bank-account-type.ts +112 -0
  90. package/server/service/bank-account/bank-account.ts +142 -0
  91. package/server/service/bank-account/event-subscriber.ts +17 -0
  92. package/server/service/bank-account/index.ts +9 -0
  93. package/server/service/financial-institution/financial-institution-mutation.ts +198 -0
  94. package/server/service/financial-institution/financial-institution-query.ts +62 -0
  95. package/server/service/financial-institution/financial-institution-type.ts +91 -0
  96. package/server/service/financial-institution/financial-institution.ts +122 -0
  97. package/server/service/financial-institution/index.ts +7 -0
  98. package/server/service/payment/payment-history.ts +41 -18
  99. package/server/service/payment/payment-type.ts +19 -1
  100. package/server/service/payment/payment.ts +31 -0
@@ -0,0 +1,261 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm'
2
+
3
+ import { CommonCode, CommonCodeDetail } from '@things-factory/code-base'
4
+ import { Domain, getRepository } from '@things-factory/shell'
5
+
6
+ const codes = [
7
+ {
8
+ name: 'COUNTRY_CODES',
9
+ description: 'country code',
10
+ details: [
11
+ { name: 'AF', description: '아프가니스탄' },
12
+ { name: 'AL', description: '알바니아' },
13
+ { name: 'DZ', description: '알제리' },
14
+ { name: 'AS', description: '아메리칸사모아' },
15
+ { name: 'AD', description: '안도라' },
16
+ { name: 'AO', description: '앙골라' },
17
+ { name: 'AI', description: '앵귈라' },
18
+ { name: 'AQ', description: '남극' },
19
+ { name: 'AG', description: '앤티가 바부다' },
20
+ { name: 'AR', description: '아르헨티나' },
21
+ { name: 'AM', description: '아르메니아' },
22
+ { name: 'AW', description: '아루바' },
23
+ { name: 'AU', description: '호주' },
24
+ { name: 'AT', description: '오스트리아' },
25
+ { name: 'AZ', description: '아제르바이잔' },
26
+ { name: 'BS', description: '바하마' },
27
+ { name: 'BH', description: '바레인' },
28
+ { name: 'BD', description: '방글라데시' },
29
+ { name: 'BB', description: '바베이도스' },
30
+ { name: 'BY', description: '벨라루스' },
31
+ { name: 'BE', description: '벨기에' },
32
+ { name: 'BZ', description: '벨리즈' },
33
+ { name: 'BJ', description: '베냉' },
34
+ { name: 'BM', description: '버뮤다' },
35
+ { name: 'BT', description: '부탄' },
36
+ { name: 'BO', description: '볼리비아' },
37
+ { name: 'BA', description: '보스니아 헤르체고비나' },
38
+ { name: 'BW', description: '보츠와나' },
39
+ { name: 'BV', description: '부베 섬' },
40
+ { name: 'BR', description: '브라질' },
41
+ { name: 'IO', description: '영국령 인도양 지역' },
42
+ { name: 'BN', description: '브루나이' },
43
+ { name: 'BG', description: '불가리아' },
44
+ { name: 'BF', description: '부르키나파소' },
45
+ { name: 'BI', description: '부룬디' },
46
+ { name: 'KH', description: '캄보디아' },
47
+ { name: 'CM', description: '카메룬' },
48
+ { name: 'CA', description: '캐나다' },
49
+ { name: 'CV', description: '카보베르데' },
50
+ { name: 'KY', description: '케이맨 제도' },
51
+ { name: 'CF', description: '중앙아프리카 공화국' },
52
+ { name: 'TD', description: '차드' },
53
+ { name: 'CL', description: '칠레' },
54
+ { name: 'CN', description: '중국' },
55
+ { name: 'CX', description: '크리스마스 섬' },
56
+ { name: 'CC', description: '코코스 제도' },
57
+ { name: 'CO', description: '콜롬비아' },
58
+ { name: 'KM', description: '코모로' },
59
+ { name: 'CG', description: '콩고' },
60
+ { name: 'CD', description: '콩고 민주 공화국' },
61
+ { name: 'CK', description: '쿡 제도' },
62
+ { name: 'CR', description: '코스타리카' },
63
+ { name: 'CI', description: '코트디부아르' },
64
+ { name: 'HR', description: '크로아티아' },
65
+ { name: 'CU', description: '쿠바' },
66
+ { name: 'CY', description: '키프로스' },
67
+ { name: 'CZ', description: '체코' },
68
+ { name: 'DK', description: '덴마크' },
69
+ { name: 'DJ', description: '지부티' },
70
+ { name: 'DM', description: '도미니카' },
71
+ { name: 'DO', description: '도미니카 공화국' },
72
+ { name: 'EC', description: '에콰도르' },
73
+ { name: 'EG', description: '이집트' },
74
+ { name: 'SV', description: '엘살바도르' },
75
+ { name: 'GQ', description: '적도 기니' },
76
+ { name: 'ER', description: '에리트레아' },
77
+ { name: 'EE', description: '에스토니아' },
78
+ { name: 'ET', description: '에티오피아' },
79
+ { name: 'FK', description: '포클랜드 제도' },
80
+ { name: 'FO', description: '페로 제도' },
81
+ { name: 'FJ', description: '피지' },
82
+ { name: 'FI', description: '핀란드' },
83
+ { name: 'FR', description: '프랑스' },
84
+ { name: 'GF', description: '프랑스령 기아나' },
85
+ { name: 'PF', description: '프랑스령 폴리네시아' },
86
+ { name: 'TF', description: '프랑스령 남방 및 남극' },
87
+ { name: 'GA', description: '가봉' },
88
+ { name: 'GM', description: '감비아' },
89
+ { name: 'GE', description: '조지아' },
90
+ { name: 'DE', description: '독일' },
91
+ { name: 'GH', description: '가나' },
92
+ { name: 'GI', description: '지브롤터' },
93
+ { name: 'GR', description: '그리스' },
94
+ { name: 'GL', description: '그린란드' },
95
+ { name: 'GD', description: '그레나다' },
96
+ { name: 'GP', description: '과들루프' },
97
+ { name: 'GU', description: '괌' },
98
+ { name: 'GT', description: '과테말라' },
99
+ { name: 'GN', description: '기니' },
100
+ { name: 'GW', description: '기니비사우' },
101
+ { name: 'GY', description: '가이아나' },
102
+ { name: 'HT', description: '아이티' },
103
+ { name: 'HM', description: '허드 맥도널드 제도' },
104
+ { name: 'VA', description: '바티칸 시국' },
105
+ { name: 'HN', description: '온두라스' },
106
+ { name: 'HK', description: '홍콩' },
107
+ { name: 'HU', description: '헝가리' },
108
+ { name: 'IS', description: '아이슬란드' },
109
+ { name: 'IN', description: '인도' },
110
+ { name: 'ID', description: '인도네시아' },
111
+ { name: 'IR', description: '이란' },
112
+ { name: 'IQ', description: '이라크' },
113
+ { name: 'IE', description: '아일랜드' },
114
+ { name: 'IL', description: '이스라엘' },
115
+ { name: 'IT', description: '이탈리아' },
116
+ { name: 'JM', description: '자메이카' },
117
+ { name: 'JP', description: '일본' },
118
+ { name: 'JO', description: '요르단' },
119
+ { name: 'KZ', description: '카자흐스탄' },
120
+ { name: 'KE', description: '케냐' },
121
+ { name: 'KI', description: '키리바시' },
122
+ { name: 'KP', description: '북한' },
123
+ { name: 'KR', description: '대한민국' },
124
+ { name: 'KW', description: '쿠웨이트' },
125
+ { name: 'KG', description: '키르기스스탄' },
126
+ { name: 'LA', description: '라오스' },
127
+ { name: 'LV', description: '라트비아' },
128
+ { name: 'LB', description: '레바논' },
129
+ { name: 'LS', description: '레소토' },
130
+ { name: 'LR', description: '라이베리아' },
131
+ { name: 'LY', description: '리비아' },
132
+ { name: 'LI', description: '리히텐슈타인' },
133
+ { name: 'LT', description: '리투아니아' },
134
+ { name: 'LU', description: '룩셈부르크' },
135
+ { name: 'MO', description: '마카오' },
136
+ { name: 'MK', description: '북마케도니아' },
137
+ { name: 'MG', description: '마다가스카르' },
138
+ { name: 'MW', description: '말라위' },
139
+ { name: 'MY', description: '말레이시아' },
140
+ { name: 'MV', description: '몰디브' },
141
+ { name: 'ML', description: '말리' },
142
+ { name: 'MT', description: '몰타' },
143
+ { name: 'MH', description: '마셜 제도' },
144
+ { name: 'MQ', description: '마르티니크' },
145
+ { name: 'MR', description: '모리타니' },
146
+ { name: 'MU', description: '모리셔스' },
147
+ { name: 'YT', description: '마요트' },
148
+ { name: 'MX', description: '멕시코' },
149
+ { name: 'FM', description: '미크로네시아 연방' },
150
+ { name: 'MD', description: '몰도바' },
151
+ { name: 'MC', description: '모나코' },
152
+ { name: 'MN', description: '몽골' },
153
+ { name: 'MS', description: '몬트세랫' },
154
+ { name: 'MA', description: '모로코' },
155
+ { name: 'MZ', description: '모잠비크' },
156
+ { name: 'MM', description: '미얀마' },
157
+ { name: 'NA', description: '나미비아' },
158
+ { name: 'NR', description: '나우루' },
159
+ { name: 'NP', description: '네팔' },
160
+ { name: 'NL', description: '네덜란드' },
161
+ { name: 'NC', description: '뉴칼레도니아' },
162
+ { name: 'NZ', description: '뉴질랜드' },
163
+ { name: 'NI', description: '니카라과' },
164
+ { name: 'NE', description: '니제르' },
165
+ { name: 'NG', description: '나이지리아' },
166
+ { name: 'NU', description: '니우에' },
167
+ { name: 'NF', description: '노퍽 섬' },
168
+ { name: 'MP', description: '북마리아나 제도' },
169
+ { name: 'NO', description: '노르웨이' },
170
+ { name: 'OM', description: '오만' },
171
+ { name: 'PK', description: '파키스탄' },
172
+ { name: 'PW', description: '팔라우' },
173
+ { name: 'PS', description: '팔레스타인' },
174
+ { name: 'PA', description: '파나마' },
175
+ { name: 'PG', description: '파푸아뉴기니' },
176
+ { name: 'PY', description: '파라과이' },
177
+ { name: 'PE', description: '페루' },
178
+ { name: 'PH', description: '필리핀' },
179
+ { name: 'PN', description: '핏케언 제도' },
180
+ { name: 'PL', description: '폴란드' },
181
+ { name: 'PT', description: '포르투갈' },
182
+ { name: 'PR', description: '푸에르토리코' },
183
+ { name: 'QA', description: '카타르' },
184
+ { name: 'RE', description: '레위니옹' },
185
+ { name: 'RO', description: '루마니아' },
186
+ { name: 'RU', description: '러시아' },
187
+ { name: 'RW', description: '르완다' },
188
+ { name: 'SH', description: '세인트헬레나' },
189
+ { name: 'KN', description: '세인트키츠 네비스' },
190
+ { name: 'LC', description: '세인트루시아' },
191
+ { name: 'PM', description: '생피에르 미클롱' },
192
+ { name: 'VC', description: '세인트빈센트 그레나딘' },
193
+ { name: 'WS', description: '사모아' },
194
+ { name: 'SM', description: '산마리노' },
195
+ { name: 'ST', description: '상투메 프린시페' },
196
+ { name: 'SA', description: '사우디아라비아' },
197
+ { name: 'SN', description: '세네갈' },
198
+ { name: 'SC', description: '세이셸' },
199
+ { name: 'SL', description: '시에라리온' },
200
+ { name: 'SG', description: '싱가포르' },
201
+ { name: 'SK', description: '슬로바키아' },
202
+ { name: 'SI', description: '슬로베니아' },
203
+ { name: 'SB', description: '솔로몬 제도' },
204
+ { name: 'SO', description: '소말리아' },
205
+ { name: 'ZA', description: '남아프리카 공화국' },
206
+ { name: 'GS', description: '사우스조지아 사우스샌드위치 제도' },
207
+ { name: 'ES', description: '스페인' },
208
+ { name: 'LK', description: '스리랑카' },
209
+ { name: 'SD', description: '수단' },
210
+ { name: 'SR', description: '수리남' },
211
+ { name: 'SJ', description: '스발바르 얀마옌' },
212
+ { name: 'SZ', description: '에스와티니' },
213
+ { name: 'SE', description: '스웨덴' },
214
+ { name: 'CH', description: '스위스' },
215
+ { name: 'SY', description: '시리아' },
216
+ { name: 'TW', description: '대만' },
217
+ { name: 'TJ', description: '타지키스탄' },
218
+ { name: 'TZ', description: '탄자니아' },
219
+ { name: 'TH', description: '태국' },
220
+ { name: 'TL', description: '동티모르' },
221
+ { name: 'TG', description: '토고' },
222
+ { name: 'TK', description: '토켈라우' },
223
+ { name: 'TO', description: '통가' }
224
+ ]
225
+ }
226
+ ]
227
+
228
+ export class SeedCountryCodes1725201567284 implements MigrationInterface {
229
+ public async up(queryRunner: QueryRunner): Promise<any> {
230
+ const codeRepo = getRepository(CommonCode)
231
+ const codeDetailRepo = getRepository(CommonCodeDetail)
232
+ const domain = await getRepository(Domain).findOneBy({
233
+ subdomain: 'system'
234
+ })
235
+
236
+ return await Promise.all(
237
+ codes.map(async code => {
238
+ const commonCode = await codeRepo.save({
239
+ ...code,
240
+ domain
241
+ })
242
+
243
+ await codeDetailRepo.save(
244
+ commonCode.details.map((detail, idx) => {
245
+ return {
246
+ ...detail,
247
+ commonCode,
248
+ domain,
249
+ rank: (idx + 1) * 10
250
+ }
251
+ })
252
+ )
253
+ })
254
+ )
255
+ }
256
+
257
+ public async down(queryRunner: QueryRunner): Promise<any> {
258
+ const codeRepo = getRepository(CommonCode)
259
+ const codeDetailRepo = getRepository(CommonCodeDetail)
260
+ }
261
+ }
@@ -0,0 +1,348 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm'
2
+ import { getRepository } from '@things-factory/shell'
3
+ import { FinancialInstitution, FinancialInstitutionType } from '../service/financial-institution/financial-institution'
4
+
5
+ export class SeedFinancialInstitutions1725201667385 implements MigrationInterface {
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ const financialInstitutionRepository = getRepository(FinancialInstitution)
8
+
9
+ const institutions = [
10
+ {
11
+ name: 'KB국민은행',
12
+ description: 'KB Kookmin Bank',
13
+ swiftCode: 'CZNBKRSE',
14
+ country: 'KR',
15
+ type: FinancialInstitutionType.Bank
16
+ },
17
+ {
18
+ name: '신한은행',
19
+ description: 'Shinhan Bank',
20
+ swiftCode: 'SHBKKRSE',
21
+ country: 'KR',
22
+ type: FinancialInstitutionType.Bank
23
+ },
24
+ {
25
+ name: '우리은행',
26
+ description: 'Woori Bank',
27
+ swiftCode: 'HVBKKRSE',
28
+ country: 'KR',
29
+ type: FinancialInstitutionType.Bank
30
+ },
31
+ {
32
+ name: '하나은행',
33
+ description: 'Hana Bank',
34
+ swiftCode: 'KOEXKRSE',
35
+ country: 'KR',
36
+ type: FinancialInstitutionType.Bank
37
+ },
38
+ {
39
+ name: '농협은행',
40
+ description: 'NH Bank',
41
+ swiftCode: 'NACFKRSE',
42
+ country: 'KR',
43
+ type: FinancialInstitutionType.Bank
44
+ },
45
+ {
46
+ name: '기업은행',
47
+ description: 'Industrial Bank of Korea',
48
+ swiftCode: 'IBKOKRSE',
49
+ country: 'KR',
50
+ type: FinancialInstitutionType.Bank
51
+ },
52
+ {
53
+ name: '한국씨티은행',
54
+ description: 'Citibank Korea',
55
+ swiftCode: 'CITIKRSX',
56
+ country: 'KR',
57
+ type: FinancialInstitutionType.Bank
58
+ },
59
+ {
60
+ name: '한국스탠다드차타드은행',
61
+ description: 'Standard Chartered Bank Korea',
62
+ swiftCode: 'SCBLKRSE',
63
+ country: 'KR',
64
+ type: FinancialInstitutionType.Bank
65
+ },
66
+ {
67
+ name: '카카오뱅크',
68
+ description: 'Kakao Bank',
69
+ swiftCode: 'CITIKRSXKKO',
70
+ country: 'KR',
71
+ type: FinancialInstitutionType.Bank
72
+ },
73
+ {
74
+ name: '케이뱅크',
75
+ description: 'K Bank',
76
+ swiftCode: 'KBANKRSE',
77
+ country: 'KR',
78
+ type: FinancialInstitutionType.Bank
79
+ },
80
+ {
81
+ name: '토스뱅크',
82
+ description: 'Toss Bank',
83
+ swiftCode: 'TSBKKRSE',
84
+ country: 'KR',
85
+ type: FinancialInstitutionType.Bank
86
+ },
87
+ {
88
+ name: '한국수출입은행',
89
+ description: 'Export-Import Bank of Korea',
90
+ swiftCode: 'EXIKKRSE',
91
+ country: 'KR',
92
+ type: FinancialInstitutionType.Bank
93
+ },
94
+ {
95
+ name: '한국산업은행',
96
+ description: 'Korea Development Bank',
97
+ swiftCode: 'KODBKRSE',
98
+ country: 'KR',
99
+ type: FinancialInstitutionType.Bank
100
+ },
101
+ {
102
+ name: '경남은행',
103
+ description: 'BNK Kyongnam Bank',
104
+ swiftCode: 'KYNAKR22',
105
+ country: 'KR',
106
+ type: FinancialInstitutionType.Bank
107
+ },
108
+ {
109
+ name: '광주은행',
110
+ description: 'Gwangju Bank',
111
+ swiftCode: 'KWABKRSE',
112
+ country: 'KR',
113
+ type: FinancialInstitutionType.Bank
114
+ },
115
+ {
116
+ name: '대구은행',
117
+ description: 'DGB Daegu Bank',
118
+ swiftCode: 'DAEBKR22',
119
+ country: 'KR',
120
+ type: FinancialInstitutionType.Bank
121
+ },
122
+ {
123
+ name: '부산은행',
124
+ description: 'BNK Busan Bank',
125
+ swiftCode: 'PUSBKR2P',
126
+ country: 'KR',
127
+ type: FinancialInstitutionType.Bank
128
+ },
129
+ {
130
+ name: '전북은행',
131
+ description: 'Jeonbuk Bank',
132
+ swiftCode: 'JEONKR22',
133
+ country: 'KR',
134
+ type: FinancialInstitutionType.Bank
135
+ },
136
+ {
137
+ name: '제주은행',
138
+ description: 'Jeju Bank',
139
+ swiftCode: 'JEJUKR2P',
140
+ country: 'KR',
141
+ type: FinancialInstitutionType.Bank
142
+ },
143
+ {
144
+ name: '새마을금고',
145
+ description: 'MG Community Credit Cooperatives',
146
+ swiftCode: 'KSDCKR21',
147
+ country: 'KR',
148
+ type: FinancialInstitutionType.Bank
149
+ },
150
+ {
151
+ name: '신협',
152
+ description: 'National Credit Union Federation of Korea',
153
+ swiftCode: 'NFFCKRSE',
154
+ country: 'KR',
155
+ type: FinancialInstitutionType.Bank
156
+ },
157
+ // 미국 은행
158
+ {
159
+ name: 'JP모건 체이스',
160
+ description: 'JPMorgan Chase',
161
+ swiftCode: 'CHASUS33',
162
+ country: 'US',
163
+ type: FinancialInstitutionType.Bank
164
+ },
165
+ {
166
+ name: '뱅크 오브 아메리카',
167
+ description: 'Bank of America',
168
+ swiftCode: 'BOFAUS3N',
169
+ country: 'US',
170
+ type: FinancialInstitutionType.Bank
171
+ },
172
+ {
173
+ name: '웰스 파고',
174
+ description: 'Wells Fargo',
175
+ swiftCode: 'WFBIUS6S',
176
+ country: 'US',
177
+ type: FinancialInstitutionType.Bank
178
+ },
179
+ {
180
+ name: '씨티그룹',
181
+ description: 'Citigroup',
182
+ swiftCode: 'CITIUS33',
183
+ country: 'US',
184
+ type: FinancialInstitutionType.Bank
185
+ },
186
+ // 영국 은행
187
+ {
188
+ name: 'HSBC',
189
+ description: 'HSBC Holdings',
190
+ swiftCode: 'MIDLGB22',
191
+ country: 'GB',
192
+ type: FinancialInstitutionType.Bank
193
+ },
194
+ {
195
+ name: '바클레이스',
196
+ description: 'Barclays',
197
+ swiftCode: 'BARCGB22',
198
+ country: 'GB',
199
+ type: FinancialInstitutionType.Bank
200
+ },
201
+ {
202
+ name: '로이즈 뱅킹 그룹',
203
+ description: 'Lloyds Banking Group',
204
+ swiftCode: 'LOYDGB2L',
205
+ country: 'GB',
206
+ type: FinancialInstitutionType.Bank
207
+ },
208
+ // 일본 은행
209
+ {
210
+ name: '미쓰비시 UFJ 파이낸셜 그룹',
211
+ description: 'Mitsubishi UFJ Financial Group',
212
+ swiftCode: 'BOTKJPJT',
213
+ country: 'JP',
214
+ type: FinancialInstitutionType.Bank
215
+ },
216
+ {
217
+ name: '미즈호 파이낸셜 그룹',
218
+ description: 'Mizuho Financial Group',
219
+ swiftCode: 'MHCBJPJT',
220
+ country: 'JP',
221
+ type: FinancialInstitutionType.Bank
222
+ },
223
+ {
224
+ name: '스미토모 미쓰이 파이낸셜 그룹',
225
+ description: 'Sumitomo Mitsui Financial Group',
226
+ swiftCode: 'SMBCJPJT',
227
+ country: 'JP',
228
+ type: FinancialInstitutionType.Bank
229
+ },
230
+ // 중국 은행
231
+ {
232
+ name: '중국공상은행',
233
+ description: 'Industrial and Commercial Bank of China',
234
+ swiftCode: 'ICBKCNBJ',
235
+ country: 'CN',
236
+ type: FinancialInstitutionType.Bank
237
+ },
238
+ {
239
+ name: '중국건설은행',
240
+ description: 'China Construction Bank',
241
+ swiftCode: 'PCBCCNBJ',
242
+ country: 'CN',
243
+ type: FinancialInstitutionType.Bank
244
+ },
245
+ {
246
+ name: '중국은행',
247
+ description: 'Bank of China',
248
+ swiftCode: 'BKCHCNBJ',
249
+ country: 'CN',
250
+ type: FinancialInstitutionType.Bank
251
+ },
252
+ // 독일 은행
253
+ {
254
+ name: '도이치 방크',
255
+ description: 'Deutsche Bank',
256
+ swiftCode: 'DEUTDEFF',
257
+ country: 'DE',
258
+ type: FinancialInstitutionType.Bank
259
+ },
260
+ {
261
+ name: '코메르츠방크',
262
+ description: 'Commerzbank',
263
+ swiftCode: 'COBADEFF',
264
+ country: 'DE',
265
+ type: FinancialInstitutionType.Bank
266
+ },
267
+ // 프랑스 은행
268
+ {
269
+ name: 'BNP 파리바',
270
+ description: 'BNP Paribas',
271
+ swiftCode: 'BNPAFRPP',
272
+ country: 'FR',
273
+ type: FinancialInstitutionType.Bank
274
+ },
275
+ {
276
+ name: '크레디 아그리콜',
277
+ description: 'Crédit Agricole',
278
+ swiftCode: 'AGRIFRPP',
279
+ country: 'FR',
280
+ type: FinancialInstitutionType.Bank
281
+ },
282
+ // 한국 카드사
283
+ {
284
+ name: '신한카드',
285
+ description: 'Shinhan Card',
286
+ swiftCode: null,
287
+ country: 'KR',
288
+ type: FinancialInstitutionType.CardCompany
289
+ },
290
+ {
291
+ name: '삼성카드',
292
+ description: 'Samsung Card',
293
+ swiftCode: null,
294
+ country: 'KR',
295
+ type: FinancialInstitutionType.CardCompany
296
+ },
297
+ {
298
+ name: 'KB국민카드',
299
+ description: 'KB Kookmin Card',
300
+ swiftCode: null,
301
+ country: 'KR',
302
+ type: FinancialInstitutionType.CardCompany
303
+ },
304
+ {
305
+ name: '현대카드',
306
+ description: 'Hyundai Card',
307
+ swiftCode: null,
308
+ country: 'KR',
309
+ type: FinancialInstitutionType.CardCompany
310
+ },
311
+ {
312
+ name: '롯데카드',
313
+ description: 'Lotte Card',
314
+ swiftCode: null,
315
+ country: 'KR',
316
+ type: FinancialInstitutionType.CardCompany
317
+ },
318
+ {
319
+ name: '우리카드',
320
+ description: 'Woori Card',
321
+ swiftCode: null,
322
+ country: 'KR',
323
+ type: FinancialInstitutionType.CardCompany
324
+ },
325
+ {
326
+ name: '하나카드',
327
+ description: 'Hana Card',
328
+ swiftCode: null,
329
+ country: 'KR',
330
+ type: FinancialInstitutionType.CardCompany
331
+ },
332
+ {
333
+ name: 'BC카드',
334
+ description: 'BC Card',
335
+ swiftCode: null,
336
+ country: 'KR',
337
+ type: FinancialInstitutionType.CardCompany
338
+ }
339
+ ]
340
+
341
+ await financialInstitutionRepository.save(institutions)
342
+ }
343
+
344
+ public async down(queryRunner: QueryRunner): Promise<void> {
345
+ const financialInstitutionRepository = getRepository(FinancialInstitution)
346
+ await financialInstitutionRepository.delete({})
347
+ }
348
+ }