gws.plugin.qfieldcloud.api

Data classes for the QFieldCloud API, based on its swagger.yaml.

Source code: gws.plugin.qfieldcloud.api

Module Contents

class gws.plugin.qfieldcloud.api.AuthProvider

Bases: gws.Data

An authentication provider offered to the client.

id: str

Provider id.

name: str

Provider name for display.

type: str

Provider type.

class gws.plugin.qfieldcloud.api.AuthToken

Bases: gws.Data

Authentication token and user information returned on login.

avatar_url: str

URL of the avatar image.

email: str | None

Email address.

expires_at: datetime.datetime

Expiration time.

first_name: str | None

First name.

full_name: str

Full name.

last_name: str | None

Last name.

token: str

Session token.

type: UserType

User type.

username: str

User name.

class gws.plugin.qfieldcloud.api.CompleteUser

Bases: gws.Data

Full information about the authenticated user.

avatar_url: str

URL of the avatar image.

email: str | None

Email address.

first_name: str | None

First name.

full_name: str

Full name.

last_name: str | None

Last name.

type: int

User type, see UserType.

username: str

User name.

class gws.plugin.qfieldcloud.api.Delta

Bases: gws.Data

A single change, as sent by QField in a delta payload.

clientId: str

Id of the local export on the device.

exportId: str

Id of the package export.

localLayerCrs: str

CRS of the layer in the packaged QGIS project.

localLayerId: str

Id of the layer in the packaged QGIS project.

localLayerName: str

Name of the layer in the packaged QGIS project.

localPk: str

Primary key of the feature in the packaged layer.

method: str

Change type, create, patch or delete.

new: DeltaFeature | None

Feature after the change, None for deletions.

old: DeltaFeature | None

Feature before the change, None for creations.

sourceLayerId: str

Id of the layer in the source QGIS project.

sourcePk: str

Primary key of the feature in the source layer.

uuid: str

Delta id.

class gws.plugin.qfieldcloud.api.DeltaFeature

Bases: gws.Data

Feature state in a delta, before or after the change.

attributes: dict

Feature attributes.

files_sha256: dict | None

Checksums of attached files by file name.

geometry: str | None

Geometry as WKT, only present if the geometry has changed.

class gws.plugin.qfieldcloud.api.DeltasPayload

Bases: gws.Data

A delta payload (delta file) sent by QField.

deltas: list[Delta]

List of deltas.

files: list[dict]

List of files.

id: str

Payload id.

project: str

Project id.

version: str

Delta file format version.

class gws.plugin.qfieldcloud.api.DeltaStatusType

Bases: gws.Enum

Status of a delta.

applied = 'STATUS_APPLIED'
busy = 'STATUS_BUSY'
conflict = 'STATUS_CONFLICT'
error = 'STATUS_ERROR'
ignored = 'STATUS_IGNORED'
not_applied = 'STATUS_NOT_APPLIED'
pending = 'STATUS_PENDING'
unpermitted = 'STATUS_UNPERMITTED'
class gws.plugin.qfieldcloud.api.Job

Bases: gws.Data

A server job, e.g. packaging.

created_at: datetime.datetime

Creation time.

created_by: int

Id of the user who created the job.

finished_at: datetime.datetime | None

Finish time.

id: str

Job id.

project_id: str

Project id.

started_at: datetime.datetime | None

Start time.

status: JobStatusEnum

Job status.

type: TypeEnum

Job type.

updated_at: datetime.datetime

Last update time.

class gws.plugin.qfieldcloud.api.JobStatusEnum

Bases: gws.Enum

Status of a job.

failed = 'failed'
finished = 'finished'
pending = 'pending'
queued = 'queued'
started = 'started'
stopped = 'stopped'
class gws.plugin.qfieldcloud.api.LastStatusEnum

Bases: gws.Enum

Last status of a delta.

applied = 'applied'
conflict = 'conflict'
error = 'error'
ignored = 'ignored'
not_applied = 'not_applied'
pending = 'pending'
started = 'started'
unpermitted = 'unpermitted'
class gws.plugin.qfieldcloud.api.Login

Bases: gws.Data

Login credentials.

email: str | None

Email address.

password: str

Password.

username: str | None

User name.

class gws.plugin.qfieldcloud.api.Organization

Bases: gws.Data

An organization.

avatar_url: str

URL of the avatar image.

email: str | None

Email address.

members: str

Organization members.

membership_is_public: bool

Whether the membership is public.

membership_role: str

Role of the current user in the organization.

membership_role_origin: str

Origin of the membership role.

organization_owner: str

Owner of the organization.

teams: list[str]

Organization teams.

type: int

User type, see UserType.

username: str

Organization name.

class gws.plugin.qfieldcloud.api.OrganizationMember

Bases: gws.Data

A member of an organization.

is_public: bool | None

Whether the membership is public.

member: str

Member user name.

organization: str

Organization name.

role: OrganizationMemberRoleEnum

Member role.

class gws.plugin.qfieldcloud.api.OrganizationMemberRoleEnum

Bases: gws.Enum

