getTags

suspend fun getTags(module: ZuperModule, searchQuery: String? = null): MasterTagsResult

Get tags for any module with offline-first approach. Returns cached tags immediately, then triggers sync in background if needed.

This method:

  • For top-level modules: Checks if module is enabled in company, gets company_module_uid

  • For local-only modules: Uses enum value directly as moduleUid

  • Returns cached tags immediately if available

  • Triggers background sync if cache is expired or initial sync not completed

  • Uses recursive pagination to download all tags (200 per page)

  • Optionally filters tags by search query (searches tag name only)

Return

MasterTagsResult containing list of ZyncTag models or ZyncError

Parameters

module

The module to get tags for (e.g., ZuperModule.JOB, ZuperModule.GALLERY)

searchQuery

Optional search query to filter tags by name