Staff¶
qgendapy.resources.staff
¶
StaffResource(client)
¶
Bases: BaseResource
Synchronous staff member endpoints.
Source code in src/qgendapy/resources/_base.py
list(*, odata=None, expand=None, includes=None)
¶
List staff members.
expand is a convenience shortcut for OData().expand(...) —
pass a string (expand="Tags") or a list of nav properties to
request expanded entities. Valid OData v4 nav names on
StaffMemberDetailDto include Tags, Skillset (singular),
and Profiles.
includes is QGenda's own related-entity selector (separate from
OData $expand). For schedule-style endpoints it returns rich
nested data even under non-admin scope; on /staffmember its
behavior should be verified per-deployment.
Source code in src/qgendapy/resources/staff.py
create(*, data)
¶
get(staff_key, *, odata=None, expand=None, includes=None)
¶
Source code in src/qgendapy/resources/staff.py
update(staff_key, *, data)
¶
locations(staff_key)
¶
tags(staff_key)
¶
Return tags for a single staff member.
QGenda's API does not expose GET /staffmember/{key}/tag (it
returns 405). This method instead issues
GET /staffmember?$filter=StaffKey eq '<key>'&$expand=Tags and
unwraps the Tags navigation collection.
Returns an empty list under non-admin scope. The Tags
navigation property exists on QGenda's DTO but only populates for
admin-scoped service accounts. If you need tag/profile catalogs,
provision the API user with admin scope and call
client.tag.list().
Source code in src/qgendapy/resources/staff.py
add_tag(staff_key, *, data)
¶
update_location_tag(staff_key, location_key, *, data)
¶
skillsets(staff_key)
¶
Return skillsets for a single staff member.
QGenda's API does not expose GET /staffmember/{key}/skillset (it
returns 405). This method instead issues
GET /staffmember?$filter=StaffKey eq '<key>'&$expand=Skillset —
note the singular Skillset nav property — and unwraps the
navigation collection.
Returns an empty list under non-admin scope. Like Tags, the
Skillset navigation populates only for admin-scoped accounts.
Source code in src/qgendapy/resources/staff.py
update_skillset(staff_key, task_key, *, data)
¶
delete_skillset(staff_key, task_key)
¶
profiles(staff_key)
¶
update_profile(staff_key, profile_key, *, data)
¶
pay_modifiers(staff_key)
¶
create_pay_modifier(staff_key, *, data)
¶
update_pay_modifier(staff_key, pay_modifier_key, *, data)
¶
Source code in src/qgendapy/resources/staff.py
delete_pay_modifier(staff_key, pay_modifier_key)
¶
badge_id(staff_key)
¶
request_limits(staff_key)
¶
AsyncStaffResource(client)
¶
Bases: AsyncBaseResource
Asynchronous staff member endpoints.
Source code in src/qgendapy/resources/_base.py
list(*, odata=None, expand=None, includes=None)
async
¶
Source code in src/qgendapy/resources/staff.py
create(*, data)
async
¶
get(staff_key, *, odata=None, expand=None, includes=None)
async
¶
Source code in src/qgendapy/resources/staff.py
update(staff_key, *, data)
async
¶
locations(staff_key)
async
¶
tags(staff_key)
async
¶
Async version of :meth:StaffResource.tags.
Source code in src/qgendapy/resources/staff.py
add_tag(staff_key, *, data)
async
¶
update_location_tag(staff_key, location_key, *, data)
async
¶
skillsets(staff_key)
async
¶
Async version of :meth:StaffResource.skillsets.