@strapi/content-type-builder 5.50.1 → 5.51.0

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 (26) hide show
  1. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +34 -34
  2. package/dist/admin/translations/ko.json.js +64 -1
  3. package/dist/admin/translations/ko.json.js.map +1 -1
  4. package/dist/admin/translations/ko.json.mjs +64 -1
  5. package/dist/admin/translations/ko.json.mjs.map +1 -1
  6. package/dist/server/controllers/validation/schema.js +37 -1
  7. package/dist/server/controllers/validation/schema.js.map +1 -1
  8. package/dist/server/controllers/validation/schema.mjs +38 -3
  9. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  10. package/dist/server/services/builder.js +11 -66
  11. package/dist/server/services/builder.js.map +1 -1
  12. package/dist/server/services/builder.mjs +11 -66
  13. package/dist/server/services/builder.mjs.map +1 -1
  14. package/dist/server/src/controllers/validation/schema.d.ts +10 -0
  15. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
  16. package/dist/server/src/index.d.ts +3 -3
  17. package/dist/server/src/routes/index.d.ts +1 -1
  18. package/dist/server/src/services/builder.d.ts +7 -0
  19. package/dist/server/src/services/builder.d.ts.map +1 -1
  20. package/dist/server/src/services/schema-builder/component-builder.d.ts +4 -4
  21. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +4 -4
  22. package/dist/server/src/services/schema-builder/index.d.ts +18 -18
  23. package/dist/server/src/services/schema.d.ts +75 -75
  24. package/dist/server/src/utils/attributes.d.ts +2 -2
  25. package/dist/server/src/utils/attributes.d.ts.map +1 -1
  26. package/package.json +17 -13
@@ -7,8 +7,8 @@ declare const sortContentType: (types: ContentTypes) => {
7
7
  plugin: string | undefined;
8
8
  uid: UID.ContentType;
9
9
  to: string;
10
- kind: import("@strapi/types/dist/struct").ContentTypeKind;
11
- restrictRelationsTo: import("@strapi/types/dist/schema/attribute").RelationKind.Any[] | null;
10
+ kind: import("@strapi/types/dist/struct/schema.js").ContentTypeKind;
11
+ restrictRelationsTo: import("@strapi/types/dist/schema/attribute/index.js").RelationKind.Any[] | null;
12
12
  status: import("../../../types").Status;
13
13
  }[];
