예제 #1
0
        },
        '403': {
            'description': '권한 없음'
        }
    }
}

MUSIC_POST = {
    'tags': ['Apply'],
    'description':
    '''기상음악 신청
    초기화 시간: 금요일 12:00
    ''',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('day', '요일', type_='int'),
        parameter('singer', '가수 이름'),
        parameter('musicName', '노래 이름')
    ],
    'responses': {
        '201': {
            'description': '기상음악 신청 성공'
        },
        '202': {
            'description': '기상음악 신청 실패(이미 신청 됨)'
        },
        '205': {
            'description': '기상음악 신청이 모두 완료되어 신청할 수 없음'
        },
        '403': {
            'description': '권한 없음'
예제 #2
0
from app.doc import JWT_ACCESS_TOKEN, parameter

CHANGE_PW_PATCH = {
    'tags': ['Account'],
    'description':
    '비밀번호 변경',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('currentPassword', '현재 비밀번호'),
        parameter('newPassword', '바꿀 비밀번호')
    ],
    'responses': {
        '201': {
            'description': '비밀번호 변경 성공'
        },
        '205': {
            'description': '현재 비밀번호와 새 비밀번호가 동일함'
        },
        '403': {
            'description': '비밀번호 변경 실패(틀린 비밀번호), 또는 권한 없음'
        }
    }
}

FIND_PW_POST = {
    'tags': ['Account'],
    'description': '''비밀번호 초기화
    
    이메일발송 후 이메일 링크 클릭시 1234로 초기화''',
    'parameters': [
        parameter('id', '아이디'),
from app.doc import JWT_ACCESS_TOKEN, parameter

FACILITY_REPORT_POST = {
    'tags': ['Report'],
    'description':
    '시설고장신고',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('room', '호실 번호', type_='int'),
        parameter('content', '시설 고장 신고 내용')
    ],
    'responses': {
        '201': {
            'description': '시설고장 신고에 성공했으며, 업로드된 시설고장 신고의 ID를 응답합니다.'
        },
        '403': {
            'description': '권한 없음'
        }
    }
}
예제 #4
0
from app.doc import JWT_ACCESS_TOKEN, parameter

QUESTION_POST = {
    'tags': ['Survey'],
    'description':
    '질문에 답변을 남깁니다. 이미 답변을 남겼을 경우, 덮어씌웁니다.',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('questionId', '질문 아이디', 'url'),
        parameter('answerContent', '답변')
    ],
    'responses': {
        '201': {
            'description': '답변 남기기 성공'
        },
        '204': {
            'description': '존재하지 않는 질문 ID'
        },
        '403': {
            'description': '권한 없음'
        }
    }
}
예제 #5
0
            'examples': {
                '': {
                    'noticeList': [{
                        'title': '제목',
                        'postDate': '작성 일자',
                        'noticeId': '공지사항 아이디'
                    }]
                }
            }
        }
    }
}

NOTICE_GET = {
    'tags': ['Notice'],
    'description': '공지사항 확인',
    'parameters': [parameter('noticeId', '공지사항 아이디', 'url')],
    'responses': {
        '200': {
            'description': '공지사항 조회 성공',
            'examples': {
                '': {
                    'title': '제목',
                    'postDate': '작성 일자',
                    'content': '공지사항 내용'
                }
            }
        }
    }
}
예제 #6
0
from app.doc import parameter, JWT_REFRESH_TOKEN
from app.doc.account import SAMPLE_ACCESS_TOKEN, SAMPLE_REFRESH_TOKEN

AUTH_POST = {
    'tags': ['Account'],
    'description': '로그인',
    'parameters': [
        parameter('id', '아이디'),
        parameter('password', '비밀번호')
    ],
    'responses': {
        '200': {
            'description': '로그인 성공',
            'examples': {
                '': {
                    'accessToken': SAMPLE_ACCESS_TOKEN,
                    'refreshToken': SAMPLE_REFRESH_TOKEN
                }
            }
        },
        '401': {
            'description': '로그인 실패'
        }
    }
}

REFRESH_POST = {
    'tags': ['Account'],
    'description': 'Token refreshing',
    'parameters': [
        JWT_REFRESH_TOKEN
예제 #7
0
from app.doc import parameter

MEAL_GET = {
    'tags': ['Meal'],
    'description': '급식 조회',
    'parameters': [parameter('day', '조회할 날짜(2019-04-20)', in_='url')],
    'responses': {
        '200': {
            'description': '급식 정보 조회 성공',
            'examples': {
                '': {
                    'breakfast': ['밥', '국', '김치', '반찬1', '반찬2'],
                    'lunch': ['밥', '국', '김치', '반찬1', '반찬2'],
                    'dinner': ['밥', '국', '김치', '반찬1', '반찬2']
                }
            }
        },
        '205': {
            'description': '잘못된 날짜'
        }
    }
}
예제 #8
0
from app.doc import parameter

SIGNUP_POST = {
    'tags': ['Account'],
    'description':
    '회원가입',
    'parameters': [
        parameter('uuid', 'UUID'),
        parameter('id', '사용자 아이디'),
        parameter('password', '사용자 비밀번호')
    ],
    'responses': {
        '201': {
            'description': '가입 완료'
        },
        '204': {
            'description': '가입 불가능(유효하지 않은 UUID)'
        },
        '205': {
            'description': '가입 불가능(중복된 ID)'
        }
    }
}
예제 #9
0
        }
    }
}

