Event Channels

An EventChannel is a named grouping of EventSubscriptions.

List Event Channels

SDK Method

event_channel.List()

Return Values

Returns a *event_channel.Iter and an error. Range over All() to receive files_sdk.EventChannel values and errors. Check each loop error before using its resource. Next() and Err() remain supported.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

Additional Arguments

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_channel "github.com/Files-com/files-sdk-go/v3/eventchannel"
)

eventChannelIterator, err := event_channel.List(files_sdk.EventChannelListParams{})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

for eventChannel, err := range eventChannelIterator.All() {
    if err != nil {
        var respErr files_sdk.ResponseError
        if errors.As(err, &respErr) {
            fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
        } else {
            fmt.Printf("Request failed: %v\n", err)
        }
        return
    }
    fmt.Println(eventChannel)
}

Show Event Channel

SDK Method

event_channel.Find()

Return Values

Returns a files_sdk.EventChannel value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventChannelFindParams Fields

FieldDescription
Id
int64
Required
Event Channel ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_channel "github.com/Files-com/files-sdk-go/v3/eventchannel"
)

eventChannel, err := event_channel.Find(files_sdk.EventChannelFindParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventChannel)

Create Event Channel

SDK Method

event_channel.Create()

Return Values

Returns a files_sdk.EventChannel value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventChannelCreateParams Fields

FieldDefaultDescription
Name
string
Required
Event Channel name.
WorkspaceId
int64
0Workspace ID. 0 means the default workspace.
Description
string
Event Channel description.
Enabled
boolean
trueWhether this Event Channel can dispatch events.
DefaultChannel
boolean
falseWhether this Event Channel is the default destination for newly published events.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_channel "github.com/Files-com/files-sdk-go/v3/eventchannel"
)

eventChannel, err := event_channel.Create(files_sdk.EventChannelCreateParams{Name: "example"})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventChannel)

Update Event Channel

SDK Method

event_channel.Update()

Return Values

Returns a files_sdk.EventChannel value and an error.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventChannelUpdateParams Fields

FieldDescription
Id
int64
Required
Event Channel ID.
Name
string
Event Channel name.
WorkspaceId
int64
Workspace ID. 0 means the default workspace.
Description
string
Event Channel description.
Enabled
boolean
Whether this Event Channel can dispatch events.
DefaultChannel
boolean
Whether this Event Channel is the default destination for newly published events.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_channel "github.com/Files-com/files-sdk-go/v3/eventchannel"
)

eventChannel, err := event_channel.Update(files_sdk.EventChannelUpdateParams{
  Id: 1,
  Name: "example",
})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}
fmt.Println(eventChannel)

Delete Event Channel

SDK Method

event_channel.Delete()

Return Values

Returns an error, or nil on success.

Authorization Requirement

Requires a Site-Wide API key, or a User API key or session from a Site Administrator or a Workspace Administrator for the relevant workspace.

EventChannelDeleteParams Fields

FieldDescription
Id
int64
Required
Event Channel ID.

Example Request

import (
    "fmt"
    "errors"

    files_sdk "github.com/Files-com/files-sdk-go/v3"
    event_channel "github.com/Files-com/files-sdk-go/v3/eventchannel"
)

err := event_channel.Delete(files_sdk.EventChannelDeleteParams{Id: 1})
if err != nil {
    var respErr files_sdk.ResponseError
    if errors.As(err, &respErr) {
        fmt.Printf("API error (%s): %s\n", respErr.Type, respErr.ErrorMessage)
    } else {
        fmt.Printf("Request failed: %v\n", err)
    }
    return
}

The EventChannel Object

Some of the methods above return a EventChannel object. The attributes of this object are listed below.

AttributeDescription
Id
int64
Event Channel ID
Name
string
Event Channel name.
WorkspaceId
int64
Workspace ID. 0 means the default workspace.
Description
string
Event Channel description.
Enabled
boolean
Whether this Event Channel can dispatch events.
DefaultChannel
boolean
Whether this Event Channel is the default destination for newly published events.
CreatedAt
date-time
Event Channel create date/time.
UpdatedAt
date-time
Event Channel update date/time.