-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
builded backend to serve new ui with cv and stuff
- Loading branch information
pasi
committed
Mar 8, 2021
1 parent
6ffaf55
commit 6ea66de
Showing
7 changed files
with
244 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,19 @@ | ||
from rest_framework.authentication import TokenAuthentication | ||
from rest_framework.permissions import DjangoModelPermissions | ||
|
||
|
||
class BearerAuthentication(TokenAuthentication): | ||
keyword = "Bearer" | ||
|
||
|
||
class LimitViewDjangoModelPermissions(DjangoModelPermissions): | ||
perms_map = { | ||
'GET': ['%(app_label)s.view_%(model_name)s'], | ||
'OPTIONS': ['%(app_label)s.view_%(model_name)s'], | ||
'HEAD': ['%(app_label)s.view_%(model_name)s'], | ||
'POST': ['%(app_label)s.add_%(model_name)s'], | ||
'PUT': ['%(app_label)s.change_%(model_name)s'], | ||
'PATCH': ['%(app_label)s.change_%(model_name)s'], | ||
'DELETE': ['%(app_label)s.delete_%(model_name)s'], | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,16 @@ | ||
from rest_framework_bulk.routes import BulkRouter | ||
from data_logger import views as data_logger_views | ||
|
||
from cv import views as cv_views | ||
|
||
router = BulkRouter() | ||
router.register(r'data-logger/data', data_logger_views.DataViewSet) | ||
router.register(r'data-logger/gateway', data_logger_views.GatewayViewSet) | ||
router.register(r'data-logger/node', data_logger_views.NodeViewSet) | ||
router.register(r'data-logger/node-settings', data_logger_views.NodeSettingViewSet) | ||
|
||
|
||
router.register(r'cv/socials', cv_views.SocialsViewSet) | ||
router.register(r'cv/public-info', cv_views.BasicPublicInfoViewSet) | ||
router.register(r'cv/professional-skills', cv_views.ProfessionalSkillsViewSet) | ||
router.register(r'cv/language-skills', cv_views.LanguageSkillsViewSet) | ||
router.register(r'cv/other-interests', cv_views.OtherInterestsViewSet) | ||
router.register(r'cv/experience', cv_views.ExperienceViewSet) | ||
router.register(r'cv/education', cv_views.EducationViewSet) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,38 @@ | ||
from django.contrib import admin | ||
from cv import models | ||
from django.contrib.admin import register | ||
|
||
# Register your models here. | ||
|
||
@register(models.BasicPublicInfo) | ||
class BasicPublicInfoAdminPage(admin.ModelAdmin): | ||
model = models.BasicPublicInfo | ||
|
||
|
||
@register(models.Socials) | ||
class SocialsAdminPage(admin.ModelAdmin): | ||
model = models.Socials | ||
|
||
|
||
@register(models.Experience) | ||
class ExperienceAdminPage(admin.ModelAdmin): | ||
model = models.Experience | ||
|
||
|
||
@register(models.Education) | ||
class EducationAdminPage(admin.ModelAdmin): | ||
model = models.Education | ||
|
||
|
||
@register(models.ProfessionalSkills) | ||
class ProfessionalSkills(admin.ModelAdmin): | ||
model = models.ProfessionalSkills | ||
|
||
|
||
@register(models.LanguageSkills) | ||
class LanguageSkillsAdminPage(admin.ModelAdmin): | ||
model = models.LanguageSkills | ||
|
||
|
||
@register(models.OtherInterests) | ||
class OtherInterestsAdminPage(admin.ModelAdmin): | ||
model = models.OtherInterests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,76 @@ | ||
from django.db import models | ||
|
||
# Create your models here. | ||
LEVELS_RANGE = { | ||
(1, "FUNDAMENTAL_AWARNESS"), | ||
(2, "NOVICE"), | ||
(3, "INTERMEDIATE"), | ||
(4, "ADVANCED"), | ||
(5, "EXPERT"), | ||
} | ||
|
||
LANGUAGE_CHOICES = { | ||
("en", "English"), | ||
("fi", "Suomi"), | ||
} | ||
|
||
|
||
class BasicPublicInfo(models.Model): | ||
name = models.TextField() | ||
profession = models.TextField() | ||
location = models.TextField(blank=True, null=True) | ||
birthdate = models.DateTimeField(blank=True, null=True) | ||
phone_number = models.TextField(blank=True, null=True) | ||
email = models.EmailField(blank=True, null=True) | ||
description = models.TextField() | ||
language = models.CharField(max_length=2, default="fi", choices=LANGUAGE_CHOICES) | ||
|
||
|
||
class Socials(models.Model): | ||
SERVICE_CHOICES = { | ||
("FACE", "Facebook"), | ||
("LINKEDIN", "LinkedIn"), | ||
("GITHUB", "GitHub"), | ||
("INSTA", "Instagram") | ||
} | ||
service = models.TextField(choices=SERVICE_CHOICES) | ||
url = models.URLField() | ||
name = models.TextField() | ||
language = models.CharField(max_length=2, default="fi", choices=LANGUAGE_CHOICES) | ||
|
||
|
||
class Experience(models.Model): | ||
corporate = models.TextField() | ||
start_date = models.DateTimeField() | ||
end_date = models.DateTimeField() | ||
profession = models.TextField() | ||
description = models.TextField() | ||
link = models.URLField() | ||
language = models.CharField(max_length=2, default="fi", choices=LANGUAGE_CHOICES) | ||
|
||
|
||
class Education(models.Model): | ||
facility_name = models.TextField() | ||
title = models.TextField() | ||
branch = models.TextField(blank=True, null=True) | ||
graduation_date = models.DateTimeField() | ||
rating_scale = models.TextField(blank=True, null=True) | ||
average_rating = models.TextField(blank=True, null=True) | ||
thesis = models.URLField(blank=True, null=True) | ||
language = models.CharField(max_length=2, default="fi", choices=LANGUAGE_CHOICES) | ||
|
||
|
||
class ProfessionalSkills(models.Model): | ||
name = models.TextField() | ||
level = models.IntegerField(choices=LEVELS_RANGE) | ||
|
||
|
||
class LanguageSkills(models.Model): | ||
name = models.TextField() | ||
level = models.IntegerField(choices=LEVELS_RANGE) | ||
|
||
|
||
class OtherInterests(models.Model): | ||
name = models.TextField() | ||
language = models.CharField(max_length=2, default="fi", choices=LANGUAGE_CHOICES) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
from rest_framework import serializers | ||
from cv import models | ||
|
||
|
||
class SocialsSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.Socials | ||
fields = '__all__' | ||
|
||
|
||
class BasicPublicInfoSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.BasicPublicInfo | ||
fields = '__all__' | ||
|
||
|
||
class ProfessionalSkillsSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.ProfessionalSkills | ||
fields = '__all__' | ||
|
||
|
||
class LanguageSkillsSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.LanguageSkills | ||
fields = '__all__' | ||
|
||
|
||
class OtherInterestsSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.OtherInterests | ||
fields = '__all__' | ||
|
||
|
||
class ExperienceSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.Experience | ||
fields = '__all__' | ||
|
||
|
||
class EducationSerializer(serializers.ModelSerializer): | ||
class Meta: | ||
model = models.Education | ||
fields = '__all__' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,64 @@ | ||
from django.shortcuts import render | ||
from rest_framework.viewsets import ModelViewSet | ||
from cv import models | ||
from cv import serializers | ||
|
||
|
||
# Create your views here. | ||
class SocialsViewSet(ModelViewSet): | ||
|
||
queryset = models.Socials.objects.all() | ||
serializer_class = serializers.SocialsSerializer | ||
|
||
|
||
class BasicPublicInfoViewSet(ModelViewSet): | ||
|
||
queryset = models.BasicPublicInfo.objects.all() | ||
serializer_class = serializers.BasicPublicInfoSerializer | ||
|
||
def get_queryset(self): | ||
queryset = models.BasicPublicInfo.objects.all() | ||
lan = self.request.query_params.get('lan', 'fi') | ||
return queryset.filter(language=lan) | ||
|
||
|
||
class ProfessionalSkillsViewSet(ModelViewSet): | ||
|
||
queryset = models.ProfessionalSkills.objects.all() | ||
serializer_class = serializers.ProfessionalSkillsSerializer | ||
|
||
|
||
class LanguageSkillsViewSet(ModelViewSet): | ||
|
||
queryset = models.LanguageSkills.objects.all() | ||
serializer_class = serializers.LanguageSkillsSerializer | ||
|
||
|
||
class OtherInterestsViewSet(ModelViewSet): | ||
|
||
queryset = models.OtherInterests.objects.all() | ||
serializer_class = serializers.OtherInterestsSerializer | ||
|
||
def get_queryset(self): | ||
queryset = models.OtherInterests.objects.all() | ||
lan = self.request.query_params.get('lan', 'fi') | ||
return queryset.filter(language=lan) | ||
|
||
|
||
class ExperienceViewSet(ModelViewSet): | ||
queryset = models.Experience.objects.all().order_by('-end_date') | ||
serializer_class = serializers.ExperienceSerializer | ||
|
||
def get_queryset(self): | ||
queryset = models.Experience.objects.all().order_by('-end_date') | ||
lan = self.request.query_params.get('lan', 'fi') | ||
return queryset.filter(language=lan) | ||
|
||
|
||
class EducationViewSet(ModelViewSet): | ||
queryset = models.Education.objects.all() | ||
serializer_class = serializers.EducationSerializer | ||
|
||
def get_queryset(self): | ||
queryset = models.Education.objects.all() | ||
lan = self.request.query_params.get('lan', 'fi') | ||
return queryset.filter(language=lan) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters