// -------------------------------------------------------------------- // 단지 배정 학교 목록 조회 // -------------------------------------------------------------------- // 작성일 : 2022. 07. 20 // 작성자 : 홍사민 // -------------------------------------------------------------------- // [기록] // // -------------------------------------------------------------------- import { HTTPNoBody } from '@fastify-modular/route'; import { pito } from 'pito'; // ==================================================================================== // 학교급(초중고) export enum SchoolKindCode { Elementary = '02', Middle = '03', High = '04', } export const ListSchlInKaptOption = pito.Obj({ id : pito.Str(), // Mapper ID schlKindCd: pito.Enums(SchoolKindCode), // 학교급(02: 초, 03: 중, 04: 고) }); export type ListSchlInKaptOption = pito.Type; // ==================================================================================== // 학교 정보 export const SchlData = pito.Obj({ schlNm : pito.Str(), // 학교명 schlKindCd : pito.Enums(SchoolKindCode), // 학교급(02: 초, 03: 중, 04: 고) fndtnGb : pito.Str(), // 설립구분(국립/공립/사립) doroAddrNm : pito.Str(), // 도로명주소 hompgAddr : pito.Str(), // 홈페이지 주소 telNo : pito.Str(), // 전화번호 fndtnDt : pito.Date(), // 설립일 localOfedcNm : pito.Str(), // 지역교육청 totalTchrCnt : pito.Num(), // 교원수 totalStdntCnt: pito.Num(), // 학생수 tchrStdntCnt : pito.Num(), // 교원당 학생수 // 상세 정보 stdntDetail: pito.Arr(pito.Obj({ grade : pito.Num(), // 학년 classCnt: pito.Num(), // 해당 학년 학급 수 stdntCnt: pito.Num(), // 해당 학년 학생 수 })), // 교원 상세 정보 tchrDetail: pito.Obj({ spclTchrCnt : pito.Num(), // 특수교사수 prfslConslTchrCnt: pito.Num(), // 전문상담교사수 librnTchrCnt : pito.Num(), // 사서교사수 helthTchrCnt : pito.Num(), // 보건교사수 nutrnTchrCnt : pito.Num(), // 영양교사수 natvSpkrTchrCnt : pito.Num(), // 원어민교사수 }), // 방과후학교 afterSchl: pito.Obj({ // 교과(Curriculum) crrcm: pito.Obj({ prgrmCnt : pito.Num(), // 프로그램수 regsStdntCnt: pito.Num(), // 수강학생수 }), // 특기적성 spctyApttd: pito.Obj({ prgrmCnt : pito.Num(), // 프로그램수 regsStdntCnt: pito.Num(), // 수강학생수 }), }), // 도서관 libry: pito.Obj({ bookCnt : pito.Num(), // 도서자료수 bookRatio: pito.Num(), // 인당장서수 }), }); export const ListSchlInKaptOutput = pito.Obj({ found: pito.Arr(SchlData), }); export type ListSchlInKaptOutput = pito.Type; // 단지 내 배정 학교 목록 조회 export const ListSchlInKapt = HTTPNoBody('GET', '/api/v1/address/list-schl-in-kapt', 'address') .query(ListSchlInKaptOption) .response(ListSchlInKaptOutput) .build();