Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2020-1-CloudComputing-E
/
E_Team_KhuBox
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Authored by
서승완
2020-06-15 00:31:44 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
7710069c1e98515637872c1acc88f53d83bfdf21
7710069c
1 parent
2cf8f416
refactor: change error message
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
60 deletions
khubox-api/khubox/services/files.py
khubox-api/khubox/services/groups.py
khubox-api/khubox/services/users.py
khubox-api/khubox/services/files.py
View file @
7710069
...
...
@@ -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
)
# S
tructur
e
# S
erializ
e
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
)
...
...
khubox-api/khubox/services/groups.py
View file @
7710069
...
...
@@ -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'
:
'
잘못된 초대코드
입니다.'
}
# S
tructur
e
# S
erializ
e
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
)
# S
tructur
e
# S
erializ
e
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'
:
'
잘못된 요청
입니다.'
}
# S
tructur
e
# S
erializ
e
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
:
...
...
khubox-api/khubox/services/users.py
View file @
7710069
...
...
@@ -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
...
...
Please
register
or
login
to post a comment