14
14
  type TrackingEventProperties = {
@@ -51,15 +51,15 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
51
51
  version?: string;
52
52
  draftAndPublish?: boolean;
53
53
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
54
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
54
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
55
55
  modelType?: "component" | undefined;
56
56
  category: string | undefined;
57
57
  modelName?: string | undefined;
58
58
  globalId?: string | undefined;
59
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
59
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
60
60
  collectionName?: string | undefined;
61
61
  plugin?: string | undefined;
62
- info?: import("@strapi/types/dist/struct").SchemaInfo | undefined;
62
+ info?: import("@strapi/types/dist/struct/schema.js").SchemaInfo | undefined;
63
63
  status?: import("../../../types").Status | undefined;
64
64
  action: string;
65
65
  } | {
@@ -85,15 +85,15 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
85
85
  version?: string;
86
86
  draftAndPublish?: boolean;
87
87
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
88
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
88
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
89
89
  modelType?: "component" | undefined;
90
90
  category: string | undefined;
91
91
  modelName?: string | undefined;
92
92
  globalId?: string | undefined;
93
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
93
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
94
94
  collectionName?: string | undefined;
95
95
  plugin?: string | undefined;
96
- info?: import("@strapi/types/dist/struct").SchemaInfo | undefined;
96
+ info?: import("@strapi/types/dist/struct/schema.js").SchemaInfo | undefined;
97
97
  status?: import("../../../types").Status | undefined;
98
98
  action: string;
99
99
  } | {
@@ -116,21 +116,21 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
116
116
  comment?: string;
117
117
  version?: string;
118
118
  draftAndPublish?: boolean;
119
- kind?: import("@strapi/types/dist/struct").ContentTypeKind | undefined;
119
+ kind?: import("@strapi/types/dist/struct/schema.js").ContentTypeKind | undefined;
120
120
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
121
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
121
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
122
122
  modelType?: "contentType" | undefined;
123
123
  modelName?: string | undefined;
124
124
  globalId?: string | undefined;
125
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
125
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
126
126
  collectionName?: string | undefined;
127
127
  plugin?: string | undefined;
128
- info?: import("@strapi/types/dist/struct").ContentTypeSchemaInfo | undefined;
128
+ info?: import("@strapi/types/dist/struct/schema.js").ContentTypeSchemaInfo | undefined;
129
129
  indexes?: unknown[] | undefined;
130
130
  foreignKeys?: unknown[] | undefined;
131
131
  visible?: boolean | undefined;
132
132
  status?: import("../../../types").Status | undefined;
133
- restrictRelationsTo?: import("@strapi/types/dist/schema/attribute").RelationKind.Any[] | null | undefined;
133
+ restrictRelationsTo?: import("@strapi/types/dist/schema/attribute/index.js").RelationKind.Any[] | null | undefined;
134
134
  action: string;
135
135
  category: string | undefined;
136
136
  } | {
@@ -155,21 +155,21 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
155
155
  comment?: string;
156
156
  version?: string;
157
157
  draftAndPublish?: boolean;
158
- kind?: import("@strapi/types/dist/struct").ContentTypeKind | undefined;
158
+ kind?: import("@strapi/types/dist/struct/schema.js").ContentTypeKind | undefined;
159
159
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
160
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
160
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
161
161
  modelType?: "contentType" | undefined;
162
162
  modelName?: string | undefined;
163
163
  globalId?: string | undefined;
164
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
164
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
165
165
  collectionName?: string | undefined;
166
166
  plugin?: string | undefined;
167
- info?: import("@strapi/types/dist/struct").ContentTypeSchemaInfo | undefined;
167
+ info?: import("@strapi/types/dist/struct/schema.js").ContentTypeSchemaInfo | undefined;
168
168
  indexes?: unknown[] | undefined;
169
169
  foreignKeys?: unknown[] | undefined;
170
170
  visible?: boolean | undefined;
171
171
  status?: import("../../../types").Status | undefined;
172
- restrictRelationsTo?: import("@strapi/types/dist/schema/attribute").RelationKind.Any[] | null | undefined;
172
+ restrictRelationsTo?: import("@strapi/types/dist/schema/attribute/index.js").RelationKind.Any[] | null | undefined;
173
173
  action: string;
174
174
  category: string | undefined;
175
175
  })[];
@@ -197,15 +197,15 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
197
197
  version?: string;
198
198
  draftAndPublish?: boolean;
199
199
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
200
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
200
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
201
201
  modelType?: "component" | undefined;
202
202
  category: string | undefined;
203
203
  modelName?: string | undefined;
204
204
  globalId?: string | undefined;
205
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
205
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
206
206
  collectionName?: string | undefined;
207
207
  plugin?: string | undefined;
208
- info?: import("@strapi/types/dist/struct").SchemaInfo | undefined;
208
+ info?: import("@strapi/types/dist/struct/schema.js").SchemaInfo | undefined;
209
209
  status?: import("../../../types").Status | undefined;
210
210
  action: string;
