Pular para o conteúdo principal
Workspaces são uma forma de organizar suas aplicações e colaborar com membros da equipe. Você pode criar, recuperar, listar e deletar workspaces usando a classe Client.

Criando um workspace

client.create_workspace retorna um objeto Workspace.
import squarecloud as square

client = square.Client(api_key='API_KEY')

async def example():
    workspace = await client.create_workspace(name='Meu Workspace')
    
    print(workspace.id)              # Identificador do workspace
    print(workspace.name)             # 'Meu Workspace'
    print(workspace.owner)            # Informações do proprietário
    print(workspace.members)          # Lista de membros do workspace
    print(workspace.applications)     # Lista de aplicações no workspace
    print(workspace.createdAt)        # Data de criação do workspace

Recuperando um workspace

client.get_workspace retorna um objeto Workspace.
import squarecloud as square

client = square.Client(api_key='API_KEY')

async def example():
    workspace = await client.get_workspace(workspace_id='WORKSPACE_ID')
    
    print(workspace.id)          # Identificador do workspace
    print(workspace.name)         # Nome do workspace
    print(workspace.owner)        # Informações do proprietário
    print(workspace.members)      # Lista de membros do workspace
    print(workspace.applications) # Lista de aplicações no workspace

Listando todos os workspaces

client.all_workspaces retorna uma lista de objetos Workspace.
import squarecloud as square

client = square.Client(api_key='API_KEY')

async def example():
    workspaces = await client.all_workspaces()
    
    for workspace in workspaces:
        print(f"Workspace: {workspace.name} (ID: {workspace.id})")
        print(f"  Proprietário: {workspace.owner.name}")
        print(f"  Membros: {len(workspace.members)}")
        print(f"  Aplicações: {len(workspace.applications)}")

Deletando um workspace

client.delete_workspace retorna um objeto Response.
import squarecloud as square

client = square.Client(api_key='API_KEY')

async def example():
    response = await client.delete_workspace(workspace_id='WORKSPACE_ID')
    print(f"Workspace deletado com sucesso: {response.status}")

Saindo de um workspace

Se você é membro de um workspace mas não é o proprietário, você pode sair do workspace usando client.leave_workspace, que retorna um objeto Response.
import squarecloud as square

client = square.Client(api_key='API_KEY')

async def example():
    response = await client.leave_workspace(workspace_id='WORKSPACE_ID')
    print(f"Saiu do workspace com sucesso: {response.status}")

Estrutura de dados do Workspace

O objeto Workspace contém as seguintes informações:
PropriedadeTipoDescrição
idstrIdentificador único do workspace
namestrNome do workspace
ownerMemberInformações do proprietário do workspace
memberslist[Member]Lista de membros do workspace
applicationslist[Application]Aplicações associadas ao workspace
createdAtstrData de criação do workspace (ISO 8601)

Estrutura de dados do Membro

Cada membro em um workspace possui a seguinte estrutura:
PropriedadeTipoDescrição
idstrIdentificador único do membro
namestrNome de exibição do membro
groupstrFunção ou grupo do membro no workspace