Skip to content

Commit

Permalink
feat: add CheckoutsSerializer and TreeSerializer
Browse files Browse the repository at this point in the history
  • Loading branch information
lfjnascimento committed Jul 3, 2024
1 parent 3414bea commit 866fb07
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions backend/kernelCI_app/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from rest_framework import serializers
from kernelCI_app.models import Checkouts
from kernelCI_app.utils import get_visible_record_config


class CheckoutsSerializer(serializers.ModelSerializer):
class Meta:
model = Checkouts
fields = [
'field_timestamp', 'id', 'origin', 'tree_name',
'git_repository_url', 'git_commit_hash', 'git_commit_name',
'git_repository_branch', 'patchset_files', 'patchset_hash',
'message_id', 'comment', 'start_time', 'contacts',
'log_url', 'log_excerpt', 'valid', 'misc'
]


class TreeSerializer(CheckoutsSerializer):
build_status = serializers.SerializerMethodField(method_name="get_build_status")
test_status = serializers.SerializerMethodField(method_name="get_test_status")

def get_config(self, obj):
return get_visible_record_config('checkouts', obj.id)

def get_build_status(self, obj):
config = self.get_config(obj)
return config.get('build_status')

def get_test_status(self, obj):
config = self.get_config(obj)
return config.get('test_status')

class Meta(CheckoutsSerializer.Meta):
fields = CheckoutsSerializer.Meta.fields + ['build_status', 'test_status']

0 comments on commit 866fb07

Please sign in to comment.