dbms_init...1

This commit is contained in:
최준흠 2025-05-26 17:50:29 +09:00
parent a3495e708c
commit 0464a2904a
42 changed files with 1016 additions and 220 deletions

View File

@ -4,9 +4,9 @@
"settings": { "settings": {
"width": 4000, "width": 4000,
"height": 4000, "height": 4000,
"scrollTop": -1509.6709, "scrollTop": -2838.7381,
"scrollLeft": -462.1479, "scrollLeft": -1765.3486,
"zoomLevel": 0.76, "zoomLevel": 0.82,
"show": 511, "show": 511,
"database": 4, "database": 4,
"databaseName": "", "databaseName": "",
@ -57,7 +57,8 @@
"XywAFAP3s5Xl6G-3txHTH", "XywAFAP3s5Xl6G-3txHTH",
"kHLWAzQmZ3CCs0KpilqZ7", "kHLWAzQmZ3CCs0KpilqZ7",
"x7rn2-q2i7C6Lin0XwIR_", "x7rn2-q2i7C6Lin0XwIR_",
"DKSom-hQqNhI1z7FqSa6Y" "DKSom-hQqNhI1z7FqSa6Y",
"QmgAf0ZVXXxPIZ-HUgQlY"
], ],
"relationshipIds": [ "relationshipIds": [
"gAVYXWnBSnCw-0ieO4Mil", "gAVYXWnBSnCw-0ieO4Mil",
@ -84,7 +85,9 @@
"J7H72NkdPg1gZdSAur4la", "J7H72NkdPg1gZdSAur4la",
"7aO23DPo-ueZ6G-9dCKXu", "7aO23DPo-ueZ6G-9dCKXu",
"2yh_-sL8npRIpX_JwH3Vl", "2yh_-sL8npRIpX_JwH3Vl",
"c9fmyTtPkeRt6aHosMiSQ" "c9fmyTtPkeRt6aHosMiSQ",
"U2nR5f47vV7PnW-80gxhR",
"iQCazIDeUufmN-nNXDo5I"
], ],
"indexIds": [], "indexIds": [],
"memoIds": [] "memoIds": []
@ -264,15 +267,15 @@
"AlvBDBVGfLoVcNjd__kFZ" "AlvBDBVGfLoVcNjd__kFZ"
], ],
"ui": { "ui": {
"x": 1192.032, "x": 1156.7379,
"y": 1455.8365, "y": 1717.6012,
"zIndex": 2, "zIndex": 2,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229167728, "updateAt": 1748244309373,
"createAt": 1745819764137 "createAt": 1745819764137
} }
}, },
@ -305,15 +308,15 @@
"8ZPjmeG3NoO6C0icGibJP" "8ZPjmeG3NoO6C0icGibJP"
], ],
"ui": { "ui": {
"x": 1208.9179, "x": 1167.7414,
"y": 2611.3424, "y": 2846.6365,
"zIndex": 2, "zIndex": 2,
"widthName": 68, "widthName": 68,
"widthComment": 89, "widthComment": 89,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229244424, "updateAt": 1748244321138,
"createAt": 1745819764138 "createAt": 1745819764138
} }
}, },
@ -351,15 +354,15 @@
"liJON6hIBB9aS-pQgM0Q6" "liJON6hIBB9aS-pQgM0Q6"
], ],
"ui": { "ui": {
"x": 2523.531, "x": 1781.6193,
"y": 975.4882, "y": 1161.13,
"zIndex": 2, "zIndex": 2,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229375830, "updateAt": 1748244616364,
"createAt": 1745819764138 "createAt": 1745819764138
} }
}, },
@ -394,15 +397,15 @@
"R-UjmO-S2UeQdddVNwH5M" "R-UjmO-S2UeQdddVNwH5M"
], ],
"ui": { "ui": {
"x": 1182.4307, "x": 1150.0778,
"y": 1141.8961, "y": 1433.0726,
"zIndex": 2, "zIndex": 2,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229170568, "updateAt": 1748244376705,
"createAt": 1745819764138 "createAt": 1745819764138
} }
}, },
@ -657,15 +660,15 @@
"mwVYv9PaJFpoxYvTRJ223" "mwVYv9PaJFpoxYvTRJ223"
], ],
"ui": { "ui": {
"x": 1197.3716, "x": 1162.0777,
"y": 1822.7912, "y": 2078.6735,
"zIndex": 495, "zIndex": 495,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229213260, "updateAt": 1748244312026,
"createAt": 1746783410914 "createAt": 1746783410914
} }
}, },
@ -702,15 +705,15 @@
"pzEFysMFfI2J8uB8YHXxA" "pzEFysMFfI2J8uB8YHXxA"
], ],
"ui": { "ui": {
"x": 1206.5028, "x": 1168.2675,
"y": 2922.629, "y": 3160.8644,
"zIndex": 796, "zIndex": 796,
"widthName": 64, "widthName": 64,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229254375, "updateAt": 1748244322259,
"createAt": 1747374666215 "createAt": 1747374666215
} }
}, },
@ -740,15 +743,15 @@
"K_QGLeRYAUneRz7KBswho" "K_QGLeRYAUneRz7KBswho"
], ],
"ui": { "ui": {
"x": 1200.3245, "x": 1167.9716,
"y": 2082.5248, "y": 2347.2306,
"zIndex": 1036, "zIndex": 1036,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229224412, "updateAt": 1748244314623,
"createAt": 1747808112554 "createAt": 1747808112554
} }
}, },
@ -775,15 +778,15 @@
"ixmBlLhmVt4et6tZEwLPC" "ixmBlLhmVt4et6tZEwLPC"
], ],
"ui": { "ui": {
"x": 1206.5149, "x": 1168.2797,
"y": 2350.4325, "y": 2597.4913,
"zIndex": 1118, "zIndex": 1118,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229235528, "updateAt": 1748244316485,
"createAt": 1747808548333 "createAt": 1747808548333
} }
}, },
@ -853,15 +856,15 @@
"6T7sNUPqpTPJm6TI7Qbbe" "6T7sNUPqpTPJm6TI7Qbbe"
], ],
"ui": { "ui": {
"x": 1214.1526, "x": 1190.6231,
"y": 3284.386, "y": 3513.7977,
"zIndex": 1276, "zIndex": 1276,
"widthName": 63, "widthName": 63,
"widthComment": 65, "widthComment": 65,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229267465, "updateAt": 1748244325173,
"createAt": 1748218895681 "createAt": 1748218895681
} }
}, },
@ -891,15 +894,15 @@
"W3wh0h5zKLtV6LmBly1fv" "W3wh0h5zKLtV6LmBly1fv"
], ],
"ui": { "ui": {
"x": 193.0917, "x": 312.4465,
"y": 1518.7496, "y": 1499.3948,
"zIndex": 1306, "zIndex": 1306,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229306138, "updateAt": 1748244855192,
"createAt": 1748223128194 "createAt": 1748223128194
} }
}, },
@ -1007,15 +1010,15 @@
"Ho9aHOXhQNaQYcJdaMz98" "Ho9aHOXhQNaQYcJdaMz98"
], ],
"ui": { "ui": {
"x": 184.6859, "x": 300.8149,
"y": 1202.4731, "y": 1196.0215,
"zIndex": 1446, "zIndex": 1446,
"widthName": 64, "widthName": 64,
"widthComment": 74, "widthComment": 74,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229119647, "updateAt": 1748244860938,
"createAt": 1748224348554 "createAt": 1748224348554
} }
}, },
@ -1044,15 +1047,15 @@
"0b3XIZcKMDp_3uSOXHEH4" "0b3XIZcKMDp_3uSOXHEH4"
], ],
"ui": { "ui": {
"x": 185.3818, "x": 311.1883,
"y": 887.9307, "y": 875.0275,
"zIndex": 1593, "zIndex": 1593,
"widthName": 67, "widthName": 67,
"widthComment": 89, "widthComment": 89,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229116873, "updateAt": 1748244862354,
"createAt": 1748226446838 "createAt": 1748226446838
} }
}, },
@ -1073,15 +1076,15 @@
"8qAFg1S4o6WBlSMD-ehm1" "8qAFg1S4o6WBlSMD-ehm1"
], ],
"ui": { "ui": {
"x": 2530.3659, "x": 2574.7156,
"y": 1320.2421, "y": 1905.5362,
"zIndex": 1650, "zIndex": 1650,
"widthName": 100, "widthName": 100,
"widthComment": 65, "widthComment": 65,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229369917, "updateAt": 1748244460026,
"createAt": 1748227846189 "createAt": 1748227846189
} }
}, },
@ -1102,15 +1105,15 @@
"HVV8J5AkMnozP0S65BeS2" "HVV8J5AkMnozP0S65BeS2"
], ],
"ui": { "ui": {
"x": 2545.6855, "x": 2578.0383,
"y": 1632.2914, "y": 2141.1149,
"zIndex": 1683, "zIndex": 1683,
"widthName": 109, "widthName": 109,
"widthComment": 77, "widthComment": 77,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229366062, "updateAt": 1748244338061,
"createAt": 1748228149005 "createAt": 1748228149005
} }
}, },
@ -1131,15 +1134,15 @@
"kP95mIVWhIRaVVvCLTXSH" "kP95mIVWhIRaVVvCLTXSH"
], ],
"ui": { "ui": {
"x": 2543.5995, "x": 2584.776,
"y": 1975.5922, "y": 2390.2982,
"zIndex": 1720, "zIndex": 1720,
"widthName": 110, "widthName": 110,
"widthComment": 81, "widthComment": 81,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229362549, "updateAt": 1748244345309,
"createAt": 1748228343657 "createAt": 1748228343657
} }
}, },
@ -1160,15 +1163,15 @@
"5hericEusqGgI1pg0jFc1" "5hericEusqGgI1pg0jFc1"
], ],
"ui": { "ui": {
"x": 2551.0909, "x": 2592.2675,
"y": 2244.407, "y": 2650.2895,
"zIndex": 1741, "zIndex": 1741,
"widthName": 111, "widthName": 111,
"widthComment": 80, "widthComment": 80,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229359366, "updateAt": 1748244351015,
"createAt": 1748228440581 "createAt": 1748228440581
} }
}, },
@ -1189,15 +1192,15 @@
"4yuH6ZQUnURnk_U6roXVl" "4yuH6ZQUnURnk_U6roXVl"
], ],
"ui": { "ui": {
"x": 2566.4476, "x": 2581.4628,
"y": 2805.6594, "y": 3241.8824,
"zIndex": 1763, "zIndex": 1763,
"widthName": 132, "widthName": 132,
"widthComment": 79, "widthComment": 79,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229353582, "updateAt": 1748244557895,
"createAt": 1748228523646 "createAt": 1748228523646
} }
}, },
@ -1218,15 +1221,15 @@
"bLPLRDM9p3TWgZqOehkRR" "bLPLRDM9p3TWgZqOehkRR"
], ],
"ui": { "ui": {
"x": 2570.5649, "x": 2591.1532,
"y": 2562.7184, "y": 2930.3654,
"zIndex": 1797, "zIndex": 1797,
"widthName": 135, "widthName": 135,
"widthComment": 101, "widthComment": 101,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229356135, "updateAt": 1748244356258,
"createAt": 1748228685683 "createAt": 1748228685683
} }
}, },
@ -1247,17 +1250,47 @@
"AWwG30rhbOSU6Euyee2Px" "AWwG30rhbOSU6Euyee2Px"
], ],
"ui": { "ui": {
"x": 2562.3299, "x": 2577.0359,
"y": 3088.0124, "y": 3435.0712,
"zIndex": 1822, "zIndex": 1822,
"widthName": 130, "widthName": 130,
"widthComment": 91, "widthComment": 91,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1748229350758, "updateAt": 1748244244345,
"createAt": 1748228820879 "createAt": 1748228820879
} }
},
"QmgAf0ZVXXxPIZ-HUgQlY": {
"id": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "serverinfos_lineinfos",
"comment": "서버_회선정보",
"columnIds": [
"kvxrJ63HuwXmC2zmgeXcY",
"uBMa2GHVEzoB58E-Rcl48",
"wXfA2J6YcI6ySX_4McNS2",
"aWrqV1qsSd5-Kp5nVsyhL"
],
"seqColumnIds": [
"kvxrJ63HuwXmC2zmgeXcY",
"uBMa2GHVEzoB58E-Rcl48",
"wXfA2J6YcI6ySX_4McNS2",
"QEGZd3nUz4vcfEKE1xenI",
"aWrqV1qsSd5-Kp5nVsyhL"
],
"ui": {
"x": 2574.4317,
"y": 1687.4416,
"zIndex": 1861,
"widthName": 109,
"widthComment": 79,
"color": ""
},
"meta": {
"updateAt": 1748245019054,
"createAt": 1748244397324
}
} }
}, },
"tableColumnEntities": { "tableColumnEntities": {
@ -7660,6 +7693,106 @@
"updateAt": 1748228901285, "updateAt": 1748228901285,
"createAt": 1748228892140 "createAt": 1748228892140
} }
},
"kvxrJ63HuwXmC2zmgeXcY": {
"id": "kvxrJ63HuwXmC2zmgeXcY",
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "uid",
"comment": "",
"dataType": "INT",
"default": "",
"options": 15,
"ui": {
"keys": 1,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"meta": {
"updateAt": 1748244444356,
"createAt": 1748244414364
}
},
"aWrqV1qsSd5-Kp5nVsyhL": {
"id": "aWrqV1qsSd5-Kp5nVsyhL",
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "CURRENT_TIMESTAMP",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthDataType": 65,
"widthDefault": 122
},
"meta": {
"updateAt": 1748244414365,
"createAt": 1748244414365
}
},
"uBMa2GHVEzoB58E-Rcl48": {
"id": "uBMa2GHVEzoB58E-Rcl48",
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "serverinfo_uid",
"comment": "",
"dataType": "INT",
"default": "",
"options": 8,
"ui": {
"keys": 2,
"widthName": 76,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"meta": {
"updateAt": 1748244510684,
"createAt": 1748244473142
}
},
"QEGZd3nUz4vcfEKE1xenI": {
"id": "QEGZd3nUz4vcfEKE1xenI",
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "lineinfo_uid",
"comment": "",
"dataType": "INT",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 63,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"meta": {
"updateAt": 1748244516870,
"createAt": 1748244494577
}
},
"wXfA2J6YcI6ySX_4McNS2": {
"id": "wXfA2J6YcI6ySX_4McNS2",
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"name": "lineinfo_uid",
"comment": "",
"dataType": "INT",
"default": "",
"options": 8,
"ui": {
"keys": 2,
"widthName": 63,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"meta": {
"updateAt": 1748244634796,
"createAt": 1748244625113
}
} }
}, },
"relationshipEntities": { "relationshipEntities": {
@ -7785,8 +7918,8 @@
"columnIds": [ "columnIds": [
"7B0zaLoZnOoMNW8OHZlrQ" "7B0zaLoZnOoMNW8OHZlrQ"
], ],
"x": 2523.531, "x": 1781.6193,
"y": 1179.4882, "y": 1365.13,
"direction": 1 "direction": 1
}, },
"end": { "end": {
@ -7794,8 +7927,8 @@
"columnIds": [ "columnIds": [
"f7_MGvRjkwL1xkCWrAgDR" "f7_MGvRjkwL1xkCWrAgDR"
], ],
"x": 1680.4307, "x": 1648.0778,
"y": 1203.8961, "y": 1495.0726,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {
@ -7822,8 +7955,8 @@
"columnIds": [ "columnIds": [
"5KRw8TtT2nLqpYfKFOBwe" "5KRw8TtT2nLqpYfKFOBwe"
], ],
"x": 2523.531, "x": 1781.6193,
"y": 1043.4882, "y": 1229.13,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -7934,8 +8067,8 @@
"columnIds": [ "columnIds": [
"4ZPfgU2ooMQksUvTVE3DH" "4ZPfgU2ooMQksUvTVE3DH"
], ],
"x": 703.0917, "x": 822.4465,
"y": 1580.7496, "y": 1561.3948,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {
@ -7953,9 +8086,9 @@
"columnIds": [ "columnIds": [
"DX0y0VIZ430hVZbT_pmKl" "DX0y0VIZ430hVZbT_pmKl"
], ],
"x": 448.0917, "x": 312.4465,
"y": 1766.7496, "y": 1623.3948,
"direction": 8 "direction": 1
}, },
"end": { "end": {
"tableId": "UuZoDcFNrKD0iTjVkA2Ew", "tableId": "UuZoDcFNrKD0iTjVkA2Ew",
@ -7981,8 +8114,8 @@
"columnIds": [ "columnIds": [
"DX0y0VIZ430hVZbT_pmKl" "DX0y0VIZ430hVZbT_pmKl"
], ],
"x": 703.0917, "x": 822.4465,
"y": 1704.7496, "y": 1685.3948,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8018,8 +8151,8 @@
"columnIds": [ "columnIds": [
"s6Juv5DV5R4Yc_nxRzyQG" "s6Juv5DV5R4Yc_nxRzyQG"
], ],
"x": 718.6859, "x": 834.8149000000001,
"y": 1326.4731, "y": 1320.0215,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {
@ -8046,8 +8179,8 @@
"columnIds": [ "columnIds": [
"8TLeYhxU1ZWII8eSABTTP" "8TLeYhxU1ZWII8eSABTTP"
], ],
"x": 699.3818, "x": 825.1883,
"y": 1011.9307, "y": 999.0275,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {
@ -8065,8 +8198,8 @@
"columnIds": [ "columnIds": [
"Id0h8QbOdlhPj9P1zTm5o" "Id0h8QbOdlhPj9P1zTm5o"
], ],
"x": 1680.4307, "x": 1648.0778,
"y": 1327.8961, "y": 1619.0726,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8074,8 +8207,8 @@
"columnIds": [ "columnIds": [
"woS0kjRSXcXN1L79VN2ix" "woS0kjRSXcXN1L79VN2ix"
], ],
"x": 2530.3659, "x": 2574.7156,
"y": 1358.2421, "y": 1943.5362,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8093,8 +8226,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1478.6936428571428, "y": 1777.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8102,8 +8235,8 @@
"columnIds": [ "columnIds": [
"067vdUFESzj48PGB_QLjg" "067vdUFESzj48PGB_QLjg"
], ],
"x": 2530.3659, "x": 2574.7156,
"y": 1434.2421, "y": 2019.5362,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8121,8 +8254,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1524.4079285714286, "y": 1817.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8130,8 +8263,8 @@
"columnIds": [ "columnIds": [
"B6XMwBsjXzUg7Glny_NkC" "B6XMwBsjXzUg7Glny_NkC"
], ],
"x": 2545.6855, "x": 2578.0383,
"y": 1670.2914, "y": 2179.1149,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8149,8 +8282,8 @@
"columnIds": [ "columnIds": [
"Jh6e_-9QYe1Tqve0PE3kT" "Jh6e_-9QYe1Tqve0PE3kT"
], ],
"x": 1694.3716, "x": 1659.0777,
"y": 1934.7912, "y": 2190.6735,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8158,8 +8291,8 @@
"columnIds": [ "columnIds": [
"CBCTA2-9kJYGl-jsoO1w6" "CBCTA2-9kJYGl-jsoO1w6"
], ],
"x": 2545.6855, "x": 2578.0383,
"y": 1746.2914, "y": 2255.1149,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8177,8 +8310,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1570.1222142857143, "y": 1857.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8186,8 +8319,8 @@
"columnIds": [ "columnIds": [
"0UhqQkNDg3DHug5zXFJEY" "0UhqQkNDg3DHug5zXFJEY"
], ],
"x": 2543.5995, "x": 2584.776,
"y": 2013.5922, "y": 2428.2982,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8205,8 +8338,8 @@
"columnIds": [ "columnIds": [
"203b3hUKUQ_Gu5wKShBgZ" "203b3hUKUQ_Gu5wKShBgZ"
], ],
"x": 1697.3245, "x": 1664.9716,
"y": 2194.5248, "y": 2459.2306,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8214,8 +8347,8 @@
"columnIds": [ "columnIds": [
"Bg-Tx0N2d0uSzyhPkhyck" "Bg-Tx0N2d0uSzyhPkhyck"
], ],
"x": 2543.5995, "x": 2584.776,
"y": 2089.5922, "y": 2504.2982,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8233,8 +8366,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1615.8365000000001, "y": 1897.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8242,8 +8375,8 @@
"columnIds": [ "columnIds": [
"STLYnqCG56zLLyNnfgnqR" "STLYnqCG56zLLyNnfgnqR"
], ],
"x": 2551.0909, "x": 2592.2675,
"y": 2282.407, "y": 2688.2895,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8261,8 +8394,8 @@
"columnIds": [ "columnIds": [
"WaCB3uNZYFReAPiBqQ97v" "WaCB3uNZYFReAPiBqQ97v"
], ],
"x": 1703.5149, "x": 1665.2797,
"y": 2462.4325, "y": 2709.4913,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8270,8 +8403,8 @@
"columnIds": [ "columnIds": [
"thCqAUxooyOoqA0o8Cr1S" "thCqAUxooyOoqA0o8Cr1S"
], ],
"x": 2551.0909, "x": 2592.2675,
"y": 2358.407, "y": 2764.2895,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8289,8 +8422,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1707.2650714285717, "y": 1977.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8298,8 +8431,8 @@
"columnIds": [ "columnIds": [
"PhV2kPOROFN2Paxn0Q3KK" "PhV2kPOROFN2Paxn0Q3KK"
], ],
"x": 2566.4476, "x": 2581.4628,
"y": 2843.6594, "y": 3279.8824,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8317,8 +8450,8 @@
"columnIds": [ "columnIds": [
"zBz4vBOZSIA8vKmfqXckO" "zBz4vBOZSIA8vKmfqXckO"
], ],
"x": 1709.5028, "x": 1671.2675,
"y": 3082.629, "y": 3320.8644,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8326,8 +8459,8 @@
"columnIds": [ "columnIds": [
"JVNCmWuI_UAnZEGZUbBQv" "JVNCmWuI_UAnZEGZUbBQv"
], ],
"x": 2566.4476, "x": 2581.4628,
"y": 2919.6594, "y": 3355.8824,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8345,8 +8478,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1661.550785714286, "y": 1937.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8354,8 +8487,8 @@
"columnIds": [ "columnIds": [
"OqPMHX5b1-Qct8xqaypd1" "OqPMHX5b1-Qct8xqaypd1"
], ],
"x": 2570.5649, "x": 2591.1532,
"y": 2600.7184, "y": 2968.3654,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8373,8 +8506,8 @@
"columnIds": [ "columnIds": [
"2HB01q46-mugMjuOz85YG" "2HB01q46-mugMjuOz85YG"
], ],
"x": 1705.9179, "x": 1664.7414,
"y": 2747.3424, "y": 2982.6365,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8382,8 +8515,8 @@
"columnIds": [ "columnIds": [
"Wjix1VNvwEfcogjAdEgc2" "Wjix1VNvwEfcogjAdEgc2"
], ],
"x": 2570.5649, "x": 2591.1532,
"y": 2676.7184, "y": 3044.3654,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8401,8 +8534,8 @@
"columnIds": [ "columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1" "F9EPb6nsDx6Tf3GG8rvP1"
], ],
"x": 1689.032, "x": 1653.7379,
"y": 1752.9793571428575, "y": 2017.6012,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8410,8 +8543,8 @@
"columnIds": [ "columnIds": [
"CCtqlfF2lD-XJILWNJMGC" "CCtqlfF2lD-XJILWNJMGC"
], ],
"x": 2562.3299, "x": 2577.0359,
"y": 3126.0124, "y": 3473.0712,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
@ -8429,8 +8562,8 @@
"columnIds": [ "columnIds": [
"XnNj7H0bnTxo_NuZm7BOs" "XnNj7H0bnTxo_NuZm7BOs"
], ],
"x": 1711.1526, "x": 1687.6231,
"y": 3396.386, "y": 3625.7977,
"direction": 2 "direction": 2
}, },
"end": { "end": {
@ -8438,14 +8571,98 @@
"columnIds": [ "columnIds": [
"XRRh5KRH2WqKryhsba-KG" "XRRh5KRH2WqKryhsba-KG"
], ],
"x": 2562.3299, "x": 2577.0359,
"y": 3202.0124, "y": 3549.0712,
"direction": 1 "direction": 1
}, },
"meta": { "meta": {
"updateAt": 1748228892140, "updateAt": 1748228892140,
"createAt": 1748228892140 "createAt": 1748228892140
} }
},
"U2nR5f47vV7PnW-80gxhR": {
"id": "U2nR5f47vV7PnW-80gxhR",
"identification": false,
"relationshipType": 16,
"startRelationshipType": 2,
"start": {
"tableId": "B4qGh3KZsXHQ3_4EOgwJZ",
"columnIds": [
"F9EPb6nsDx6Tf3GG8rvP1"
],
"x": 1653.7379,
"y": 1737.6012,
"direction": 2
},
"end": {
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"columnIds": [
"uBMa2GHVEzoB58E-Rcl48"
],
"x": 2574.4317,
"y": 1801.4416,
"direction": 1
},
"meta": {
"updateAt": 1748244473142,
"createAt": 1748244473142
}
},
"Mr60Ap-s6BOS6MfpynPF8": {
"id": "Mr60Ap-s6BOS6MfpynPF8",
"identification": false,
"relationshipType": 16,
"startRelationshipType": 2,
"start": {
"tableId": "ZLEpY5EjuZV21718zf-Y1",
"columnIds": [
"Id0h8QbOdlhPj9P1zTm5o"
],
"x": 1648.0778,
"y": 1557.0726000000002,
"direction": 2
},
"end": {
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"columnIds": [
"QEGZd3nUz4vcfEKE1xenI"
],
"x": 2574.4317,
"y": 1725.4416,
"direction": 1
},
"meta": {
"updateAt": 1748244494577,
"createAt": 1748244494577
}
},
"iQCazIDeUufmN-nNXDo5I": {
"id": "iQCazIDeUufmN-nNXDo5I",
"identification": false,
"relationshipType": 16,
"startRelationshipType": 2,
"start": {
"tableId": "doERb3lIVeBW_D0NtNYX8",
"columnIds": [
"7B0zaLoZnOoMNW8OHZlrQ"
],
"x": 2297.6193000000003,
"y": 1297.13,
"direction": 2
},
"end": {
"tableId": "QmgAf0ZVXXxPIZ-HUgQlY",
"columnIds": [
"wXfA2J6YcI6ySX_4McNS2"
],
"x": 2574.4317,
"y": 1725.4416,
"direction": 1
},
"meta": {
"updateAt": 1748244625114,
"createAt": 1748244625114
}
} }
}, },
"indexEntities": {}, "indexEntities": {},

