rbw / aiosnow

Asynchronous ServiceNow Library
MIT License
74 stars 12 forks source link

Add support for Nested schemas #3

Closed rbw closed 4 years ago

rbw commented 4 years ago

Will result in extra queries; previously queried nested schemas should be cached (lru_cache)

rbw commented 4 years ago

Something like:

class AssignmentGroup(Schema):
    sys_id = fields.Text(is_primary=True)
    name = fields.Text()

class Incident(Schema):
    __location__ = "/api/now/table/incident"

    sys_id = fields.Text(is_primary=True)
    number = fields.Text()
    description = fields.Text()
    short_description = fields.Text()
    impact = fields.Numeric(pluck=Joined.DISPLAY_VALUE)
    priority = fields.Numeric(pluck=Joined.DISPLAY_VALUE)
    assignment_group = fields.Nested(AssignmentGroup)
    opened_at = fields.Datetime()
rbw commented 4 years ago

Added schema nesting support in #27

class AssignmentGroup(Schema):
    sys_id = fields.Text(is_primary=True)
    name = fields.Text()

class Incident(Schema):
    __location__ = "/api/now/table/incident"

    sys_id = fields.Text(is_primary=True)
    number = fields.Text()
    description = fields.Text()
    short_description = fields.Text()
    impact = fields.Numeric(pluck=Joined.DISPLAY_VALUE)
    priority = fields.Numeric(pluck=Joined.DISPLAY_VALUE)
    assignment_group = AssignmentGroup
    opened_at = fields.Datetime()