BackendCore
코어는 ICE 스키마 정보를 토대로 생성된 structure 위에서 각각의 event를 구현하고자 하는 API 와 연결 지어 사용할 수 있다.
따로 HTTP Controller 와 DTO 를 만들어 주지 않아도 ICE 스키마가 그 역할을 대신 해 준다고 이해하면 쉽다.
Schema Schema
Event와 schema의 Type에 따라 기본 CRUD API 를 별도로 만들지 않아도 제공해주며, 커스텀한 비즈니스 로직이 필요한 경우 schema에 event를 추가하여 service를 만들어 사용하면 된다.
NodeType NodeType
노드타입은 스키마의 entity임
DB Table 에 해당함
Repository Type을 지정함
스키마 설계시 기본
하위로 메타데이터 속성을 정의하는 프로퍼티 타입과 로직을 처리하는 이벤트로 구성됨
Property Type PropertyType
기본형 : STRING, INT, LONG, DOUBLE, BOOLEAN, DATE
TEXT, HTML
FILE, IMAGE / FILES, IMAGES
CODE
REFERENCE, PARENT, PART
REFERENCES, PARENTS, PARTS
REFERENCED, CHILDREN
기타 : MONTH, COLOR, JSON
Event Event
노드 타입에서 실행되는 프로세스
기본 이벤트 : Create, Update, Delete, Read, List
Query형 이벤트 : productList, cartProductList등
Command형 이벤트: addCart, addWish 등과 같이 특정 로직을 수행.
eventType
Direct Execute : 바로 실행 가능한 이벤트
Has Form : create, update와 같이 폼에서 실행 가능한 이벤트
Link Page : 특정 페이지로 이동하기 위한 이벤트
enablePageTypes : 페이지 유형
List Page, View Page, Create Form, Update Form, Search
linkType : 링크에 대한 유형을 지정
Modal : Modal 팝업으로 링크
Page : 현재 페이지 전환
Window : 새창으로 링크
callbackLinkType : 이벤트실행후 이동할 링크유형
Page : 특정 페이지로 이동
Page In Component : 실행한 컴포넌트 내에서의 페이지 이동
Page In Modal : Modal 안에서 페이지 이동
Event Action
특정 이벤트가 발생하였을때, 해당 노드타입내에서 트랜잭션에 묶여서 순차적으로 실행되는 것을 이벤트 액션으로 정의
actionType : Service, Update, Select, Call, API, Process
actionBody
Action 실행에 필요한 구문을 해당 actionType에 맞춰서 지정합니다.
service의 경우 : nodeTypeService.storeJson
update의 경우 : insert into nodeType (id, name) values({{:id}}, {{:name}})