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
b07c63d8
Commit
b07c63d8
authored
Aug 05, 2024
by
Ilham Maulana
💻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: shift auth endpoint to not use drf
parent
55a61448
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
167 deletions
+0
-167
serializers.py
api/auth/serializers.py
+0
-167
No files found.
api/auth/serializers.py
deleted
100644 → 0
View file @
55a61448
from
rest_framework
import
serializers
from
rest_framework_simplejwt.serializers
import
TokenObtainPairSerializer
from
users.models
import
User
,
Librarian
,
Member
,
LibrarianLoginHistory
class
UserSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
User
fields
=
[
"id"
,
"username"
,
"email"
,
"first_name"
,
"last_name"
,
"is_staff"
,
"password"
,
]
extra_kwargs
=
{
"password"
:
{
"write_only"
:
True
}}
def
create
(
self
,
validated_data
):
password
=
validated_data
.
get
(
"password"
)
user
=
User
.
objects
.
create
(
**
validated_data
)
user
.
set_password
(
password
)
user
.
save
()
return
user
class
LoginHistorySerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
LibrarianLoginHistory
fields
=
"__all__"
class
LibrarianSerializer
(
serializers
.
ModelSerializer
):
user
=
UserSerializer
()
class
Meta
:
model
=
Librarian
fields
=
[
"id"
,
"user"
,
"picture"
,
"created_at"
,
"updated_at"
]
def
create
(
self
,
validated_data
):
user_data
=
validated_data
.
pop
(
"user"
)
user_data
[
"is_staff"
]
=
True
username
=
user_data
.
get
(
"username"
)
email
=
user_data
.
get
(
"email"
)
is_username
=
User
.
objects
.
filter
(
username
=
username
)
is_email
=
User
.
objects
.
filter
(
email
=
email
)
if
is_username
.
exists
()
and
is_email
.
exists
():
raise
serializers
.
ValidationError
(
"Username or Email is already exists"
)
user
=
User
.
objects
.
create_user
(
**
user_data
)
user
.
set_password
(
user_data
.
get
(
"password"
))
user
.
save
()
librarian
=
Librarian
.
objects
.
create
(
user
=
user
,
**
validated_data
)
return
librarian
def
update
(
self
,
instance
,
validated_data
):
instance
.
user
.
username
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"username"
,
instance
.
user
.
username
)
instance
.
user
.
email
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"email"
,
instance
.
user
.
email
)
instance
.
user
.
first_name
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"first_name"
,
instance
.
user
.
first_name
)
instance
.
user
.
last_name
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"last_name"
,
instance
.
user
.
last_name
)
instance
.
user
.
is_staff
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"is_staff"
,
instance
.
user
.
is_staff
)
instance
.
picture
=
validated_data
.
get
(
"picture"
,
instance
.
picture
)
instance
.
created_at
=
validated_data
.
get
(
"created_at"
,
instance
.
created_at
)
instance
.
updated_at
=
validated_data
.
get
(
"updated_at"
,
instance
.
updated_at
)
user
=
User
.
objects
.
filter
(
id
=
instance
.
user
.
id
)
user
.
update
(
username
=
instance
.
user
.
username
,
email
=
instance
.
user
.
email
,
first_name
=
instance
.
user
.
first_name
,
last_name
=
instance
.
user
.
last_name
,
is_staff
=
instance
.
user
.
is_staff
,
)
Librarian
.
objects
.
filter
(
id
=
instance
.
id
)
.
update
(
user
=
user
[
0
])
instance
.
save
()
return
instance
class
MemberSerializer
(
serializers
.
ModelSerializer
):
user
=
UserSerializer
()
class
Meta
:
model
=
Member
fields
=
[
"id"
,
"user"
,
"picture"
,
"created_at"
,
"updated_at"
]
def
create
(
self
,
validated_data
):
user_data
=
validated_data
.
pop
(
"user"
)
user_data
[
"is_staff"
]
=
False
username
=
user_data
.
get
(
"username"
)
email
=
user_data
.
get
(
"email"
)
is_username
=
User
.
objects
.
filter
(
username
=
username
)
is_email
=
User
.
objects
.
filter
(
email
=
email
)
if
is_username
.
exists
()
and
is_email
.
exists
():
raise
serializers
.
ValidationError
(
"Username or Email is already exists"
)
user
=
User
.
objects
.
create_user
(
**
user_data
)
user
.
set_password
(
user_data
.
get
(
"password"
))
user
.
save
()
member
=
Member
.
objects
.
create
(
user
=
user
,
**
validated_data
)
return
member
def
update
(
self
,
instance
,
validated_data
):
instance
.
user
.
username
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"username"
,
instance
.
user
.
username
)
instance
.
user
.
email
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"email"
,
instance
.
user
.
email
)
instance
.
user
.
first_name
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"first_name"
,
instance
.
user
.
first_name
)
instance
.
user
.
last_name
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"last_name"
,
instance
.
user
.
last_name
)
instance
.
user
.
is_staff
=
validated_data
.
get
(
"user"
,
instance
.
user
)
.
get
(
"is_staff"
,
instance
.
user
.
is_staff
)
instance
.
picture
=
validated_data
.
get
(
"picture"
,
instance
.
picture
)
instance
.
created_at
=
validated_data
.
get
(
"created_at"
,
instance
.
created_at
)
instance
.
updated_at
=
validated_data
.
get
(
"updated_at"
,
instance
.
updated_at
)
user
=
User
.
objects
.
filter
(
id
=
instance
.
user
.
id
)
user
.
update
(
username
=
instance
.
user
.
username
,
email
=
instance
.
user
.
email
,
first_name
=
instance
.
user
.
first_name
,
last_name
=
instance
.
user
.
last_name
,
is_staff
=
instance
.
user
.
is_staff
,
)
Member
.
objects
.
filter
(
id
=
instance
.
id
)
.
update
(
user
=
user
[
0
])
instance
.
save
()
return
instance
class
UpdateProfileSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
User
fields
=
[
"id"
,
"username"
,
"email"
,
"first_name"
,
"last_name"
,
"is_staff"
,
]
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