서승완

refactor: change error message

......@@ -10,13 +10,13 @@ from ..models import File, GroupUser
def list_item(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Validate
if request.GET.get('is_public') != 'true' \
and request.GET.get('is_starred') != 'true' \
and request.GET.get('is_trashed') != 'true':
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Query Files
files = None
......@@ -27,7 +27,7 @@ def list_item(request):
elif request.GET.get('is_trashed') == 'true':
files = File.objects.filter(owner_user_id=request.user_id, is_trashed=1, deleted_at__isnull=True)
# Structure
# Serialize
data = []
for file in files:
data.append({
......@@ -48,22 +48,22 @@ def list_item(request):
def create(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Load
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'parent_id' not in received \
or 'type' not in received \
or 'name' not in received:
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
if (received['type'] != 'folder' and received['type'] != 'file') \
or received['name'] == '':
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Get Parent
parent = File.objects.filter(id=received['parent_id'], is_trashed=0, deleted_at__isnull=True)
......@@ -109,7 +109,7 @@ def create(request):
def empty_trash(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query Files
files = File.objects.filter(owner_user_id=request.user_id, is_trashed=1, deleted_at__isnull=True)
......@@ -143,7 +143,7 @@ def empty_trash(request):
def find_item(request, file_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
file = File.objects.filter(id=file_id, deleted_at__isnull=True)
......@@ -183,7 +183,6 @@ def find_item(request, file_id):
data = {
'id': file[0].id,
'parent_id': file[0].parent_id,
'uploader_id': file[0].uploader_id,
'name': file[0].name,
'size': file[0].size,
'is_public': file[0].is_public,
......@@ -219,13 +218,13 @@ def find_item(request, file_id):
def update_item(request, file_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Load
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'name' not in received \
......@@ -233,7 +232,7 @@ def update_item(request, file_id):
and 'is_public' not in received \
and 'is_starred' not in received \
and 'is_trashed' not in received:
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Query
file = File.objects.filter(id=file_id, deleted_at__isnull=True)
......@@ -292,7 +291,7 @@ def update_item(request, file_id):
def copy(request, file_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Get File
file = File.objects.filter(id=file_id, type='file', is_trashed=0, deleted_at__isnull=True)
......
......@@ -9,17 +9,17 @@ from ..models import File, Group, GroupUser, User
def create(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Load
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'name' not in received or received['name'] == '':
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Create
root_folder = uuid.uuid4()
......@@ -45,25 +45,24 @@ def create(request):
created_at=timezone.now()
)
return {'result': True, 'group_id': group.id}
return {'result': True}
# 그룹 초대장 조회
def find_invite(request, invite_code):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
group = Group.objects.filter(invite_code=invite_code)
# Check Exists
if len(group) == 0:
return {'result': False, 'error': '존재하지 않는 초대장입니다.'}
return {'result': False, 'error': '잘못된 초대코드입니다.'}
# Structure
# Serialize
data = {
'id': group[0].id,
'name': group[0].name
}
......@@ -81,14 +80,14 @@ def find_invite(request, invite_code):
def use_invite(request, invite_code):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
group = Group.objects.filter(invite_code=invite_code)
# Check Exists
if len(group) == 0:
return {'result': False, 'error': '존재하지 않는 초대장입니다.'}
return {'result': False, 'error': '잘못된 초대코드입니다.'}
# Check Joined
joined = GroupUser.objects.filter(group_id=group[0].id, user_id=request.user_id)
......@@ -109,17 +108,16 @@ def use_invite(request, invite_code):
def list_me(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
joined = GroupUser.objects.filter(user_id=request.user_id).values_list('group_id', flat=True)
groups = Group.objects.filter(id__in=joined)
# Structure
# Serialize
data = []
for group in groups:
data.append({
'id': group.id,
'name': group.name,
'root_folder': group.root_folder,
})
......@@ -131,23 +129,22 @@ def list_me(request):
def find_item(request, group_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Check Joined
joined = GroupUser.objects.filter(group_id=group_id, user_id=request.user_id)
if len(joined) == 0:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Query
group = Group.objects.filter(id=group_id)
# Check Exists
if len(group) == 0:
return {'result': False, 'error': '존재하지 않는 그룹입니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Structure
# Serialize
data = {
'id': group[0].id,
'name': group[0].name,
'root_folder': group[0].root_folder,
}
......@@ -162,9 +159,9 @@ def find_item(request, group_id):
'id': user.id,
'name': user.name,
})
data['user'] = user_data
data['id'] = group[0].id
data['users'] = user_data
data['invite_code'] = group[0].invite_code
data['created_at'] = group[0].created_at
data['is_owner'] = True
return {'result': True, 'data': data}
......@@ -174,28 +171,28 @@ def find_item(request, group_id):
def update_item(request, group_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Load
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'name' not in received or received['name'] == '':
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Query
group = Group.objects.filter(id=group_id)
# Check Exists
if len(group) == 0:
return {'result': False, 'error': '존재하지 않는 그룹입니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Check Owner
if group[0].owner_id != request.user_id:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Update
group[0].name = received['name']
......@@ -208,18 +205,18 @@ def update_item(request, group_id):
def delete_item(request, group_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
group = Group.objects.filter(id=group_id)
# Check Exists
if len(group) == 0:
return {'result': False, 'error': '존재하지 않는 그룹입니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Check Owner
if group[0].owner_id != request.user_id:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# S3 Delete
del_list = File.objects.filter(owner_group_id=group_id).values_list('id', flat=True)
......@@ -237,14 +234,14 @@ def delete_item(request, group_id):
def remove_user(request, group_id, user_id):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
group = Group.objects.filter(id=group_id)
# Check Owner
if group[0].owner_id != request.user_id:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Check Me
if int(user_id) == request.user_id:
......
......@@ -16,32 +16,34 @@ def create(request):
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'email' not in received \
or 'password' not in received \
or 'name' not in received:
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate Email
try:
validate_email(received['email'])
except ValidationError:
return {'result': False, 'error': '이메일 형식이 잘못되었습니다.'}
return {'result': False, 'error': '이메일을 제대로 입력해주세요.'}
# Validate Password
if len(received['password']) < 8:
return {'result': False, 'error': '비밀번호는 최소 8글자 입니다.'}
return {'result': False, 'error': '비밀번호를 8자리 이상으로 입력해주세요.'}
# Validate Name
if len(received['name']) > 50:
return {'result': False, 'error': '이름은 최대 50글자 입니다.'}
elif len(received['name']) == 0:
return {'result': False, 'error': '이름을 제대로 입력해주세요.'}
# Check Duplicates
is_exists = User.objects.filter(email=received['email'])
if len(is_exists) > 0:
return {'result': False, 'error': '이미 사용중인 이메일 주소 입니다.'}
return {'result': False, 'error': '이미 사용 중인 이메일입니다.'}
# Insert
root_folder = uuid.uuid4()
......@@ -70,21 +72,21 @@ def login(request):
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'email' not in received \
or 'password' not in received:
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Select
# Query
user = User.objects.filter(email=received['email'])
# Not Exists
# Check Exists
if len(user) != 1:
return {'result': False, 'error': '로그인에 실패하였습니다.'}
# Check
# Check Password
if check_password(received['password'], user[0].password) is False:
return {'result': False, 'error': '로그인에 실패하였습니다.'}
......@@ -99,7 +101,7 @@ def login(request):
def find_me(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Query
user = User.objects.filter(id=request.user_id)
......@@ -124,18 +126,18 @@ def find_me(request):
def update_me(request):
# Check Login
if request.user_id is None:
return {'result': False, 'error': '권한이 없습니다.'}
return {'result': False, 'error': '로그인을 해주세요.'}
# Load
try:
received = json.loads(request.body.decode('utf-8'))
except json.decoder.JSONDecodeError:
return {'result': False, 'error': '입력이 잘못되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Validate
if 'name' not in received \
and ('old_password' not in received and 'password' not in received):
return {'result': False, 'error': '입력이 누락되었습니다.'}
return {'result': False, 'error': '잘못된 요청입니다.'}
# Query
user = User.objects.filter(id=request.user_id)
......@@ -151,9 +153,9 @@ def update_me(request):
# Change Password
if 'old_password' in received and 'password' in received:
if check_password(received['old_password'], user[0].password) is False:
return {'result': False, 'error': '이전 비밀번호가 잘못되었습니다.'}
return {'result': False, 'error': '이전 비밀번호를 제대로 입력해주세요.'}
if len(received['password']) < 8:
return {'result': False, 'error': '비밀번호는 최소 8글자 입니다.'}
return {'result': False, 'error': '비밀번호를 8자리 이상으로 입력해주세요.'}
user[0].password = make_password(received['password'])
# Save
......