Voedger Internals
  • Introduction
  • đź’ˇConcepts
    • Event Sourcing & CQRS
    • Editions (deprecated)
      • Community Edition
      • Standart Edition
      • Standart Edition (v1)
  • 🚀Server
    • Overview (Server)
    • Design
      • Query Processor
      • API Gateway implementation
      • N1 Cluster
      • N3 Cluster
      • N5 Cluster
      • Orchestration
      • Sequences
      • Packages overview
        • sys
        • registry
    • Features
      • API Gateway
        • API v2
          • Conventions
            • API URL
            • HTTP methods and processors
            • Naming conventions
            • Query constraints
            • Error handling
          • Documents and records
            • Create document or record
            • Update document or record
            • Deactivate document or record
            • Read document or record
            • Read from CDoc collection
          • Queries
            • Read from query
          • Views
            • Read from view
          • Commands
            • Execute command
          • BLOBs
            • Create BLOB
            • Read BLOB
          • Temporary BLOBs
            • Create temporary BLOB
            • Read temporary BLOB
          • Schemas
            • List app workspaces
            • List workspace roles
            • Read workspace role schema
        • API v1
          • API Conventions
          • BLOBs
      • Admin Endpoint
      • Clusters
        • Bootstrap
        • Monitoring
        • Secure prometheus and grafana
        • Alerting
        • Maintenance
          • SELECT, UPDATE
      • VVMs
      • Applications
        • Deploy Application
        • Sidecar Applications
      • AuthNZ
        • Issue Principal Token
        • Refresh Principal Token
        • Enrich Principal Token
        • ACL Rules
        • Global Roles
      • Data types
        • Core types
        • Small integers
        • Uniques With Multiple Fields
        • Verifiable Fields
      • Workspaces
        • Create Workspace
        • Deactivate Workspace
        • See also (Workspaces)
      • Invites
        • Invite to Workspace
        • Join Workspace
        • Leave Workspace
        • Cancel sent Invite
        • Cancel accepted Invite
        • Update Invite roles
      • Users
        • Create a new user
        • Change user password
        • Send Email
        • Reset password
        • Change Email
      • Notifications
        • Heartbeats
      • Devices
        • Create a new device
        • Join device to workspace
      • Jobs
      • DMBS Drivers
        • AmazonDB Driver
      • Frozen
        • Ephemeral Storage
        • Storage Extensions
  • 🛠️Framework
    • Overview (Framework)
    • Features
      • vpm
      • vpm init
      • vpm tidy
      • vpm baseline
      • vpm orm
      • vpm build
      • API for testing
  • Development
    • Requirements Management
    • Requirements Management (Overview)
Powered by GitBook
On this page
  • Motivation
  • Functional design
  • Headers
  • Body
  • Parameters
  • Result
  • Perimssions
  • Technical design
  • Components

Was this helpful?

Edit on GitHub
  1. 🚀Server
  2. Features
  3. Devices

Join device to workspace

PreviousCreate a new deviceNextJobs

Last updated 3 days ago

Was this helpful?

Motivation

Joins a device to a workspace. The device must be before it could be joined to a workspace.

Functional design

  • POST /api/v2/apps/{owner}/{app}/workspaces/{wsid}/commands/sys.JoinDevice

Headers

Key
Value

Authorization

Bearer {PrincipalToken}

Content-Type

application/json

Body

{
  "args": {
    "ProfileWSID": {profile-wsid},
    "Roles": "{roles}"
  }
}

Parameters

Parameter
Type
Description

Query

owner

string

name of a user who owns the application

app

string

name of an application

wsid

int64

the ID of workspace

Headers

PrincipalToken

string

Body

profile-wsid

int64

roles

string

comma-separated roles to assign to device within the workspace

Result

Code
Description
Body

200

OK

Device joined

400

Bad Request

401

Unauthorized

403

Forbidden

429

Too Many Requests

500

Internal Server Error

503

Service Unavailable

Perimssions

  • By default granted to sys.WorkspaceOwner

Technical design

Components

  • pkg/sys

  • ~cmp.sysJoinDevice~âť“ command which joins a device to a workspace

    • Roles varchar(1024) NOT NULL

    • ProfileWSID int64 NOT NULL

    • Grant execution sys.JoinDevice to sys.WorkspaceOwner role

  • pkg/sys/it

    • ~it.TestJoinDevice~âť“: integration test for joining device to workspace

Token returned by

profile WSID of the

created
login
registered device
error object
error object
error object
error object
error object
error object