add facts recent endpoints

* Hang most recent listing of facts per-host off of /hosts/n/
This commit is contained in:
Chris Meyers
2017-04-04 17:09:07 -04:00
parent f5d7d0bce5
commit f7fb541fe2
6 changed files with 20 additions and 2 deletions
+6
View File
@@ -2264,7 +2264,12 @@ class RoleAccess(BaseAccess):
return False
class FactRecentAccess(BaseAccess):
model = FactRecent
def get_queryset(self):
return FactRecent.objects.distinct()
register_access(User, UserAccess)
@@ -2299,3 +2304,4 @@ register_access(WorkflowJobTemplateNode, WorkflowJobTemplateNodeAccess)
register_access(WorkflowJobNode, WorkflowJobNodeAccess)
register_access(WorkflowJobTemplate, WorkflowJobTemplateAccess)
register_access(WorkflowJob, WorkflowJobAccess)
register_access(FactRecent, FactRecentAccess)
+1
View File
@@ -46,6 +46,7 @@ class JSONField(upstream_JSONField):
return {}
return super(JSONField, self).from_db_value(value, expression, connection, context)
class JSONBField(upstream_JSONField):
def get_db_prep_value(self, value, connection, prepared=False):
if connection.vendor == 'sqlite':
+2 -2
View File
@@ -4,12 +4,11 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from jsonbfield.fields import JSONField
from awx.main.fields import JSONBField
__all__ = ('Fact', 'FactRecent')
class FactRecent(models.Model):
host = models.ForeignKey(
'Host',
@@ -97,3 +96,4 @@ class Fact(models.Model):
fact_obj = Fact.objects.create(host_id=host_id, module=module, timestamp=timestamp, facts=facts)
fact_obj.save()
return fact_obj