publish list of services
This commit is contained in:
parent
dd14cccf48
commit
7cfae74b66
|
@ -38,6 +38,13 @@ class ServiceBase(models.Model):
|
|||
two_minutes = datetime.timedelta(minutes=2)
|
||||
return (now() - self.last_operational_check_timestamp < two_minutes)
|
||||
|
||||
def as_dict(self):
|
||||
as_dict = dict([(x, y) for (x, y) in self.__dict__.items()
|
||||
if type(y) in (int, str, unicode)])
|
||||
as_dict['service-id'] = self.Extra.service_id
|
||||
return as_dict
|
||||
|
||||
|
||||
|
||||
class IdentityProvider(ServiceBase):
|
||||
class Meta:
|
||||
|
|
|
@ -8,4 +8,6 @@ urlpatterns = patterns('',
|
|||
operational_check_view, name='operational-check'),
|
||||
url(r'^new-idp$', IdentityProviderCreateView.as_view()),
|
||||
url(r'^new-wcs$', WebFormsCreateView.as_view()),
|
||||
url(r'^installed_services.json$', installed_services_json_view),
|
||||
url(r'^operational_services.json$', operational_services_json_view),
|
||||
)
|
||||
|
|
|
@ -69,3 +69,22 @@ def operational_check_view(request, service, slug, **kwargs):
|
|||
response = HttpResponse(content_type='application/json')
|
||||
json.dump({'operational': object.is_operational()}, response)
|
||||
return response
|
||||
|
||||
|
||||
def installed_services_json_view(request, **kwargs):
|
||||
installed_services = []
|
||||
for available_service in AVAILABLE_SERVICES:
|
||||
installed_services.extend(available_service.objects.all())
|
||||
response = HttpResponse(content_type='application/json')
|
||||
json.dump([x.as_dict() for x in installed_services], response)
|
||||
return response
|
||||
|
||||
|
||||
def operational_services_json_view(request, **kwargs):
|
||||
installed_services = []
|
||||
for available_service in AVAILABLE_SERVICES:
|
||||
installed_services.extend(available_service.objects.all())
|
||||
response = HttpResponse(content_type='application/json')
|
||||
json.dump([x.as_dict() for x in installed_services if x.is_operational()],
|
||||
response)
|
||||
return response
|
||||
|
|
Loading…
Reference in New Issue