211
211
  } | {
@@ -231,15 +231,15 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
231
231
  version?: string;
232
232
  draftAndPublish?: boolean;
233
233
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
234
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
234
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
235
235
  modelType?: "component" | undefined;
236
236
  category: string | undefined;
237
237
  modelName?: string | undefined;
238
238
  globalId?: string | undefined;
239
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
239
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
240
240
  collectionName?: string | undefined;
241
241
  plugin?: string | undefined;
242
- info?: import("@strapi/types/dist/struct").SchemaInfo | undefined;
242
+ info?: import("@strapi/types/dist/struct/schema.js").SchemaInfo | undefined;
243
243
  status?: import("../../../types").Status | undefined;
244
244
  action: string;
245
245
  } | {
@@ -262,21 +262,21 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
262
262
  comment?: string;
263
263
  version?: string;
264
264
  draftAndPublish?: boolean;
265
- kind?: import("@strapi/types/dist/struct").ContentTypeKind | undefined;
265
+ kind?: import("@strapi/types/dist/struct/schema.js").ContentTypeKind | undefined;
266
266
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
267
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
267
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
268
268
  modelType?: "contentType" | undefined;
269
269
  modelName?: string | undefined;
270
270
  globalId?: string | undefined;
271
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
271
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
272
272
  collectionName?: string | undefined;
273
273
  plugin?: string | undefined;
274
- info?: import("@strapi/types/dist/struct").ContentTypeSchemaInfo | undefined;
274
+ info?: import("@strapi/types/dist/struct/schema.js").ContentTypeSchemaInfo | undefined;
275
275
  indexes?: unknown[] | undefined;
276
276
  foreignKeys?: unknown[] | undefined;
277
277
  visible?: boolean | undefined;
278
278
  status?: import("../../../types").Status | undefined;
279
- restrictRelationsTo?: import("@strapi/types/dist/schema/attribute").RelationKind.Any[] | null | undefined;
279
+ restrictRelationsTo?: import("@strapi/types/dist/schema/attribute/index.js").RelationKind.Any[] | null | undefined;
280
280
  action: string;
281
281
  category: string | undefined;
282
282
  } | {
@@ -301,21 +301,21 @@ declare const stateToRequestData: ({ components, contentTypes, }: {
301
301
  comment?: string;
302
302
  version?: string;
303
303
  draftAndPublish?: boolean;
304
- kind?: import("@strapi/types/dist/struct").ContentTypeKind | undefined;
304
+ kind?: import("@strapi/types/dist/struct/schema.js").ContentTypeKind | undefined;
305
305
  uid: `${string}.${string}` | `admin::${string}` | `strapi::${string}`;
306
- options?: import("@strapi/types/dist/struct").SchemaOptions | undefined;
306
+ options?: import("@strapi/types/dist/struct/schema.js").SchemaOptions | undefined;
307
307
  modelType?: "contentType" | undefined;
308
308
  modelName?: string | undefined;
309
309
  globalId?: string | undefined;
310
- pluginOptions?: import("@strapi/types/dist/struct").SchemaPluginOptions | undefined;
310
+ pluginOptions?: import("@strapi/types/dist/struct/schema.js").SchemaPluginOptions | undefined;
311
311
  collectionName?: string | undefined;
312
312
  plugin?: string | undefined;
313
- info?: import("@strapi/types/dist/struct").ContentTypeSchemaInfo | undefined;
313
+ info?: import("@strapi/types/dist/struct/schema.js").ContentTypeSchemaInfo | undefined;
314
314
  indexes?: unknown[] | undefined;
315
315
  foreignKeys?: unknown[] | undefined;
316
316
  visible?: boolean | undefined;
317
317
  status?: import("../../../types").Status | undefined;
318
- restrictRelationsTo?: import("@strapi/types/dist/schema/attribute").RelationKind.Any[] | null | undefined;
318
+ restrictRelationsTo?: import("@strapi/types/dist/schema/attribute/index.js").RelationKind.Any[] | null | undefined;
319
319
  action: string;
320
320
  category: string | undefined;
321
321
  })[];
@@ -230,7 +230,70 @@ var ko = {
230
230
  "chat.code-upload.title": "Next.js 애플리케이션 가져오기",
231
231
  "chat.code-upload.description": "AI가 애플리케이션을 분석합니다. 가져오기 전에 모든 민감한 데이터를 제거해주세요.",
232
232
  "chat.code-upload.drop-zone": ".zip 파일을 여기에 놓거나",
233
- "chat.code-upload.drop-zone-browse": "파일 찾아보기"
233
+ "chat.code-upload.drop-zone-browse": "파일 찾아보기",
234
+ "media.multiple": "다중",
235
+ "error.category.format": "카테고리 이름은 문자로 시작해야 하며, 문자, 숫자, 대시(-), 밑줄(_)만 포함할 수 있습니다.",
236
+ "form.attribute.item.maximumComponents": "최대 컴포넌트 수",
237
+ "form.attribute.item.minimumComponents": "최소 컴포넌트 수",
238
+ "form.attribute.item.uniqueField.v5.willBeDisabled'": "현재 컴포넌트에서는 고유 필드가 올바르게 작동하지 않습니다. 이 기능을 비활성화하면 문제가 해결될 때까지 필드가 비활성화됩니다.",
239
+ "form.attribute.condition.title": "조건",
240
+ "form.attribute.condition.description": "다른 불리언 또는 열거형 필드의 값에 따라 필드 설정을 전환합니다.",
241
+ "form.attribute.condition.label": "조건",
242
+ "form.attribute.condition.field": "필드",
243
+ "form.attribute.condition.operator": "연산자",
244
+ "form.attribute.condition.value": "값",
245
+ "form.attribute.condition.operator.is": "다음과 같음",
246
+ "form.attribute.condition.operator.isNot": "다음과 같지 않음",
247
+ "form.attribute.condition.value.true": "참",
248
+ "form.attribute.condition.value.false": "거짓",
249
+ "form.attribute.condition.apply": "조건 적용",
250
+ "form.attribute.condition.then": "그러면",
251
+ "form.attribute.condition.action": "동작",
252
+ "form.attribute.condition.action.show": "표시",
253
+ "form.attribute.condition.action.hide": "숨기기",
254
+ "form.attribute.condition.no-fields": "조건을 설정할 수 있는 불리언 또는 열거형 필드가 없습니다.",
255
+ "form.attribute.condition.enum-change-warning": "다음 필드에 이 필드에 의존하는 조건이 있습니다: {fieldNames}. 열거형 값 {values}을(를) 변경하거나 삭제하면 이 조건들이 깨집니다. 계속하시겠습니까?",
256
+ "form.attribute.condition.enum-change-warning-values": ". 열거형 값 ",
257
+ "form.attribute.condition.enum-change-warning-end": "을(를) 변경하거나 삭제하면 이 조건들이 깨집니다. 계속하시겠습니까?",
258
+ "form.attribute.condition.field-change-warning": "다음 필드에 이 필드에 의존하는 조건이 있습니다: {fieldNames}. 이름을 변경하면 이 조건들이 깨집니다. 계속하시겠습니까?",
259
+ "form.attribute.condition.field-change-warning-end": ". 이름을 변경하면 이 조건들이 깨집니다. 계속하시겠습니까?",
260
+ "form.button.submit": "제출",
261
+ "modalForm.header.categories": "카테고리",
262
+ "modalForm.header.back": "뒤로",
263
+ "modelPage.attribute.with": "함께",
264
+ "popUpWarning.discardAll.message": "모든 변경 사항을 취소하시겠습니까?",
265
+ "popUpWarning.bodyMessage.delete-condition": "이 조건을 삭제하시겠습니까?",
266
+ "popUpWarning.bodyMessage.delete-attribute-with-conditions": "다음 필드에 이 필드에 의존하는 조건이 있습니다: ",
267
+ "popUpWarning.bodyMessage.delete-attribute-with-conditions-end": ". 그래도 삭제하시겠습니까?",
268
+ "table.content.create-first-content-type.import-code": "컴퓨터에서 가져오기",
269
+ "chat.tooltips.upload-attachments": "첨부 파일 업로드",
270
+ "chat.messages.too-many-requests": "요청이 너무 많습니다. 잠시 후 다시 시도해주세요.",
271
+ "chat.messages.license-limit-reached": "라이선스 한도에 도달했습니다. 내일 다시 시도해주세요.",
272
+ "chat.messages.license-limit-exceeded": "AI 크레딧 한도를 초과했습니다.",
273
+ "chat.messages.too-long-error": "이 대화가 최대 길이에 도달했습니다. 새 대화를 시작해주세요",
274
+ "chat.code-upload.drop-zone-folder": "여기에 폴더를 놓거나",
275
+ "chat.attachments.menu.import-code": "코드 가져오기",
276
+ "chat.attachments.menu.attach-image": "이미지 첨부",
277
+ "chat.attachments.menu.import-figma": "Figma에서 가져오기",
278
+ "chat.feedback.title": "피드백 남기기",
279
+ "chat.feedback.subtitle": "이 메시지에 대한 추가 피드백을 제공해주세요. 해당하는 항목을 모두 선택하세요.",
280
+ "chat.feedback.comment.label": "어떻게 개선하면 좋을까요? (선택 사항)",
281
+ "chat.feedback.placeholder": "피드백을 입력하세요...",
282
+ "chat.feedback.submitted": "피드백을 보내주셔서 감사합니다!",
283
+ "chat.feedback.error": "피드백을 제출하는 중 오류가 발생했습니다",
284
+ "chat.feedback.reason.invalid_schema": "잘못된 스키마",
285
+ "chat.feedback.reason.bad_recommendation": "잘못된 추천",
286
+ "chat.feedback.reason.slow": "느림",
287
+ "chat.feedback.reason.instructions_ignored": "지시 사항 무시됨",
288
+ "chat.feedback.reason.being_lazy": "성의 없는 답변",
289
+ "chat.feedback.reason.other": "기타",
290
+ "chat.figma-upload.step1-title": "Figma URL 입력",
291
+ "chat.figma-upload.step2-title": "이미지 미리보기",
292
+ "chat.figma-upload.select-images": "가져올 프레임 선택",
293
+ "chat.figma-upload.no-images": "Figma 파일에서 프레임을 찾을 수 없습니다.",
294
+ "chat.figma-upload.import-button": "가져오기",
295
+ "form.button.finish": "완료",
296
+ "form.button.back": "뒤로"
234
297
  };
235
298
 
236
299
  exports.configurations = configurations;
@@ -1 +1 @@
1
- {"version":3,"file":"ko.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ko.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -226,7 +226,70 @@ var ko = {
226
226
  "chat.code-upload.title": "Next.js 애플리케이션 가져오기",
227
227
  "chat.code-upload.description": "AI가 애플리케이션을 분석합니다. 가져오기 전에 모든 민감한 데이터를 제거해주세요.",
228
228
  "chat.code-upload.drop-zone": ".zip 파일을 여기에 놓거나",
229
- "chat.code-upload.drop-zone-browse": "파일 찾아보기"
229
+ "chat.code-upload.drop-zone-browse": "파일 찾아보기",
230
+ "media.multiple": "다중",
231
+ "error.category.format": "카테고리 이름은 문자로 시작해야 하며, 문자, 숫자, 대시(-), 밑줄(_)만 포함할 수 있습니다.",
232
+ "form.attribute.item.maximumComponents": "최대 컴포넌트 수",
233
+ "form.attribute.item.minimumComponents": "최소 컴포넌트 수",
234
+ "form.attribute.item.uniqueField.v5.willBeDisabled'": "현재 컴포넌트에서는 고유 필드가 올바르게 작동하지 않습니다. 이 기능을 비활성화하면 문제가 해결될 때까지 필드가 비활성화됩니다.",
235
+ "form.attribute.condition.title": "조건",
236
+ "form.attribute.condition.description": "다른 불리언 또는 열거형 필드의 값에 따라 필드 설정을 전환합니다.",
237
+ "form.attribute.condition.label": "조건",
238
+ "form.attribute.condition.field": "필드",
239
+ "form.attribute.condition.operator": "연산자",
240
+ "form.attribute.condition.value": "값",
241
+ "form.attribute.condition.operator.is": "다음과 같음",
242
+ "form.attribute.condition.operator.isNot": "다음과 같지 않음",
243
+ "form.attribute.condition.value.true": "참",
244
+ "form.attribute.condition.value.false": "거짓",
245
+ "form.attribute.condition.apply": "조건 적용",
246
+ "form.attribute.condition.then": "그러면",
247
+ "form.attribute.condition.action": "동작",
248
+ "form.attribute.condition.action.show": "표시",
249
+ "form.attribute.condition.action.hide": "숨기기",
250
+ "form.attribute.condition.no-fields": "조건을 설정할 수 있는 불리언 또는 열거형 필드가 없습니다.",
251
+ "form.attribute.condition.enum-change-warning": "다음 필드에 이 필드에 의존하는 조건이 있습니다: {fieldNames}. 열거형 값 {values}을(를) 변경하거나 삭제하면 이 조건들이 깨집니다. 계속하시겠습니까?",
252
+ "form.attribute.condition.enum-change-warning-values": ". 열거형 값 ",
253
+ "form.attribute.condition.enum-change-warning-end": "을(를) 변경하거나 삭제하면 이 조건들이 깨집니다. 계속하시겠습니까?",
254
+ "form.attribute.condition.field-change-warning": "다음 필드에 이 필드에 의존하는 조건이 있습니다: {fieldNames}. 이름을 변경하면 이 조건들이 깨집니다. 계속하시겠습니까?",
255
+ "form.attribute.condition.field-change-warning-end": ". 이름을 변경하면 이 조건들이 깨집니다. 계속하시겠습니까?",
256
+ "form.button.submit": "제출",
257
+ "modalForm.header.categories": "카테고리",
258
+ "modalForm.header.back": "뒤로",
259
+ "modelPage.attribute.with": "함께",
260
+ "popUpWarning.discardAll.message": "모든 변경 사항을 취소하시겠습니까?",
261
+ "popUpWarning.bodyMessage.delete-condition": "이 조건을 삭제하시겠습니까?",
262
+ "popUpWarning.bodyMessage.delete-attribute-with-conditions": "다음 필드에 이 필드에 의존하는 조건이 있습니다: ",
263
+ "popUpWarning.bodyMessage.delete-attribute-with-conditions-end": ". 그래도 삭제하시겠습니까?",
264
+ "table.content.create-first-content-type.import-code": "컴퓨터에서 가져오기",
265
+ "chat.tooltips.upload-attachments": "첨부 파일 업로드",
266
+ "chat.messages.too-many-requests": "요청이 너무 많습니다. 잠시 후 다시 시도해주세요.",
267
+ "chat.messages.license-limit-reached": "라이선스 한도에 도달했습니다. 내일 다시 시도해주세요.",
268
+ "chat.messages.license-limit-exceeded": "AI 크레딧 한도를 초과했습니다.",
269
+ "chat.messages.too-long-error": "이 대화가 최대 길이에 도달했습니다. 새 대화를 시작해주세요",
270
+ "chat.code-upload.drop-zone-folder": "여기에 폴더를 놓거나",
271
+ "chat.attachments.menu.import-code": "코드 가져오기",
272
+ "chat.attachments.menu.attach-image": "이미지 첨부",
273
+ "chat.attachments.menu.import-figma": "Figma에서 가져오기",
274
+ "chat.feedback.title": "피드백 남기기",
275
+ "chat.feedback.subtitle": "이 메시지에 대한 추가 피드백을 제공해주세요. 해당하는 항목을 모두 선택하세요.",
276
+ "chat.feedback.comment.label": "어떻게 개선하면 좋을까요? (선택 사항)",
277
+ "chat.feedback.placeholder": "피드백을 입력하세요...",
278
+ "chat.feedback.submitted": "피드백을 보내주셔서 감사합니다!",
279
+ "chat.feedback.error": "피드백을 제출하는 중 오류가 발생했습니다",
280
+ "chat.feedback.reason.invalid_schema": "잘못된 스키마",
281
+ "chat.feedback.reason.bad_recommendation": "잘못된 추천",
282
+ "chat.feedback.reason.slow": "느림",
283
+ "chat.feedback.reason.instructions_ignored": "지시 사항 무시됨",
284
+ "chat.feedback.reason.being_lazy": "성의 없는 답변",
285
+ "chat.feedback.reason.other": "기타",
286
+ "chat.figma-upload.step1-title": "Figma URL 입력",
287
+ "chat.figma-upload.step2-title": "이미지 미리보기",
288
+ "chat.figma-upload.select-images": "가져올 프레임 선택",
289
+ "chat.figma-upload.no-images": "Figma 파일에서 프레임을 찾을 수 없습니다.",
290
+ "chat.figma-upload.import-button": "가져오기",
291
+ "form.button.finish": "완료",
292
+ "form.button.back": "뒤로"
230
293
  };
231
294
 
232
295
  export { configurations, ko as default, from };
@@ -1 +1 @@
1
- {"version":3,"file":"ko.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ko.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -56,6 +56,41 @@ const verifySingularAndPluralNames = (obj, ctx)=>{
56
56
  });
