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}})