SURVEY_GET = {
    'tags': ['Survey'],
    'description': '''설문지를 불러옵니다.
    아래의 조건 중 하나 이상에 맞는 설문조사는 response되지 않습니다.

    1. 대상이 해당 학년이 아닌 설문조사
    2. 설문 기간이 지난 설문조사
    3. 질문이 없는 설문조사
    ''',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('survey_id', '설문지 id', 'url', 'int')
    ],
    'responses': {
        '200': {
            'description': '설문지 불러오기 성공',
            'examples': {
                '': {
                    'id': SAMPLE_OBJECT_IDS[0],
                    'title': '인상민 생일 선물 뭐 줄까?',
                    'description': '4월 20일은 인상민 생일인데 인상민한테 생일 선물 뭐 줄거예요?',
                    'startDate': '2018-04-15',
                    'endDate': '2018-04-20',
                    'answered': True,
                    'questions': [
                        {
                            'id': '질문 아이디1',
예제 #10
0
from app.doc import JWT_ACCESS_TOKEN, parameter

BUG_REPORT_POST = {
    'tags': ['Report'],
    'description': '버그를 신고하며, Slackbot이 Slack의 #bug-report 채널로 메시지를 전송합니다.',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('platform', '버그 신고를 한 플랫폼 타입(1: Web, 2: Android, 3: iOS)', 'url', 'int'),
        parameter('content', '버그 신고 내용')
    ],
    'responses': {
        '201': {
            'description': '버그 신고 성공'
        },
        '400': {
            'description': 'platform 타입이 1, 2, 3 중 하나가 아님'
        },
        '403': {
            'description': '권한 없음'
        }
    }
}
예제 #11
0
            'description': '권한 없음'
        }
    }
}

GOINGOUT_POST = {
    'tags': ['Apply'],
    'description':
    '''외출신청
    
    신청 가능 시간: 월요일 00:00 - 금요일 22:00
    금요귀가, 토요귀가 시 외출 신청이 불가능합니다.
    ''',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('date', '외출 나가는 시각 ~ 귀사 시각 (MM-DD HH:MM ~ HH:MM'),
        parameter('reason', '외출 사유')
    ],
    'responses': {
        '201': {
            'description': '외출신청 성공'
        },
        '403': {
            'description': '권한 없음'
        },
        '409': {
            'description': '외출신청 실패(신청 가능 시간 아님)'
        }
    }
}
예제 #12
0
            'examples': {
                '': {
                    'qnaList': [{
                        'title': '제목',
                        'postDate': '작성 일자',
                        'qnaId': '자주 하는 질문 아이디'
                    }]
                }
            }
        }
    }
}

QNA_GET = {
    'tags': ['Notice'],
    'description': '자주 하는 질문 확인',
    'parameters': [parameter('qnaId', '자주 하는 질문 아이디', 'url')],
    'responses': {
        '200': {
            'description': '자주 하는 질문 조회 성공',
            'examples': {
                '': {
                    'title': '제목',
                    'postDate': '작성 일자',
                    'content': '자주 하는 질문 내용'
                }
            }
        }
    }
}
예제 #13
0
from app.doc import JWT_ACCESS_TOKEN, parameter

EXTENSION_GET = {
    'tags': ['Apply'],
    'description': '학생 자신의 연장신청 정보를 조회합니다.',
    'parameters': [
        JWT_ACCESS_TOKEN,
        parameter('time', '11시, 12시 연장 구분 (11, 12)', 'url', 'int')
    ],
    'responses': {
        '200': {
            'description': '연장신청 정보 조회 성공',
            'examples': {
                '': {
                    'classNum': 1,
                    'seatNum': 16
                }
            }
        },
        '204': {
            'description': '연장신청 정보 없음'
        },
        '403': {
            'description': '권한 없음'
        }
    }
}

EXTENSION_POST = {
    'tags': ['Apply'],
    'description': '''연장신청
예제 #14
0
            'examples': {
                '': {
                    'ruleList': [{
                        'title': '제목',
                        'postDate': '작성 일자',
                        'ruleId': '기숙사 규정 아이디'
                    }]
                }
            }
        }
    }
}

RULE_GET = {
    'tags': ['Notice'],
    'description': '기숙사 규정 확인',
    'parameters': [parameter('ruleId', '기숙사 규정 아이디', 'url')],
    'responses': {
        '200': {
            'description': '기숙사 규정 조회 성공',
            'examples': {
                '': {
                    'title': '제목',
                    'postDate': '작성 일자',
                    'content': '기숙사 규정 내용'
                }
            }
        }
    }
}