Role of an organization member.

admin = 'admin'
member = 'member'
class gws.plugin.qfieldcloud.api.Package

Bases: gws.Data

A project package, as listed for download.

data_last_updated_at: datetime.datetime

Time of the last data update.

files: list[dict]

Package files.

layers: list[dict]

Package layers.

package_id: str

Package id.

packaged_at: datetime.datetime

Packaging time.

status: JobStatusEnum

Packaging status.

class gws.plugin.qfieldcloud.api.PackageFile

Bases: gws.Data

A file in a package.

is_attachment: bool

Whether the file is an attachment.

last_modified: str

Modification time.

md5sum: str

MD5 checksum, in the format QField expects.

name: str

File name, relative to the package.

sha256: str

SHA-256 checksum.

size: int

File size in bytes.

uploaded_at: str

Upload time.

class gws.plugin.qfieldcloud.api.PostJobPayload

Bases: gws.Data

Payload of a job creation request.

project_id: str

Project id.

type: TypeEnum

Job type.

class gws.plugin.qfieldcloud.api.Project

Bases: gws.Data

A QField Cloud project.

can_repackage: bool

Whether the project can be packaged again.

created_at: datetime.datetime

Creation time.

data_last_packaged_at: datetime.datetime | None

Time of the last packaging.

data_last_updated_at: datetime.datetime | None

Time of the last data update.

description: str | None

Project description.

id: str

Project id.

is_attachment_download_on_demand: bool

Whether attachments are downloaded on demand.

Whether the project is featured.

is_public: bool | None

Whether the project is public.

is_shared_datasets_project: bool

Whether this is a shared datasets project.

name: str

Project name.

needs_repackaging: bool

Whether the project must be packaged again.

owner: str

Project owner.

private: bool | None

Whether the project is private.

shared_datasets_project_id: str | None

Id of the shared datasets project.

status: ProjectStatusEnum

Project status.

updated_at: datetime.datetime

Last update time.

user_role: str

Role of the current user in the project.

user_role_origin: str

Origin of the user role.

class gws.plugin.qfieldcloud.api.ProjectCollaborator

Bases: gws.Data

A collaborator of a project.

collaborator: str

Collaborator user name.

created_at: datetime.datetime

Creation time.

created_by: str

User who added the collaborator.

project_id: str

Project id.

role: ProjectCollaboratorRoleEnum | None

Collaborator role.

updated_at: datetime.datetime

Last update time.

updated_by: str

User who last updated the collaborator.

class gws.plugin.qfieldcloud.api.ProjectCollaboratorRoleEnum

Bases: gws.Enum

Role of a project collaborator.

admin = 'admin'
editor = 'editor'
manager = 'manager'
reader = 'reader'
reporter = 'reporter'
class gws.plugin.qfieldcloud.api.ProjectStatusEnum

Bases: gws.Enum

Status of a project.

busy = 'busy'
failed = 'failed'
ok = 'ok'
class gws.plugin.qfieldcloud.api.PublicInfoUser

Bases: gws.Data

Public information about a user.

avatar_url: str

URL of the avatar image.

full_name: str

Full name.

type: int

User type, see UserType.

username: str

User name.

username_display: str

User name for display.

class gws.plugin.qfieldcloud.api.ServerInfo

Bases: gws.Data

Server information.

auth_providers: list[AuthProvider]

Available authentication providers.

signup_url: str

URL of the signup page.

version: str

Server version.

whitelabel: dict

Branding options.

class gws.plugin.qfieldcloud.api.Status

Bases: gws.Data

Server status.

database: str

Database status.

incident_message: str | None

Incident message.

incident_timestamp_utc: str | None

Incident time.

maintenance_end_timestamp_utc: str | None

Maintenance end time.

maintenance_message: str | None

Maintenance message.

maintenance_start_timestamp_utc: str | None

Maintenance start time.

status_page_url: str | None

URL of the status page.

storage: str

Storage status.

version: str

Server version.

class gws.plugin.qfieldcloud.api.Subscription

Bases: gws.Data

Subscription of a user.

active_storage_total_bytes: int

Total storage available, in bytes.

plan_display_name: str

Plan name for display.

plan_storage_threshold_critical_bytes: int

Storage critical threshold, in bytes.

plan_storage_threshold_warning_bytes: int

Storage warning threshold, in bytes.

status: str

Subscription status.

storage_used_bytes: int

Storage used, in bytes.

class gws.plugin.qfieldcloud.api.Team

Bases: gws.Data

A team in an organization.

members: list[str]

Team members.

organization: str

Organization name.

team: str

Team name.

class gws.plugin.qfieldcloud.api.TeamMember

Bases: gws.Data

A member of a team.

member: str

Member user name.

class gws.plugin.qfieldcloud.api.TypeEnum

Bases: gws.Enum

Type of a job.

delta_apply = 'delta_apply'
package = 'package'
process_projectfile = 'process_projectfile'
class gws.plugin.qfieldcloud.api.UserType

Bases: gws.Enum

Type of a user account.

organization = 2
person = 1
team = 3