View File

@ -0,0 +1,11 @@
<?php
namespace App\Entities\Equipment;
use App\Models\Equipment\DomainModel;
class DomainEntity extends EquipmentEntity
{
const PK = DomainModel::PK;
const TITLE = DomainModel::TITLE;
}

View File

@ -8,7 +8,7 @@ class CpuEntity extends LinkEntity
{ {
const PK = CpuModel::PK; const PK = CpuModel::PK;
const TITLE = CpuModel::TITLE; const TITLE = CpuModel::TITLE;
public function getPartInfoUID(): string public function getAdapterInfoUID(): string
{ {
return $this->attributes['cpuinfo_uid']; return $this->attributes['cpuinfo_uid'];
} }

View File

@ -0,0 +1,15 @@
<?php
namespace App\Entities\Equipment\Link;
use App\Models\Equipment\Link\DefenceModel;
class DefenceEntity extends LinkEntity
{
const PK = DefenceModel::PK;
const TITLE = DefenceModel::TITLE;
public function getAdapterInfoUID(): string
{
return $this->attributes['defenceinfo_uid'];
}
}

View File

@ -8,7 +8,7 @@ class DiskEntity extends LinkEntity
{ {
const PK = DiskModel::PK; const PK = DiskModel::PK;
const TITLE = DiskModel::TITLE; const TITLE = DiskModel::TITLE;
public function getPartInfoUID(): string public function getAdapterInfoUID(): string
{ {
return $this->attributes['diskinfo_uid']; return $this->attributes['diskinfo_uid'];
} }

View File

@ -0,0 +1,15 @@
<?php
namespace App\Entities\Equipment\Link;
use App\Models\Equipment\Link\DomainModel;
class DomainEntity extends LinkEntity
{
const PK = DomainModel::PK;
const TITLE = DomainModel::TITLE;
public function getAdapterInfoUID(): string
{
return $this->attributes['domaininfo_uid'];
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace App\Entities\Equipment\Link;
use App\Models\Equipment\Link\IpModel;
class IpEntity extends LinkEntity
{
const PK = IpModel::PK;
const TITLE = IpModel::TITLE;
public function getAdapterInfoUID(): string
{
return $this->attributes['ipinfo_uid'];
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace App\Entities\Equipment\Link;
use App\Models\Equipment\Link\LineModel;
class LineEntity extends LinkEntity
{
const PK = LineModel::PK;
const TITLE = LineModel::TITLE;
public function getAdapterInfoUID(): string
{
return $this->attributes['lineinfo_uid'];
}
}

View File

@ -11,7 +11,7 @@ abstract class LinkEntity extends EquipmentEntity
{ {
parent::__construct($data); parent::__construct($data);
} }
abstract public function getPartInfoUID(): string; abstract public function getAdapterInfoUID(): string;
final public function getServiceInfoUID(): string final public function getServiceInfoUID(): string
{ {
return $this->attributes['serverinfo_uid']; return $this->attributes['serverinfo_uid'];

View File

@ -8,7 +8,7 @@ class RamEntity extends LinkEntity
{ {
const PK = RamModel::PK; const PK = RamModel::PK;
const TITLE = RamModel::TITLE; const TITLE = RamModel::TITLE;
public function getPartInfoUID(): string public function getAdapterInfoUID(): string
{ {
return $this->attributes['raminfo_uid']; return $this->attributes['raminfo_uid'];
} }

View File

@ -0,0 +1,15 @@
<?php
namespace App\Entities\Equipment\Link;
use App\Models\Equipment\Link\SoftwareModel;
class SoftwareEntity extends LinkEntity
{
const PK = SoftwareModel::PK;
const TITLE = SoftwareModel::TITLE;
public function getAdapterInfoUID(): string
{
return $this->attributes['softwareininfo_uid'];
}
}

View File

@ -11,4 +11,8 @@ abstract class PartEntity extends EquipmentEntity
{ {
parent::__construct($data); parent::__construct($data);
} }
public function getTitle(): string
{
return parent::getTitle() . " [" . number_format($this->attributes['price']) . "원]";
}
} }

View File

@ -0,0 +1,16 @@
<?php
namespace App\Helpers\Equipment\Link;
use App\Models\Equipment\Link\DefenceModel;
use CodeIgniter\HTTP\IncomingRequest;
class DefenceHelper extends LinkHelper
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->setTitleField(field: DefenceModel::TITLE);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Helpers\Equipment\Link;
use App\Models\Equipment\Link\DomainModel;
use CodeIgniter\HTTP\IncomingRequest;
class DomainHelper extends LinkHelper
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->setTitleField(field: DomainModel::TITLE);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Helpers\Equipment\Link;
use App\Models\Equipment\Link\IpModel;
use CodeIgniter\HTTP\IncomingRequest;
class IpHelper extends LinkHelper
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->setTitleField(field: IpModel::TITLE);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Helpers\Equipment\Link;
use App\Models\Equipment\Link\LineModel;
use CodeIgniter\HTTP\IncomingRequest;
class LineHelper extends LinkHelper
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->setTitleField(field: LineModel::TITLE);
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Helpers\Equipment\Link;
use App\Models\Equipment\Link\SoftwareModel;
use CodeIgniter\HTTP\IncomingRequest;
class SoftwareHelper extends LinkHelper
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->setTitleField(field: SoftwareModel::TITLE);
}
}

View File

@ -2,16 +2,8 @@
return [ return [
'title' => "CPU연결정보", 'title' => "CPU연결정보",
'label' => [ 'label' => [
'billing_type' => "청구유형",
'serviceinfo_uid' => "서비스",
'serverinfo_uid' => "서버", 'serverinfo_uid' => "서버",
'cpuinfo_uid' => "CPU", 'cpuinfo_uid' => "CPU",
'amount' => "금액",
'updated_at' => "수정일",
'created_at' => "작성일", 'created_at' => "작성일",
], ],
"BILLING_TYPE" => [
"month" => "월별",
"onetime" => "일회성",
],
]; ];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => "방어연결정보",
'label' => [
'serverinfo_uid' => "서버",
'defenceinfo_uid' => "방어",
'created_at' => "작성일",
],
];

View File

@ -2,16 +2,8 @@
return [ return [
'title' => "Disk연결정보", 'title' => "Disk연결정보",
'label' => [ 'label' => [
'billing_type' => "청구유형",
'serviceinfo_uid' => "서비스",
'serverinfo_uid' => "서버", 'serverinfo_uid' => "서버",
'diskinfo_uid' => "Disk", 'diskinfo_uid' => "DISK",
'amount' => "금액",
'updated_at' => "수정일",
'created_at' => "작성일", 'created_at' => "작성일",
], ],
"BILLING_TYPE" => [
"month" => "월별",
"onetime" => "일회성",
],
]; ];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => "Domain연결정보",
'label' => [
'serverinfo_uid' => "서버",
'domaininfo_uid' => "Domain",
'created_at' => "작성일",
],
];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => "IP연결정보",
'label' => [
'serverinfo_uid' => "서버",
'ipinfo_uid' => "IP",
'created_at' => "작성일",
],
];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => "Line연결정보",
'label' => [
'serverinfo_uid' => "서버",
'lineinfo_uid' => "회선",
'created_at' => "작성일",
],
];

View File

@ -2,16 +2,8 @@
return [ return [
'title' => "Ram연결정보", 'title' => "Ram연결정보",
'label' => [ 'label' => [
'billing_type' => "청구유형",
'serviceinfo_uid' => "서비스",
'serverinfo_uid' => "서버", 'serverinfo_uid' => "서버",
'raminfo_uid' => "RAM", 'raminfo_uid' => "RAM",
'amount' => "금액",
'updated_at' => "수정일",
'created_at' => "작성일", 'created_at' => "작성일",
], ],
"BILLING_TYPE" => [
"month" => "월별",
"onetime" => "일회성",
],
]; ];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => "Software연결정보",
'label' => [
'serverinfo_uid' => "서버",
'softwareinfo_uid' => "Software",
'created_at' => "작성일",
],
];

View File

@ -0,0 +1,57 @@
<?php
namespace App\Models\Equipment;
use App\Entities\Equipment\DomainEntity;
class DomainModel extends EquipmentModel
{
const TABLE = "lineinfo";
const PK = "uid";
const TITLE = "title";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = DomainEntity::class;
protected $allowedFields = [
"domain",
"price",
"status",
"updated_at"
];
public function __construct()
{
parent::__construct();
}
public function getFieldRule(string $action, string $field): string
{
if (is_array($field)) {
throw new \Exception(__FUNCTION__ . "=> field가 array 입니다.\n" . var_export($field, true));
}
switch ($field) {
case "domain":
$rule = "required|trim|string";
break;
case "price":
$rule = "required|numeric";
break;
default:
$rule = parent::getFieldRule($action, $field);
break;
}
return $rule;
}
protected function convertEntityData(string $field, array $formDatas, mixed $entity): mixed
{
switch ($field) {
case 'clientinfo_uid':
if (array_key_exists($field, $formDatas) && $formDatas[$field] !== '') {
$entity->$field = $formDatas[$field];
}
break;
default:
$entity = parent::convertEntityData($field, $formDatas, $entity);
break;
}
return $entity;
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Models\Equipment\Link;
use App\Entities\Equipment\Link\DefenceEntity;
class DefenceModel extends LinkModel
{
const TABLE = "serverinfos_domaininfos";
const PK = "uid";
const TITLE = "uid";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = DefenceEntity::class;
protected $allowedFields = [
"serverinfo_uid",
"defenceinfo_uid",
"updated_at",
];
public function __construct()
{
parent::__construct();
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Models\Equipment\Link;
use App\Entities\Equipment\Link\DomainEntity;
class DomainModel extends LinkModel
{
const TABLE = "serverinfos_domaininfos";
const PK = "uid";
const TITLE = "uid";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = DomainEntity::class;
protected $allowedFields = [
"serverinfo_uid",
"domaininfo_uid",
"updated_at",
];
public function __construct()
{
parent::__construct();
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Models\Equipment\Link;
use App\Entities\Equipment\Link\IpEntity;
class IpModel extends LinkModel
{
const TABLE = "serverinfos_ipinfos";
const PK = "uid";
const TITLE = "uid";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = IpEntity::class;
protected $allowedFields = [
"serverinfo_uid",
"ipinfo_uid",
"updated_at",
];
public function __construct()
{
parent::__construct();
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Models\Equipment\Link;
use App\Entities\Equipment\Link\LineEntity;
class LineModel extends LinkModel
{
const TABLE = "serverinfos_lineinfos";
const PK = "uid";
const TITLE = "uid";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = LineEntity::class;
protected $allowedFields = [
"serverinfo_uid",
"lineinfo_uid",
"updated_at",
];
public function __construct()
{
parent::__construct();
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Models\Equipment\Link;
use App\Entities\Equipment\Link\SoftwareEntity;
class SoftwareModel extends LinkModel
{
const TABLE = "serverinfos_softwareinfos";
const PK = "uid";
const TITLE = "uid";
protected $table = self::TABLE;
protected $primaryKey = self::PK;
protected $returnType = SoftwareEntity::class;
protected $allowedFields = [
"serverinfo_uid",
"softwareinfo_uid",
"updated_at",
];
public function __construct()
{
parent::__construct();
}
}

View File

@ -0,0 +1,44 @@
<?php
namespace App\Services\Equipment;
use App\Entities\Equipment\DomainEntity;
use App\Models\Equipment\DomainModel;
use CodeIgniter\HTTP\IncomingRequest;
class DomainService extends EquipmentService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Domain');
}
public function getModelClass(): DomainModel
{
return new DomainModel();
}
public function getEntityClass(): DomainEntity
{
return new DomainEntity();
}
public function getFields(): array
{
return [
"clientinfo_uid",
"type",
"title",
"bandwith",
"start_at",
"status",
];
}
public function getFilterFields(): array
{
return ["clientinfo_uid", "type", 'status',];
}
public function getBatchJobFields(): array
{
return ['status'];
}
}

View File

@ -6,7 +6,7 @@ use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\CpuEntity; use App\Entities\Equipment\Link\CpuEntity;
use App\Models\Equipment\Link\CpuModel; use App\Models\Equipment\Link\CpuModel;
use App\Services\Equipment\Part\CpuService as PartService; use App\Services\Equipment\Part\CpuService as AdapterService;
class CpuService extends LinkService class CpuService extends LinkService
{ {
@ -24,23 +24,12 @@ class CpuService extends LinkService
{ {
return new CpuEntity(); return new CpuEntity();
} }
protected function getPartService(): PartService protected function getAdapterService(): AdapterService
{ {
return new PartService(); return new AdapterService();
} }
public function getFields(): array protected function getAdapterField(): string
{ {
return [ return "cpuinfo_uid";
"serverinfo_uid",
"cpuinfo_uid",
];
}
public function getFilterFields(): array
{
return ["serverinfo_uid", "cpuinfo_uid"];
}
public function getBatchJobFields(): array
{
return [];
} }
} }

View File

@ -0,0 +1,35 @@
<?php
namespace App\Services\Equipment\Link;
use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\DefenceEntity;
use App\Models\Equipment\Link\DefenceModel;
use App\Services\Equipment\DefenceService as AdapterService;
class DefenceService extends LinkService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Defence');
}
public function getModelClass(): DefenceModel
{
return new DefenceModel;
}
public function getEntityClass(): DefenceEntity
{
return new DefenceEntity();
}
protected function getAdapterService(): AdapterService
{
return new AdapterService();
}
protected function getAdapterField(): string
{
return "defenceinfo_uid";
}
}

View File

@ -6,7 +6,7 @@ use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\DiskEntity; use App\Entities\Equipment\Link\DiskEntity;
use App\Models\Equipment\Link\DiskModel; use App\Models\Equipment\Link\DiskModel;
use App\Services\Equipment\Part\DiskService as PartService; use App\Services\Equipment\Part\DiskService as AdapterService;
class DiskService extends LinkService class DiskService extends LinkService
{ {
@ -24,25 +24,12 @@ class DiskService extends LinkService
{ {
return new DiskEntity(); return new DiskEntity();
} }
protected function getPartService(): PartService protected function getAdapterService(): AdapterService
{ {
return new PartService(); return new AdapterService();
} }
protected function getAdapterField(): string
public function getFields(): array
{ {
return [ return "diskinfo_uid";
"serverinfo_uid",
"diskinfo_uid",
];
}
public function getFilterFields(): array
{
return ["serverinfo_uid", "diskinfo_uid"];
}
public function getBatchJobFields(): array
{
return [];
} }
} }

View File

@ -0,0 +1,35 @@
<?php
namespace App\Services\Equipment\Link;
use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\DomainEntity;
use App\Models\Equipment\Link\DomainModel;
use App\Services\Equipment\DomainService as AdapterService;
class DomainService extends LinkService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Domain');
}
public function getModelClass(): DomainModel
{
return new DomainModel;
}
public function getEntityClass(): DomainEntity
{
return new DomainEntity();
}
protected function getAdapterService(): AdapterService
{
return new AdapterService();
}
protected function getAdapterField(): string
{
return "domaininfo_uid";
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Services\Equipment\Link;
use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\IpEntity;
use App\Models\Equipment\Link\IpModel;
use App\Services\Equipment\IpService as AdapterService;
class IpService extends LinkService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Ip');
}
public function getModelClass(): IpModel
{
return new IpModel;
}
public function getEntityClass(): IpEntity
{
return new IpEntity();
}
protected function getAdapterService(): AdapterService
{
return new AdapterService();
}
protected function getAdapterField(): string
{
return "ipinfo_uid";
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Services\Equipment\Link;
use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\LineEntity;
use App\Models\Equipment\Link\LineModel;
use App\Services\Equipment\LineService as AdapterService;
class LineService extends LinkService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Line');
}
public function getModelClass(): LineModel
{
return new LineModel;
}
public function getEntityClass(): LineEntity
{
return new LineEntity();
}
protected function getAdapterService(): AdapterService
{
return new AdapterService();
}
protected function getAdapterField(): string
{
return "lineinfo_uid";
}
}

View File

@ -15,13 +15,30 @@ abstract class LinkService extends EquipmentService
parent::__construct($request); parent::__construct($request);
$this->addClassName('Link'); $this->addClassName('Link');
} }
abstract protected function getPartService(); abstract protected function getAdapterService(): mixed;
abstract protected function getAdapterField(): string;
final public function getPartEntities(ServerEntity $serverEntity): array final public function getPartEntities(ServerEntity $serverEntity): array
{ {
$entities = []; $entities = [];
foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) { foreach ($this->getEntities(['serverinfo_uid' => $serverEntity->getPK()]) as $entity) {
$entities[] = $this->getPartService()->getEntity($entity->getPartInfoUID()); $entities[] = $this->getAdapterService()->getEntity($entity->getPartInfoUID());
} }
return $entities; return $entities;
} }
public function getFields(): array
{
return [
"serverinfo_uid",
$this->getAdapterField(),
];
}
public function getFilterFields(): array
{
return ["serverinfo_uid", $this->getAdapterField()];
}
public function getBatchJobFields(): array
{
return [];
}
} }

View File

@ -6,7 +6,7 @@ use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\RamEntity; use App\Entities\Equipment\Link\RamEntity;
use App\Models\Equipment\Link\RamModel; use App\Models\Equipment\Link\RamModel;
use App\Services\Equipment\Part\RamService as PartService; use App\Services\Equipment\Part\RamService as AdapterService;
class RamService extends LinkService class RamService extends LinkService
{ {
@ -24,25 +24,12 @@ class RamService extends LinkService
{ {
return new RamEntity(); return new RamEntity();
} }
protected function getPartService(): PartService protected function getAdapterService(): AdapterService
{ {
return new PartService(); return new AdapterService();
} }
protected function getAdapterField(): string
public function getFields(): array
{ {
return [ return "raminfo_uid";
"serverinfo_uid",
"raminfo_uid",
];
}
public function getFilterFields(): array
{
return ["serverinfo_uid", "raminfo_uid"];
}
public function getBatchJobFields(): array
{
return [];
} }
} }

View File

@ -0,0 +1,35 @@
<?php
namespace App\Services\Equipment\Link;
use CodeIgniter\HTTP\IncomingRequest;
use App\Entities\Equipment\Link\SoftwareEntity;
use App\Models\Equipment\Link\SoftwareModel;
use App\Services\Equipment\SoftwareService as AdapterService;
class SoftwareService extends LinkService
{
protected ?IncomingRequest $request = null;
public function __construct(?IncomingRequest $request = null)
{
parent::__construct($request);
$this->addClassName('Software');
}
public function getModelClass(): SoftwareModel
{
return new SoftwareModel;
}
public function getEntityClass(): SoftwareEntity
{
return new SoftwareEntity();
}
protected function getAdapterService(): AdapterService
{
return new AdapterService();
}
protected function getAdapterField(): string
{
return "softwareinfo_uid";
}
}

View File

@ -35,13 +35,25 @@
function closeBootstrapModal() { function closeBootstrapModal() {
var modalElement = document.getElementById('index_action_form'); // 모달의 실제 DOM 요소 가져오기 var modalElement = document.getElementById('index_action_form'); // 모달의 실제 DOM 요소 가져오기
var modalInstance = bootstrap.Modal.getInstance(modalElement); // 모달 인스턴스 가져오기 var modalInstance = bootstrap.Modal.getInstance(modalElement); // 모달 인스턴스 가져오기
// 먼저 모달을 호출한 페이지를 리로드
// window.location.reload();
if (modalInstance) { if (modalInstance) {
modalInstance.hide(); // 모달 닫기 (hide() 메서드 사용) modalInstance.hide(); // 모달 닫기 (hide() 메서드 사용)
} else { } else {
console.error("Modal instance not found."); console.error("Modal instance not found.");
} }
// iframe src를 초기화하거나 완전히 제거
const iframe = document.getElementById('form-container');
iframe.remove(); // DOM에서 완전히 제거
// 새 iframe 다시 생성 (깨끗한 상태로 초기화)
const newIframe = document.createElement('iframe');
newIframe.id = 'form-container';
newIframe.src = 'about:blank';
newIframe.width = '100%';
newIframe.frameBorder = '0';
newIframe.allowFullscreen = true;
// body에 다시 추가
document.querySelector('#index_action_form .modal-body').appendChild(newIframe);
// 부모창만 리로드
window.location.reload();
} }
var index_action_form = document.getElementById('index_action_form'); var index_action_form = document.getElementById('index_action_form');