57
57
  }
58
58
  };
59
+ const getEffectiveAttributeNames = (contentType)=>{
60
+ if (contentType.action === 'create') {
61
+ return (contentType.attributes ?? []).filter((attribute)=>attribute.action !== 'delete').map((attribute)=>attribute.name);
62
+ }
63
+ if (contentType.action !== 'update' || !contentType.uid) {
64
+ return [];
65
+ }
66
+ const existingContentType = strapi.contentTypes[contentType.uid];
67
+ const names = new Set(existingContentType ? Object.keys(existingContentType.attributes) : []);
68
+ for (const attribute of contentType.attributes ?? []){
69
+ if (attribute.action === 'delete') {
70
+ names.delete(attribute.name);
71
+ } else if (attribute.action === 'create') {
72
+ names.add(attribute.name);
73
+ }
74
+ }
75
+ return [
76
+ ...names
77
+ ];
78
+ };
79
+ const verifyDraftAndPublishReservedAttributes = (contentType, ctx)=>{
80
+ if (contentType.action === 'delete' || !contentType.draftAndPublish) {
81
+ return;
82
+ }
83
+ const reservedAttributeNames = utils.contentTypes.findDraftAndPublishReservedAttributeNames(getEffectiveAttributeNames(contentType));
84
+ if (reservedAttributeNames.length > 0) {
85
+ ctx.addIssue({
86
+ code: zod.z.ZodIssueCode.custom,
87
+ message: utils.contentTypes.getDraftAndPublishEnableBlockedMessage(reservedAttributeNames),
88
+ path: [
89
+ 'draftAndPublish'
90
+ ]
91
+ });
92
+ }
93
+ };
59
94
  const maxLengthGreaterThanMinLength = (value, ctx)=>{
60
95
  if (!fp.isNil(value.maxLength) && !fp.isNil(value.minLength) && fp.isNumber(value.maxLength) && fp.isNumber(value.minLength)) {
61
96
  if (value.maxLength < value.minLength) {
@@ -612,7 +647,7 @@ const schemaSchema = zod.z.object({
612
647
  updateSingleTypeSchema,
613
648
  updateCollectionTypeSchema,
614
649
  deleteContentTypeSchema
615
- ]).superRefine(verifySingularAndPluralNames)).optional().default([])
650
+ ]).superRefine(verifySingularAndPluralNames).superRefine(verifyDraftAndPublishReservedAttributes)).optional().default([])
616
651
  });
617
652
  const updateSchemaInput = zod.z.object({
618
653
  data: schemaSchema
@@ -626,4 +661,5 @@ const validateUpdateSchema = utils.validateZodSchema(updateSchemaInput);
626
661
  exports.maxGreaterThanMin = maxGreaterThanMin;
627
662
  exports.maxLengthGreaterThanMinLength = maxLengthGreaterThanMinLength;
628
663
  exports.validateUpdateSchema = validateUpdateSchema;
664
+ exports.verifyDraftAndPublishReservedAttributes = verifyDraftAndPublishReservedAttributes;
629
665
  //# sourceMappingURL=schema.js.map