Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
library-app-django
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ilham Maulana
library-app-django
Commits
4d69eb12
Commit
4d69eb12
authored
Aug 05, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: shit auth and book endpoint to not using drf
parent
6ea2daa0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
378 additions
and
339 deletions
+378
-339
views.py
api/auth/views.py
+303
-273
views.py
api/book/views.py
+49
-1
urls.py
api/urls.py
+26
-65
No files found.
api/auth/views.py
View file @
4d69eb12
This diff is collapsed.
Click to expand it.
api/book/views.py
View file @
4d69eb12
import
json
from
django.http
import
JsonResponse
from
django.core.serializers
import
serialize
from
django.views.decorators.csrf
import
csrf_exempt
from
rest_framework
import
viewsets
from
rest_framework
import
viewsets
from
rest_framework.response
import
Response
from
rest_framework.response
import
Response
from
rest_framework.filters
import
SearchFilter
from
rest_framework.filters
import
SearchFilter
from
django_filters.rest_framework
import
DjangoFilterBackend
from
django_filters.rest_framework
import
DjangoFilterBackend
from
.serializers
import
Book
,
BookSerializer
,
Category
,
CategorySerializer
from
book.models
import
Book
,
Category
from
.serializers
import
BookSerializer
,
CategorySerializer
@
csrf_exempt
def
bookView
(
request
):
books
=
Book
.
objects
.
all
()
.
order_by
(
"created_at"
)
category
=
request
.
GET
.
get
(
"category"
)
keyword
=
request
.
GET
.
get
(
"search"
)
if
request
.
method
==
"GET"
:
if
category
:
books
=
books
.
filter
(
category__name
=
category
)
if
keyword
and
len
(
keyword
)
>=
3
:
books
=
books
.
filter
(
title__icontains
=
keyword
)
data
=
[]
for
book_item
in
books
:
if
book_item
.
category
is
not
None
:
book
=
{
"id"
:
book_item
.
id
,
"title"
:
book_item
.
title
,
"author"
:
book_item
.
author
,
"description"
:
book_item
.
description
,
"cover_image"
:
"http://127.0.0.1:8000"
+
book_item
.
cover_image
.
url
,
"category"
:
{
"name"
:
book_item
.
category
.
name
,
},
}
book
=
{
"id"
:
book_item
.
id
,
"title"
:
book_item
.
title
,
"author"
:
book_item
.
author
,
"description"
:
book_item
.
description
,
"cover_image"
:
"http://127.0.0.1:8000"
+
book_item
.
cover_image
.
url
,
}
data
.
append
(
book
)
return
JsonResponse
(
data
,
status
=
200
,
safe
=
False
)
return
JsonResponse
({
"message"
:
"Invalid request method"
},
status
=
405
)
class
BookViewSet
(
viewsets
.
ModelViewSet
):
class
BookViewSet
(
viewsets
.
ModelViewSet
):
...
...
api/urls.py
View file @
4d69eb12
...
@@ -2,22 +2,19 @@ from django.urls import path, include
...
@@ -2,22 +2,19 @@ from django.urls import path, include
from
rest_framework
import
routers
from
rest_framework
import
routers
from
.auth.views
import
(
from
.auth.views
import
(
LibrarianViewSet
,
registerUserView
,
LibrarianLoginView
,
loginUserView
,
LibrarianRegisterView
,
logoutUserView
,
LibrarianLoginHistoryViewSet
,
getUserDetail
,
MemberViewSet
,
memberLoanView
,
MemberLoginView
,
updateUserProfileView
,
MemberRegisterView
,
checkAuthSessionView
,
MemberChangePasswordView
,
changePasswordView
,
LogoutView
,
resetPasswordView
,
TokenResetPasswordView
,
resetPasswordConfirmView
,
ResetPasswordConfirmView
,
UserDetailView
,
UpdateProfileView
,
LoginBaseView
,
)
)
from
.book.views
import
BookViewSet
,
CategoryViewSet
from
.book.views
import
bookView
,
CategoryViewSet
from
.loans.views
import
(
from
.loans.views
import
(
BookLoanViewSet
,
BookLoanViewSet
,
OverduedBookLoanViewSet
,
OverduedBookLoanViewSet
,
...
@@ -27,10 +24,6 @@ from .loans.views import (
...
@@ -27,10 +24,6 @@ from .loans.views import (
router
=
routers
.
DefaultRouter
()
router
=
routers
.
DefaultRouter
()
router
.
register
(
r"user"
,
UpdateProfileView
,
basename
=
"user"
)
router
.
register
(
r"librarians"
,
LibrarianViewSet
,
basename
=
"librarians"
)
router
.
register
(
r"members"
,
MemberViewSet
,
basename
=
"members"
)
router
.
register
(
r"books"
,
BookViewSet
,
basename
=
"books"
)
router
.
register
(
r"categories"
,
CategoryViewSet
,
basename
=
"categories"
)
router
.
register
(
r"categories"
,
CategoryViewSet
,
basename
=
"categories"
)
router
.
register
(
r"book-loans"
,
BookLoanViewSet
,
basename
=
"book_loans"
)
router
.
register
(
r"book-loans"
,
BookLoanViewSet
,
basename
=
"book_loans"
)
router
.
register
(
router
.
register
(
...
@@ -39,9 +32,6 @@ router.register(
...
@@ -39,9 +32,6 @@ router.register(
router
.
register
(
router
.
register
(
r"upcoming-loans"
,
UpComingBookLoanViewSet
,
basename
=
"book_loans_upcoming"
r"upcoming-loans"
,
UpComingBookLoanViewSet
,
basename
=
"book_loans_upcoming"
)
)
router
.
register
(
r"login-history"
,
LibrarianLoginHistoryViewSet
,
basename
=
"librarian_login_history"
)
router_member_loan
=
routers
.
DefaultRouter
()
router_member_loan
=
routers
.
DefaultRouter
()
router_member_loan
.
register
(
r"loans"
,
MemberLoanViewSet
,
basename
=
"member_loans"
)
router_member_loan
.
register
(
r"loans"
,
MemberLoanViewSet
,
basename
=
"member_loans"
)
...
@@ -49,49 +39,20 @@ router_member_loan.register(r"loans", MemberLoanViewSet, basename="member_loans"
...
@@ -49,49 +39,20 @@ router_member_loan.register(r"loans", MemberLoanViewSet, basename="member_loans"
urlpatterns
=
[
urlpatterns
=
[
path
(
""
,
include
(
router
.
urls
)),
path
(
""
,
include
(
router
.
urls
)),
# auth
# auth
path
(
path
(
"user"
,
getUserDetail
,
name
=
"user_detail"
),
"user"
,
path
(
"user/loans"
,
memberLoanView
,
name
=
"user_loans"
),
UserDetailView
.
as_view
(),
path
(
"user/update"
,
updateUserProfileView
,
name
=
"update_user_profile"
),
name
=
"user_detail"
,
path
(
"auth/login"
,
loginUserView
,
name
=
"login"
),
),
path
(
"auth/logout"
,
logoutUserView
,
name
=
"logout"
),
path
(
path
(
"auth/register"
,
registerUserView
,
name
=
"register"
),
"user"
,
path
(
"auth/change-password"
,
changePasswordView
,
name
=
"change_password"
),
UserDetailView
.
as_view
(),
path
(
"auth/reset-password"
,
resetPasswordView
,
name
=
"reset_password"
),
name
=
"user_detail"
,
path
(
),
"auth/reset-password-confirm"
,
path
(
resetPasswordConfirmView
,
"reset-password/request-token"
,
TokenResetPasswordView
.
as_view
(),
name
=
"reset_password_request_token"
,
),
path
(
"reset-password/confirm"
,
ResetPasswordConfirmView
.
as_view
(),
name
=
"reset_password_confirm"
,
name
=
"reset_password_confirm"
,
),
),
path
(
"librarians/auth/login"
,
LibrarianLoginView
.
as_view
(),
name
=
"librarian_login"
),
path
(
"auth/check-auth-session"
,
checkAuthSessionView
,
name
=
"check_auth_session"
),
path
(
"auth/login"
,
LoginBaseView
.
as_view
(),
name
=
"universal_login"
),
# books
path
(
path
(
"books"
,
bookView
,
name
=
"books"
),
"librarians/auth/register"
,
LibrarianRegisterView
.
as_view
(),
name
=
"librarian_register"
,
),
path
(
"auth/logout"
,
LogoutView
.
as_view
(),
name
=
"librarian_logout"
),
path
(
"members/auth/login"
,
MemberLoginView
.
as_view
(),
name
=
"member_login"
),
path
(
"members/auth/register"
,
MemberRegisterView
.
as_view
(),
name
=
"librarian_register"
,
),
# change password
path
(
"members/<int:member_id>/change-password"
,
MemberChangePasswordView
.
as_view
(),
name
=
"member_change_password"
,
),
path
(
"members/<int:member_id>/"
,
include
(
router_member_loan
.
urls
),
name
=
"member_loans"
,
),
]
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment