dplus_common_v1 0.1.108 → 0.1.110

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 (189) hide show
  1. package/dist/consts/db.d.ts +1 -0
  2. package/dist/consts/db.js +1 -0
  3. package/dist/consts/db.js.map +1 -1
  4. package/dist/dplus-types/dplus-response-types.d.ts +9 -0
  5. package/dist/fields/fields-category/f-category-i18n.d.ts +10 -2
  6. package/dist/fields/fields-category/f-category-i18n.js +16 -8
  7. package/dist/fields/fields-category/f-category-i18n.js.map +1 -1
  8. package/dist/fields/fields-category/f-category-metadata-i18n.d.ts +24 -3
  9. package/dist/fields/fields-category/f-category-metadata-i18n.js +37 -16
  10. package/dist/fields/fields-category/f-category-metadata-i18n.js.map +1 -1
  11. package/dist/fields/fields-category/f-category.d.ts +13 -101
  12. package/dist/fields/fields-category/f-category.js +50 -213
  13. package/dist/fields/fields-category/f-category.js.map +1 -1
  14. package/dist/fields/fields-city/f-city-i18n.d.ts +10 -0
  15. package/dist/fields/fields-city/f-city-i18n.js +19 -9
  16. package/dist/fields/fields-city/f-city-i18n.js.map +1 -1
  17. package/dist/fields/fields-city/f-city-image.d.ts +31 -4
  18. package/dist/fields/fields-city/f-city-image.js +48 -20
  19. package/dist/fields/fields-city/f-city-image.js.map +1 -1
  20. package/dist/fields/fields-city/f-city-metadata-i18n.d.ts +24 -3
  21. package/dist/fields/fields-city/f-city-metadata-i18n.js +38 -17
  22. package/dist/fields/fields-city/f-city-metadata-i18n.js.map +1 -1
  23. package/dist/fields/fields-city/f-city-youtube-video.d.ts +26 -2
  24. package/dist/fields/fields-city/f-city-youtube-video.js +35 -11
  25. package/dist/fields/fields-city/f-city-youtube-video.js.map +1 -1
  26. package/dist/fields/fields-city/f-city.d.ts +59 -185
  27. package/dist/fields/fields-city/f-city.js +80 -201
  28. package/dist/fields/fields-city/f-city.js.map +1 -1
  29. package/dist/fields/fields-event/f-event-description.d.ts +272 -0
  30. package/dist/fields/fields-event/f-event-description.js +277 -0
  31. package/dist/fields/fields-event/f-event-description.js.map +1 -0
  32. package/dist/fields/fields-event/f-event-image.d.ts +12 -21
  33. package/dist/fields/fields-event/f-event-image.js +41 -50
  34. package/dist/fields/fields-event/f-event-image.js.map +1 -1
  35. package/dist/fields/fields-event/f-event-metadata-i18n.d.ts +8 -18
  36. package/dist/fields/fields-event/f-event-metadata-i18n.js +9 -19
  37. package/dist/fields/fields-event/f-event-metadata-i18n.js.map +1 -1
  38. package/dist/fields/fields-event/f-event.d.ts +78 -302
  39. package/dist/fields/fields-event/f-event.js +176 -390
  40. package/dist/fields/fields-event/f-event.js.map +1 -1
  41. package/dist/fields/fields-folder/f-folder-description.d.ts +133 -0
  42. package/dist/fields/fields-folder/f-folder-description.js +134 -0
  43. package/dist/fields/fields-folder/f-folder-description.js.map +1 -0
  44. package/dist/fields/fields-folder/f-folder-image.d.ts +14 -23
  45. package/dist/fields/fields-folder/f-folder-image.js +41 -50
  46. package/dist/fields/fields-folder/f-folder-image.js.map +1 -1
  47. package/dist/fields/fields-folder/f-folder-metadata-i18n.d.ts +10 -2
  48. package/dist/fields/fields-folder/f-folder-metadata-i18n.js +23 -15
  49. package/dist/fields/fields-folder/f-folder-metadata-i18n.js.map +1 -1
  50. package/dist/fields/fields-folder/f-folder.d.ts +30 -336
  51. package/dist/fields/fields-folder/f-folder.js +44 -350
  52. package/dist/fields/fields-folder/f-folder.js.map +1 -1
  53. package/dist/fields/fields-group/f-group-image.d.ts +18 -21
  54. package/dist/fields/fields-group/f-group-image.js +48 -51
  55. package/dist/fields/fields-group/f-group-image.js.map +1 -1
  56. package/dist/fields/fields-group/f-group-metadata-i18n.d.ts +4 -0
  57. package/dist/fields/fields-group/f-group-metadata-i18n.js +14 -10
  58. package/dist/fields/fields-group/f-group-metadata-i18n.js.map +1 -1
  59. package/dist/fields/fields-group/f-group.d.ts +30 -183
  60. package/dist/fields/fields-group/f-group.js +64 -208
  61. package/dist/fields/fields-group/f-group.js.map +1 -1
  62. package/dist/fields/fields-map/f-map-category-event.d.ts +0 -6
  63. package/dist/fields/fields-map/f-map-category-event.js +0 -6
  64. package/dist/fields/fields-map/f-map-category-event.js.map +1 -1
  65. package/dist/fields/fields-map/f-map-category-folder.d.ts +0 -12
  66. package/dist/fields/fields-map/f-map-category-folder.js +0 -12
  67. package/dist/fields/fields-map/f-map-category-folder.js.map +1 -1
  68. package/dist/fields/fields-map/f-map-city-event.d.ts +0 -6
  69. package/dist/fields/fields-map/f-map-city-event.js +0 -6
  70. package/dist/fields/fields-map/f-map-city-event.js.map +1 -1
  71. package/dist/fields/fields-map/f-map-city-folder.d.ts +0 -12
  72. package/dist/fields/fields-map/f-map-city-folder.js +0 -12
  73. package/dist/fields/fields-map/f-map-city-folder.js.map +1 -1
  74. package/dist/fields/fields-map/f-map-country-event.d.ts +0 -6
  75. package/dist/fields/fields-map/f-map-country-event.js +0 -6
  76. package/dist/fields/fields-map/f-map-country-event.js.map +1 -1
  77. package/dist/fields/fields-map/f-map-country-folder.d.ts +0 -12
  78. package/dist/fields/fields-map/f-map-country-folder.js +0 -12
  79. package/dist/fields/fields-map/f-map-country-folder.js.map +1 -1
  80. package/dist/fields/fields-map/f-map-folder-event.d.ts +0 -6
  81. package/dist/fields/fields-map/f-map-folder-event.js +0 -6
  82. package/dist/fields/fields-map/f-map-folder-event.js.map +1 -1
  83. package/dist/fields/fields-map/f-map-group-event.d.ts +0 -6
  84. package/dist/fields/fields-map/f-map-group-event.js +0 -6
  85. package/dist/fields/fields-map/f-map-group-event.js.map +1 -1
  86. package/dist/fields/fields-map/f-map-group-folder.d.ts +0 -12
  87. package/dist/fields/fields-map/f-map-group-folder.js +0 -12
  88. package/dist/fields/fields-map/f-map-group-folder.js.map +1 -1
  89. package/dist/fields/fields-map/f-map-stag-event.d.ts +0 -6
  90. package/dist/fields/fields-map/f-map-stag-event.js +0 -6
  91. package/dist/fields/fields-map/f-map-stag-event.js.map +1 -1
  92. package/dist/fields/fields-map/f-map-stag-folder.d.ts +0 -12
  93. package/dist/fields/fields-map/f-map-stag-folder.js +0 -12
  94. package/dist/fields/fields-map/f-map-stag-folder.js.map +1 -1
  95. package/dist/fields/fields-map/f-map-tag-event.d.ts +0 -6
  96. package/dist/fields/fields-map/f-map-tag-event.js +0 -6
  97. package/dist/fields/fields-map/f-map-tag-event.js.map +1 -1
  98. package/dist/fields/fields-map/f-map-tag-folder.d.ts +0 -12
  99. package/dist/fields/fields-map/f-map-tag-folder.js +0 -12
  100. package/dist/fields/fields-map/f-map-tag-folder.js.map +1 -1
  101. package/dist/fields/fields-map/f-map-user-event.d.ts +0 -6
  102. package/dist/fields/fields-map/f-map-user-event.js +0 -6
  103. package/dist/fields/fields-map/f-map-user-event.js.map +1 -1
  104. package/dist/fields/fields-map/f-map-user-folder.d.ts +0 -12
  105. package/dist/fields/fields-map/f-map-user-folder.js +0 -12
  106. package/dist/fields/fields-map/f-map-user-folder.js.map +1 -1
  107. package/dist/fields/fields-service-provider/f-service-provider.d.ts +12 -2
  108. package/dist/fields/fields-service-provider/f-service-provider.js +20 -10
  109. package/dist/fields/fields-service-provider/f-service-provider.js.map +1 -1
  110. package/dist/fields/fields-stag/f-stag-i18n.d.ts +12 -2
  111. package/dist/fields/fields-stag/f-stag-i18n.js +20 -10
  112. package/dist/fields/fields-stag/f-stag-i18n.js.map +1 -1
  113. package/dist/fields/fields-stag/f-stag-image.d.ts +97 -0
  114. package/dist/fields/fields-stag/f-stag-image.js +98 -0
  115. package/dist/fields/fields-stag/f-stag-image.js.map +1 -0
  116. package/dist/fields/fields-stag/f-stag-metadata-i18n.d.ts +20 -3
  117. package/dist/fields/fields-stag/f-stag-metadata-i18n.js +34 -17
  118. package/dist/fields/fields-stag/f-stag-metadata-i18n.js.map +1 -1
  119. package/dist/fields/fields-stag/f-stag.d.ts +88 -201
  120. package/dist/fields/fields-stag/f-stag.js +121 -222
  121. package/dist/fields/fields-stag/f-stag.js.map +1 -1
  122. package/dist/fields/fields-tag/f-tag.d.ts +20 -6
  123. package/dist/fields/fields-tag/f-tag.js +28 -14
  124. package/dist/fields/fields-tag/f-tag.js.map +1 -1
  125. package/dist/index.d.ts +5 -0
  126. package/dist/index.js +5 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/types/t-thumbnail-source.d.ts +6 -0
  129. package/dist/types/t-thumbnail-source.js +2 -0
  130. package/dist/types/t-thumbnail-source.js.map +1 -0
  131. package/dist/types/types-category/t-category-i18n.d.ts +4 -2
  132. package/dist/types/types-category/t-category-metadata-i18n.d.ts +22 -6
  133. package/dist/types/types-category/t-category.d.ts +34 -14
  134. package/dist/types/types-category/t-category.js +11 -20
  135. package/dist/types/types-category/t-category.js.map +1 -1
  136. package/dist/types/types-city/t-city-i18n.d.ts +6 -4
  137. package/dist/types/types-city/t-city-image.d.ts +21 -5
  138. package/dist/types/types-city/t-city-metadata-i18n.d.ts +24 -8
  139. package/dist/types/types-city/t-city-youtube-video.d.ts +10 -6
  140. package/dist/types/types-city/t-city.d.ts +36 -17
  141. package/dist/types/types-city/t-city.js +6 -18
  142. package/dist/types/types-city/t-city.js.map +1 -1
  143. package/dist/types/types-event/t-event-description.d.ts +37 -0
  144. package/dist/types/types-event/t-event-description.js +2 -0
  145. package/dist/types/types-event/t-event-description.js.map +1 -0
  146. package/dist/types/types-event/t-event-image.d.ts +9 -11
  147. package/dist/types/types-event/t-event-metadata-i18n.d.ts +10 -8
  148. package/dist/types/types-event/t-event.d.ts +35 -62
  149. package/dist/types/types-event/t-event.js +32 -59
  150. package/dist/types/types-event/t-event.js.map +1 -1
  151. package/dist/types/types-folder/t-folder-description.d.ts +21 -0
  152. package/dist/types/types-folder/t-folder-description.js +2 -0
  153. package/dist/types/types-folder/t-folder-description.js.map +1 -0
  154. package/dist/types/types-folder/t-folder-image.d.ts +10 -9
  155. package/dist/types/types-folder/t-folder-metadata-i18n.d.ts +10 -7
  156. package/dist/types/types-folder/t-folder.d.ts +16 -53
  157. package/dist/types/types-folder/t-folder.js +19 -57
  158. package/dist/types/types-folder/t-folder.js.map +1 -1
  159. package/dist/types/types-group/t-group-image.d.ts +9 -11
  160. package/dist/types/types-group/t-group-metadata-i18n.d.ts +6 -7
  161. package/dist/types/types-group/t-group.d.ts +14 -32
  162. package/dist/types/types-group/t-group.js +14 -40
  163. package/dist/types/types-group/t-group.js.map +1 -1
  164. package/dist/types/types-map/t-map-category-event.d.ts +0 -1
  165. package/dist/types/types-map/t-map-category-folder.d.ts +0 -2
  166. package/dist/types/types-map/t-map-city-event.d.ts +0 -1
  167. package/dist/types/types-map/t-map-city-folder.d.ts +0 -2
  168. package/dist/types/types-map/t-map-country-event.d.ts +0 -1
  169. package/dist/types/types-map/t-map-country-folder.d.ts +0 -2
  170. package/dist/types/types-map/t-map-folder-event.d.ts +0 -1
  171. package/dist/types/types-map/t-map-group-event.d.ts +0 -1
  172. package/dist/types/types-map/t-map-group-folder.d.ts +0 -2
  173. package/dist/types/types-map/t-map-stag-event.d.ts +0 -1
  174. package/dist/types/types-map/t-map-stag-folder.d.ts +0 -2
  175. package/dist/types/types-map/t-map-tag-event.d.ts +0 -1
  176. package/dist/types/types-map/t-map-tag-folder.d.ts +0 -2
  177. package/dist/types/types-map/t-map-user-event.d.ts +0 -1
  178. package/dist/types/types-map/t-map-user-folder.d.ts +0 -2
  179. package/dist/types/types-service-provider/t-service-provider.d.ts +8 -2
  180. package/dist/types/types-stag/t-stag-i18n.d.ts +3 -2
  181. package/dist/types/types-stag/t-stag-image.d.ts +25 -0
  182. package/dist/types/types-stag/t-stag-image.js +2 -0
  183. package/dist/types/types-stag/t-stag-image.js.map +1 -0
  184. package/dist/types/types-stag/t-stag-metadata-i18n.d.ts +15 -6
  185. package/dist/types/types-stag/t-stag.d.ts +46 -33
  186. package/dist/types/types-stag/t-stag.js +12 -37
  187. package/dist/types/types-stag/t-stag.js.map +1 -1
  188. package/dist/types/types-tag/t-tag.d.ts +5 -3
  189. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  export const F_EVENT = {
2
+ /* ========== 분류 (UI 전용) ========== */
2
3
  categories: {
3
4
  id: "categories",
4
5
  label: "Categories",
@@ -6,79 +7,103 @@ export const F_EVENT = {
6
7
  is_required: false,
7
8
  description: "Select categories for this event",
8
9
  },
9
- event_code: {
10
- id: "event_code",
11
- label: "Event Code",
12
- is_required: true,
13
- max_length: 24,
14
- placeholder: "ex. 202512-A12-B34",
15
- },
16
10
  event_code_for_copy: {
17
11
  id: "event_code_for_copy",
18
12
  label: "Event Code For Copy",
13
+ is_required: false,
14
+ max_length: 24,
15
+ placeholder: "ex. 202512-A12-B34",
16
+ },
17
+ /* ========== 기본키 ========== */
18
+ event_code: {
19
+ id: "event_code",
20
+ label: "Event Code",
19
21
  is_required: true,
20
22
  max_length: 24,
21
23
  placeholder: "ex. 202512-A12-B34",
22
24
  },
25
+ /* ========== 시간 정보 ========== */
23
26
  date: {
24
27
  id: "date",
25
- label: "Date",
28
+ label: "Start Date",
26
29
  is_required: true,
27
30
  placeholder: "ex. 2025-01-01",
28
31
  },
29
32
  time: {
30
33
  id: "time",
31
- label: "Time",
34
+ label: "Start Time",
32
35
  is_required: false,
33
36
  placeholder: "ex. 12:00:00",
34
37
  },
38
+ end_date: {
39
+ id: "end_date",
40
+ label: "End Date",
41
+ is_required: false,
42
+ placeholder: "ex. 2025-01-03",
43
+ },
44
+ end_time: {
45
+ id: "end_time",
46
+ label: "End Time",
47
+ is_required: false,
48
+ placeholder: "ex. 23:59:59",
49
+ },
35
50
  tz: {
36
51
  id: "tz",
37
- label: "TZ",
52
+ label: "Timezone",
38
53
  is_required: true,
39
54
  max_length: 50,
40
55
  placeholder: "ex. Asia/Seoul",
41
56
  },
42
57
  utc_minutes: {
43
58
  id: "utc_minutes",
44
- label: "UTC Minutes",
59
+ label: "UTC Offset (minutes)",
45
60
  is_required: true,
46
- max_length: 10,
47
- placeholder: "ex. +540, -320",
61
+ type: "number",
62
+ placeholder: "ex. -540 (for KST), 0 (for UTC)",
48
63
  },
49
64
  duration: {
50
65
  id: "duration",
51
- label: "Duration",
66
+ label: "Duration (minutes)",
52
67
  is_required: false,
53
- max_length: 10,
54
- placeholder: "ex. 120",
68
+ type: "number",
69
+ placeholder: "ex. 120 (2 hours)",
55
70
  },
56
71
  start_at_utc: {
57
72
  id: "start_at_utc",
58
73
  label: "Start At UTC",
59
74
  is_required: false,
60
- max_length: 20,
61
- placeholder: "ex. 2026-01-04 08:00:00+00",
75
+ is_readonly: true,
76
+ is_generated: true,
77
+ placeholder: "Auto-generated",
62
78
  },
63
79
  end_at_utc: {
64
80
  id: "end_at_utc",
65
81
  label: "End At UTC",
66
82
  is_required: false,
67
- max_length: 20,
68
- placeholder: "ex. 2026-01-04 08:00:00+00",
83
+ is_readonly: true,
84
+ is_generated: true,
85
+ placeholder: "Auto-generated",
69
86
  },
70
87
  is_repeat_annually: {
71
88
  id: "is_repeat_annually",
72
- label: "Is Repeat Annually",
89
+ label: "Repeat Annually",
73
90
  is_required: true,
74
91
  default_value: false,
75
92
  },
93
+ /* ========== 기본 정보 ========== */
76
94
  title: {
77
95
  id: "title",
78
96
  label: "Title",
79
97
  is_required: true,
80
98
  max_length: 120,
81
- placeholder: "ex. Seoul",
99
+ placeholder: "ex. Seoul Night Festival",
100
+ },
101
+ short_description: {
102
+ id: "short_description",
103
+ label: "Short Description",
104
+ is_required: false,
105
+ max_length: 200,
106
+ placeholder: "ex. Brief description for list view",
82
107
  },
83
108
  bg_color: {
84
109
  id: "bg_color",
@@ -92,211 +117,132 @@ export const F_EVENT = {
92
117
  label: "Foreground Color",
93
118
  is_required: false,
94
119
  max_length: 7,
95
- placeholder: "ex. #000000",
120
+ placeholder: "ex. #FFFFFF",
96
121
  },
122
+ /* ========== 썸네일 (URL만) ========== */
97
123
  thumbnail_square: {
98
124
  id: "thumbnail_square",
99
125
  label: "Thumbnail Square",
100
126
  is_required: false,
101
127
  max_length: 250,
102
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_square.jpg",
128
+ placeholder: "ex. https://cdn.example.com/thumb_square.jpg",
103
129
  },
104
130
  thumbnail_horizontal: {
105
131
  id: "thumbnail_horizontal",
106
132
  label: "Thumbnail Horizontal",
107
133
  is_required: false,
108
134
  max_length: 250,
109
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_horizontal.jpg",
135
+ placeholder: "ex. https://cdn.example.com/thumb_horizontal.jpg",
110
136
  },
111
137
  thumbnail_vertical: {
112
138
  id: "thumbnail_vertical",
113
139
  label: "Thumbnail Vertical",
114
140
  is_required: false,
115
141
  max_length: 250,
116
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical.jpg",
117
- },
118
- profile: {
119
- id: "profile",
120
- label: "Profile",
121
- is_required: false,
122
- max_length: 250,
123
- placeholder: "ex. https://www.seoul.go.kr/images/city/profile.jpg",
124
- },
125
- description: {
126
- id: "description",
127
- label: "Description",
128
- is_required: false,
129
- max_length: 500,
130
- placeholder: "ex. Seoul is the capital of Korea.",
131
- },
132
- homepage: {
133
- id: "homepage",
134
- label: "Homepage",
135
- is_required: false,
136
- max_length: 250,
137
- placeholder: "ex. https://www.seoul.go.kr",
138
- },
139
- url_label: {
140
- id: "url_label",
141
- label: "URL Label",
142
- is_required: false,
143
- max_length: 60,
144
- placeholder: "ex. 서울 홈페이지",
145
- },
146
- url: {
147
- id: "url",
148
- label: "URL",
149
- is_required: false,
150
- max_length: 250,
151
- placeholder: "ex. https://www.seoul.go.kr",
152
- },
153
- email: {
154
- id: "email",
155
- label: "Email",
156
- is_required: false,
157
- max_length: 320,
158
- placeholder: "ex. seoul@seoul.go.kr",
159
- },
160
- phone_country_code: {
161
- id: "phone_country_code",
162
- label: "Phone Country Code",
163
- is_required: false,
164
- max_length: 6,
165
- placeholder: "ex. +82",
166
- },
167
- phone: {
168
- id: "phone",
169
- label: "Phone",
170
- is_required: false,
171
- max_length: 20,
172
- placeholder: "ex. 10-1234-5678",
173
- },
174
- youtube_ch_id: {
175
- id: "youtube_ch_id",
176
- label: "Youtube Channel ID",
177
- is_required: false,
178
- max_length: 36,
179
- placeholder: "ex. UC-9-kyTW8ZkZNDHQJ6FgpwQ",
180
- },
181
- instagram_id: {
182
- id: "instagram_id",
183
- label: "Instagram ID",
184
- is_required: false,
185
- max_length: 36,
186
- placeholder: "ex. seoul",
187
- },
188
- tiktok_id: {
189
- id: "tiktok_id",
190
- label: "Tiktok ID",
191
- is_required: false,
192
- max_length: 36,
193
- placeholder: "ex. seoul",
194
- },
195
- threads_id: {
196
- id: "threads_id",
197
- label: "Threads ID",
198
- is_required: false,
199
- max_length: 36,
200
- placeholder: "ex. seoul",
142
+ placeholder: "ex. https://cdn.example.com/thumb_vertical.jpg",
201
143
  },
202
- ticket_purchase: {
203
- id: "ticket_purchase",
204
- label: "Ticket Purchase",
144
+ /* ========== 썸네일 출처 (JSONB) ========== */
145
+ thumbnail_square_source: {
146
+ id: "thumbnail_square_source",
147
+ label: "Thumbnail Square Source",
148
+ type: "jsonb",
205
149
  is_required: false,
206
- max_length: 320,
207
- placeholder: "ex. https://www.seoul.go.kr/ticket/purchase",
150
+ description: "JSONB: {name, platform, unique_id, src_url}",
208
151
  },
209
- product_purchase: {
210
- id: "product_purchase",
211
- label: "Product Purchase",
152
+ thumbnail_horizontal_source: {
153
+ id: "thumbnail_horizontal_source",
154
+ label: "Thumbnail Horizontal Source",
155
+ type: "jsonb",
212
156
  is_required: false,
213
- max_length: 320,
214
- placeholder: "ex. https://www.seoul.go.kr/product/purchase",
157
+ description: "JSONB: {name, platform, unique_id, src_url}",
215
158
  },
216
- detail_info_url: {
217
- id: "detail_info_url",
218
- label: "Detail Info URL",
159
+ thumbnail_vertical_source: {
160
+ id: "thumbnail_vertical_source",
161
+ label: "Thumbnail Vertical Source",
162
+ type: "jsonb",
219
163
  is_required: false,
220
- max_length: 320,
221
- placeholder: "ex. https://www.seoul.go.kr/detail/info",
222
- },
223
- watch_url: {
224
- id: "watch_url",
225
- label: "Watch URL",
226
- is_required: false,
227
- max_length: 320,
228
- placeholder: "ex. https://www.seoul.go.kr/watch",
229
- },
230
- apply_url: {
231
- id: "apply_url",
232
- label: "Apply URL",
233
- is_required: false,
234
- max_length: 320,
235
- placeholder: "ex. https://www.seoul.go.kr/apply",
164
+ description: "JSONB: {name, platform, unique_id, src_url}",
236
165
  },
166
+ /* ========== 위치 정보 ========== */
237
167
  target_country_code: {
238
168
  id: "target_country_code",
239
- label: "Target Country Code",
169
+ label: "Country Code",
240
170
  is_required: true,
241
171
  max_length: 2,
242
172
  placeholder: "ex. KR",
243
173
  },
244
174
  target_city_code: {
245
175
  id: "target_city_code",
246
- label: "Target City Code",
176
+ label: "City Code",
247
177
  is_required: false,
248
178
  max_length: 96,
249
- placeholder: "ex. seoul, jeju, bangkok, etc.",
179
+ placeholder: "ex. SEL, NYC, LON",
180
+ },
181
+ place_id: {
182
+ id: "place_id",
183
+ label: "Place ID",
184
+ type: "number",
185
+ is_required: false,
186
+ description: "Reference to places table (optional)",
187
+ },
188
+ place_name: {
189
+ id: "place_name",
190
+ label: "Place Name",
191
+ is_required: false,
192
+ max_length: 96,
193
+ placeholder: "ex. Seoul",
250
194
  },
251
195
  latitude: {
252
196
  id: "latitude",
253
- label: "Location Latitude",
197
+ label: "Latitude",
198
+ type: "number",
254
199
  is_required: false,
255
- max_length: 20,
256
- placeholder: "NUMERIC(10, 8) ex. 37.5665",
200
+ placeholder: "ex. 37.5665",
257
201
  },
258
202
  longitude: {
259
203
  id: "longitude",
260
- label: "Location Longitude",
204
+ label: "Longitude",
205
+ type: "number",
261
206
  is_required: false,
262
- max_length: 20,
263
- placeholder: "NUMERIC(11, 8) ex. 126.9780",
207
+ placeholder: "ex. 126.9780",
264
208
  },
265
209
  location: {
266
210
  id: "location",
267
- label: "Location",
211
+ label: "Location (Geography)",
268
212
  is_required: false,
269
- max_length: 100,
270
- placeholder: "ex. 010020030030030",
213
+ is_readonly: true,
214
+ is_generated: true,
215
+ placeholder: "Auto-generated from lat/lng",
271
216
  },
272
217
  radius_m: {
273
218
  id: "radius_m",
274
- label: "Radius M",
219
+ label: "Radius (meters)",
220
+ type: "number",
275
221
  is_required: false,
276
- max_length: 10,
277
222
  placeholder: "ex. 1000",
278
223
  },
279
224
  address_eng: {
280
225
  id: "address_eng",
281
- label: "Address Eng",
226
+ label: "Address (English)",
282
227
  is_required: false,
283
228
  max_length: 500,
284
- placeholder: "ex. 123 Main St, Anytown, USA",
229
+ placeholder: "ex. 123 Main St, Seoul",
285
230
  },
286
231
  address_native: {
287
232
  id: "address_native",
288
- label: "Address Native",
233
+ label: "Address (Native)",
289
234
  is_required: false,
290
235
  max_length: 500,
291
- placeholder: "ex. 123 Main St, Anytown, USA",
236
+ placeholder: "ex. 서울특별시 중구 세종대로 110",
292
237
  },
293
238
  google_map_url: {
294
239
  id: "google_map_url",
295
240
  label: "Google Map URL",
296
241
  is_required: false,
297
242
  max_length: 250,
298
- placeholder: "ex. https://www.google.com/maps/place/?cid=1234567890",
243
+ placeholder: "ex. https://maps.app.goo.gl/...",
299
244
  },
245
+ /* ========== 상태 & 가시성 ========== */
300
246
  is_promoted: {
301
247
  id: "is_promoted",
302
248
  label: "Is Promoted",
@@ -314,87 +260,15 @@ export const F_EVENT = {
314
260
  label: "Visibility",
315
261
  is_required: true,
316
262
  default_value: "public",
317
- max_length: 12,
318
- placeholder: "ex. public, private, etc.",
319
- },
320
- view_count: {
321
- id: "view_count",
322
- label: "View Count",
323
- is_required: true,
324
- default_value: 0,
325
- },
326
- added_count: {
327
- id: "added_count",
328
- label: "Added Count",
329
- is_required: true,
330
- default_value: 0,
331
- },
332
- shared_count: {
333
- id: "shared_count",
334
- label: "Shared Count",
335
- is_required: true,
336
- default_value: 0,
337
- },
338
- saved_count: {
339
- id: "saved_count",
340
- label: "Saved Count",
341
- is_required: true,
342
- default_value: 0,
343
- },
344
- target_age_start: {
345
- id: "target_age_start",
346
- label: "Target Age Start",
347
- is_required: false,
348
- default_value: 0,
349
- },
350
- target_age_end: {
351
- id: "target_age_end",
352
- label: "Target Age End",
353
- is_required: false,
354
- default_value: 50,
355
- },
356
- target_sex: {
357
- id: "target_sex",
358
- label: "Target Sex",
359
- is_required: false,
360
- max_length: 12,
361
- placeholder: "ex. male, female, etc.",
362
- },
363
- is_target_for_family: {
364
- id: "is_target_for_family",
365
- label: "Is Target for Family",
366
- is_required: true,
367
- default_value: false,
368
- },
369
- is_target_for_couple: {
370
- id: "is_target_for_couple",
371
- label: "Is Target for Couple",
372
- is_required: true,
373
- default_value: false,
374
- },
375
- is_target_for_children: {
376
- id: "is_target_for_children",
377
- label: "Is Target for Children",
378
- is_required: true,
379
- default_value: false,
380
- },
381
- is_target_for_single: {
382
- id: "is_target_for_single",
383
- label: "Is Target for Single",
384
- is_required: true,
385
- default_value: false,
386
- },
387
- is_target_for_traveler: {
388
- id: "is_target_for_traveler",
389
- label: "Is Target for Traveler",
390
- is_required: true,
391
- default_value: false,
263
+ max_length: 20,
264
+ placeholder: "ex. public, unlisted, private, draft",
392
265
  },
393
266
  is_ever_public: {
394
267
  id: "is_ever_public",
395
- label: "Is Ever Public",
268
+ label: "Ever Been Public",
396
269
  is_required: true,
397
270
  default_value: false,
271
+ is_readonly: true,
398
272
  },
399
273
  is_active: {
400
274
  id: "is_active",
@@ -402,196 +276,108 @@ export const F_EVENT = {
402
276
  is_required: true,
403
277
  default_value: true,
404
278
  },
279
+ is_display: {
280
+ id: "is_display",
281
+ label: "Is Display",
282
+ is_required: true,
283
+ default_value: true,
284
+ },
405
285
  deactivated_at: {
406
286
  id: "deactivated_at",
407
287
  label: "Deactivated At",
408
288
  is_required: false,
409
- placeholder: "ex. 2025-01-01 12:00:00",
289
+ is_readonly: true,
290
+ placeholder: "Auto-set when deactivated",
410
291
  },
411
292
  deactivated_by: {
412
293
  id: "deactivated_by",
413
294
  label: "Deactivated By",
414
295
  is_required: false,
415
296
  max_length: 45,
416
- placeholder: "ex. JYUN",
297
+ is_readonly: true,
417
298
  },
418
- is_display: {
419
- id: "is_display",
420
- label: "Is Display",
299
+ /* ========== 통계 ========== */
300
+ view_count: {
301
+ id: "view_count",
302
+ label: "View Count",
303
+ type: "number",
421
304
  is_required: true,
422
- default_value: true,
423
- },
424
- hero_image_01: {
425
- id: "hero_image_01",
426
- label: "Hero Image 01",
427
- is_required: false,
428
- max_length: 250,
429
- placeholder: "ex. https://www.seoul.go.kr/images/city/hero_image_01.jpg",
430
- },
431
- hero_image_02: {
432
- id: "hero_image_02",
433
- label: "Hero Image 02",
434
- is_required: false,
435
- max_length: 250,
436
- placeholder: "ex. https://www.seoul.go.kr/images/city/hero_image_02.jpg",
437
- },
438
- hero_image_03: {
439
- id: "hero_image_03",
440
- label: "Hero Image 03",
441
- is_required: false,
442
- max_length: 250,
443
- placeholder: "ex. https://www.seoul.go.kr/images/city/hero_image_03.jpg",
444
- },
445
- hero_image_04: {
446
- id: "hero_image_04",
447
- label: "Hero Image 04",
448
- is_required: false,
449
- max_length: 250,
450
- placeholder: "ex. https://www.seoul.go.kr/images/city/hero_image_04.jpg",
451
- },
452
- hero_image_05: {
453
- id: "hero_image_05",
454
- label: "Hero Image 05",
455
- is_required: false,
456
- max_length: 250,
457
- placeholder: "ex. https://www.seoul.go.kr/images/city/hero_image_05.jpg",
458
- },
459
- thumbnail_main_01: {
460
- id: "thumbnail_main_01",
461
- label: "Thumbnail Main 01",
462
- is_required: false,
463
- max_length: 250,
464
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_main_01.jpg",
465
- },
466
- thumbnail_main_02: {
467
- id: "thumbnail_main_02",
468
- label: "Thumbnail Main 02",
469
- is_required: false,
470
- max_length: 250,
471
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_main_02.jpg",
472
- },
473
- thumbnail_main_03: {
474
- id: "thumbnail_main_03",
475
- label: "Thumbnail Main 03",
476
- is_required: false,
477
- max_length: 250,
478
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_main_03.jpg",
479
- },
480
- thumbnail_main_04: {
481
- id: "thumbnail_main_04",
482
- label: "Thumbnail Main 04",
483
- is_required: false,
484
- max_length: 250,
485
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_main_04.jpg",
486
- },
487
- thumbnail_main_05: {
488
- id: "thumbnail_main_05",
489
- label: "Thumbnail Main 05",
490
- is_required: false,
491
- max_length: 250,
492
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_main_05.jpg",
493
- },
494
- thumbnail_vertical_01: {
495
- id: "thumbnail_vertical_01",
496
- label: "Thumbnail Vertical 01",
497
- is_required: false,
498
- max_length: 250,
499
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical_01.jpg",
500
- },
501
- thumbnail_vertical_02: {
502
- id: "thumbnail_vertical_02",
503
- label: "Thumbnail Vertical 02",
504
- is_required: false,
505
- max_length: 250,
506
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical_02.jpg",
507
- },
508
- thumbnail_vertical_03: {
509
- id: "thumbnail_vertical_03",
510
- label: "Thumbnail Vertical 03",
511
- is_required: false,
512
- max_length: 250,
513
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical_03.jpg",
514
- },
515
- thumbnail_vertical_04: {
516
- id: "thumbnail_vertical_04",
517
- label: "Thumbnail Vertical 04",
518
- is_required: false,
519
- max_length: 250,
520
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical_04.jpg",
521
- },
522
- thumbnail_vertical_05: {
523
- id: "thumbnail_vertical_05",
524
- label: "Thumbnail Vertical 05",
525
- is_required: false,
526
- max_length: 250,
527
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail_vertical_05.jpg",
528
- },
529
- metadata_title: {
530
- id: "metadata_title",
531
- label: "Metadata Title",
532
- is_required: false,
533
- max_length: 50,
534
- placeholder: "ex. 서울",
535
- },
536
- metadata_description: {
537
- id: "metadata_description",
538
- label: "Metadata Description",
539
- is_required: false,
540
- max_length: 110,
541
- placeholder: "ex. 서울은 대한민국의 수도입니다.",
542
- },
543
- metadata_keywords: {
544
- id: "metadata_keywords",
545
- label: "Metadata Keywords",
546
- is_required: false,
547
- max_length: 250,
548
- placeholder: "ex. 서울, 서울맛집, 서울여행",
305
+ default_value: 0,
306
+ is_readonly: true,
549
307
  },
550
- metadata_og_title: {
551
- id: "metadata_og_title",
552
- label: "Metadata OG Title",
553
- is_required: false,
554
- max_length: 60,
555
- placeholder: "ex. 서울",
308
+ added_count: {
309
+ id: "added_count",
310
+ label: "Added Count",
311
+ type: "number",
312
+ is_required: true,
313
+ default_value: 0,
314
+ is_readonly: true,
556
315
  },
557
- metadata_og_description: {
558
- id: "metadata_og_description",
559
- label: "Metadata OG Description",
560
- is_required: false,
561
- max_length: 150,
562
- placeholder: "ex. 서울은 대한민국의 수도입니다.",
316
+ shared_count: {
317
+ id: "shared_count",
318
+ label: "Shared Count",
319
+ type: "number",
320
+ is_required: true,
321
+ default_value: 0,
322
+ is_readonly: true,
563
323
  },
564
- metadata_og_image: {
565
- id: "metadata_og_image",
566
- label: "Metadata OG Image",
567
- is_required: false,
568
- max_length: 250,
569
- placeholder: "ex. https://www.seoul.go.kr/images/city/thumbnail.jpg",
324
+ saved_count: {
325
+ id: "saved_count",
326
+ label: "Saved Count",
327
+ type: "number",
328
+ is_required: true,
329
+ default_value: 0,
330
+ is_readonly: true,
570
331
  },
332
+ /* ========== 관리 정보 ========== */
571
333
  is_admin_created: {
572
334
  id: "is_admin_created",
573
- label: "Is Admin Created",
335
+ label: "Admin Created",
574
336
  is_required: true,
575
337
  default_value: false,
576
338
  },
339
+ approval_status: {
340
+ id: "approval_status",
341
+ label: "Approval Status",
342
+ is_required: true,
343
+ default_value: "approved",
344
+ max_length: 20,
345
+ placeholder: "ex. pending, approved, rejected, draft",
346
+ },
577
347
  created_at: {
578
348
  id: "created_at",
579
349
  label: "Created At",
580
- is_required: true,
581
- placeholder: "ex. 2025-01-01 12:00:00",
350
+ is_required: false,
351
+ is_readonly: true,
352
+ placeholder: "Auto-generated",
582
353
  },
583
354
  created_by: {
584
355
  id: "created_by",
585
356
  label: "Created By",
586
357
  is_required: false,
587
358
  max_length: 45,
588
- placeholder: "ex. JYUN",
359
+ is_readonly: true,
360
+ },
361
+ approved_at: {
362
+ id: "approved_at",
363
+ label: "Approved At",
364
+ is_required: false,
365
+ is_readonly: true,
366
+ placeholder: "Auto-set when approved",
367
+ },
368
+ approved_by: {
369
+ id: "approved_by",
370
+ label: "Approved By",
371
+ is_required: false,
372
+ max_length: 45,
373
+ is_readonly: true,
589
374
  },
590
375
  updated_at: {
591
376
  id: "updated_at",
592
377
  label: "Updated At",
593
- is_required: true,
594
- placeholder: "ex. 2025-01-01 12:00:00",
378
+ is_required: false,
379
+ is_readonly: true,
380
+ placeholder: "Auto-updated",
595
381
  },
596
382
  };
597
383
  //# sourceMappingURL=f-event.js.map