Projects: don't respond with unnecessary declarative field

If the project isn't declarative, who cares about it in the response? After
setting the `declfile` to an empty string, everything related to declarative-
ness is wiped out, anyways.
This commit is contained in:
Cole Helbling 2021-05-24 15:22:25 -07:00
parent 3dc745de68
commit 45ced33ab6
No known key found for this signature in database
GPG key ID: B37E0F2371016A4C
2 changed files with 9 additions and 15 deletions

View file

@ -263,15 +263,19 @@ sub as_json {
"enabled" => $self->get_column("enabled") ? JSON::true : JSON::false, "enabled" => $self->get_column("enabled") ? JSON::true : JSON::false,
"hidden" => $self->get_column("hidden") ? JSON::true : JSON::false, "hidden" => $self->get_column("hidden") ? JSON::true : JSON::false,
"jobsets" => [ map { $_->name } $self->jobsets ]
);
my %decl = (
"declarative" => { "declarative" => {
"file" => $self->get_column("declfile") // "", "file" => $self->get_column("declfile") // "",
"type" => $self->get_column("decltype") // "", "type" => $self->get_column("decltype") // "",
"value" => $self->get_column("declvalue") // "" "value" => $self->get_column("declvalue") // ""
}, }
"jobsets" => [ map { $_->name } $self->jobsets ]
); );
%json = (%json, %decl) if !($decl{"declarative"}->{"file"} eq "");
return \%json; return \%json;
} }

View file

@ -49,12 +49,7 @@ subtest "Read project 'tests'" => sub {
homepage => "", homepage => "",
jobsets => [], jobsets => [],
name => "tests", name => "tests",
owner => "root", owner => "root"
declarative => {
file => "",
type => "",
value => ""
}
}); });
}; };
@ -136,12 +131,7 @@ subtest "Transitioning from declarative project to normal" => sub {
homepage => "", homepage => "",
jobsets => [], jobsets => [],
name => "tests", name => "tests",
owner => "root", owner => "root"
declarative => {
file => "",
type => "",
value => ""
}
}); });
}; };
}; };