slackline/file

This module is generated by gleam run -m slackline_codegen/generate. Do not edit it by hand.

Files shared in Slack: uploads, snippets, posts, canvases, lists, remote files and emails. See https://docs.slack.dev/reference/objects/file-object.

Almost every field is optional: the fields present depend on the file’s type and on the API that returned it.

Types

An email address on an email file.

pub type EmailAddress {
  EmailAddress(
    address: option.Option(String),
    name: option.Option(String),
    original: option.Option(String),
    slack_user_id: option.Option(String),
  )
}

Constructors

Where an external file lives.

pub type ExternalFileType {
  NotExternal
  Gdrive
  Dropbox
  Box
  Onedrive
  App
  Undefined
  Salesforce
  UnknownExternalFileType(String)
}

Constructors

  • NotExternal

    Not an external file.

  • Gdrive

    gdrive

  • Dropbox

    dropbox

  • Box

    box

  • Onedrive

    onedrive

  • App

    app

  • Undefined

    undefined

  • Salesforce

    salesforce

  • UnknownExternalFileType(String)

    A value that this version of slackline does not know.

A file object contains information about a file shared with a workspace.

pub type File {
  File(
    id: option.Option(String),
    created: option.Option(Int),
    timestamp: option.Option(Int),
    name: option.Option(String),
    title: option.Option(String),
    mimetype: option.Option(String),
    filetype: option.Option(String),
    pretty_type: option.Option(String),
    user: option.Option(String),
    user_team: option.Option(String),
    source_team: option.Option(String),
    bot_id: option.Option(String),
    bot_user_id: option.Option(String),
    app_id: option.Option(String),
    app_name: option.Option(String),
    editable: option.Option(Bool),
    size: option.Option(Int),
    mode: option.Option(FileMode),
    subtype: option.Option(String),
    state: option.Option(String),
    is_external: option.Option(Bool),
    external_type: option.Option(ExternalFileType),
    external_id: option.Option(String),
    external_url: option.Option(String),
    is_public: option.Option(Bool),
    public_url_shared: option.Option(Bool),
    display_as_bot: option.Option(Bool),
    username: option.Option(String),
    url_private: option.Option(String),
    url_private_download: option.Option(String),
    permalink: option.Option(String),
    permalink_public: option.Option(String),
    edit_link: option.Option(String),
    updated: option.Option(Int),
    channels: option.Option(List(String)),
    groups: option.Option(List(String)),
    ims: option.Option(List(String)),
    shares: option.Option(FileShares),
    has_more_shares: option.Option(Bool),
    skipped_shares: option.Option(Bool),
    initial_comment: option.Option(FileComment),
    comments_count: option.Option(Int),
    num_stars: option.Option(Int),
    is_starred: option.Option(Bool),
    pinned_to: option.Option(List(String)),
    reactions: option.Option(List(common.Reaction)),
    has_rich_preview: option.Option(Bool),
    alt_txt: option.Option(String),
    ai_generated: option.Option(Bool),
    media_display_type: option.Option(String),
    preview: option.Option(String),
    preview_highlight: option.Option(String),
    lines: option.Option(Int),
    lines_more: option.Option(Int),
    preview_is_truncated: option.Option(Bool),
    preview_plain_text: option.Option(String),
    image_exif_rotation: option.Option(Int),
    original_w: option.Option(Int),
    original_h: option.Option(Int),
    thumb_64: option.Option(String),
    thumb_80: option.Option(String),
    thumb_160: option.Option(String),
    thumb_360: option.Option(String),
    thumb_360_w: option.Option(Int),
    thumb_360_h: option.Option(Int),
    thumb_360_gif: option.Option(String),
    thumb_480: option.Option(String),
    thumb_480_w: option.Option(Int),
    thumb_480_h: option.Option(Int),
    thumb_480_gif: option.Option(String),
    thumb_720: option.Option(String),
    thumb_720_w: option.Option(Int),
    thumb_720_h: option.Option(Int),
    thumb_800: option.Option(String),
    thumb_800_w: option.Option(Int),
    thumb_800_h: option.Option(Int),
    thumb_960: option.Option(String),
    thumb_960_w: option.Option(Int),
    thumb_960_h: option.Option(Int),
    thumb_1024: option.Option(String),
    thumb_1024_w: option.Option(Int),
    thumb_1024_h: option.Option(Int),
    thumb_pdf: option.Option(String),
    thumb_pdf_w: option.Option(Int),
    thumb_pdf_h: option.Option(Int),
    thumb_tiny: option.Option(String),
    thumb_video: option.Option(String),
    thumb_video_w: option.Option(Int),
    thumb_video_h: option.Option(Int),
    thumb_video_ts: option.Option(String),
    deanimate: option.Option(String),
    deanimate_gif: option.Option(String),
    pjpeg: option.Option(String),
    converted_pdf: option.Option(String),
    url_static_preview: option.Option(String),
    access: option.Option(String),
    file_access: option.Option(FileAccess),
    dm_mpdm_users_with_file_access: option.Option(
      List(FileAccessUser),
    ),
    external_workspaces_with_read_access: option.Option(
      List(String),
    ),
    is_restricted_sharing_enabled: option.Option(Bool),
    last_read: option.Option(Int),
    most_recent_access_request_ts: option.Option(Int),
    org_or_workspace_access: option.Option(String),
    private_channels_with_file_access_count: option.Option(Int),
    private_external_workspaces_with_read_access_count: option.Option(
      Int,
    ),
    restriction_type: option.Option(Int),
    teams_shared_with: option.Option(List(String)),
    ai_skill_example_prompts: option.Option(List(String)),
    ai_skill_library_count: option.Option(Int),
    ai_skill_usage_count: option.Option(Int),
    ai_summary: option.Option(value.Value),
    excluded_from_slack_ai: option.Option(Bool),
    is_ai_suggested: option.Option(Bool),
    is_skill: option.Option(Bool),
    skill_description: option.Option(String),
    aac: option.Option(String),
    acc: option.Option(String),
    audio_wave_samples: option.Option(List(Int)),
    duration_ms: option.Option(Int),
    hls: option.Option(String),
    hls_embed: option.Option(String),
    hls_preview: option.Option(String),
    is_transcription_region_supported: option.Option(Bool),
    media_progress: option.Option(value.Value),
    mp4: option.Option(String),
    mp4_low: option.Option(String),
    vtt: option.Option(String),
    canvas_agent_creator_id: option.Option(String),
    canvas_creator_id: option.Option(String),
    canvas_default_agent_id: option.Option(String),
    canvas_metadata: option.Option(value.Value),
    canvas_printing_enabled: option.Option(Bool),
    canvas_readtime: option.Option(Float),
    is_channel_space: option.Option(Bool),
    linked_channel_id: option.Option(String),
    source_canvas_id: option.Option(String),
    team_pref_version_history_enabled: option.Option(Bool),
    title_blocks: option.Option(List(value.Value)),
    canvas_template_mode: option.Option(String),
    is_global_template: option.Option(Bool),
    is_org_visible: option.Option(Bool),
    template_conversion_ts: option.Option(Int),
    template_converter_id: option.Option(String),
    template_description: option.Option(String),
    template_icon: option.Option(String),
    template_locale: option.Option(String),
    template_name: option.Option(String),
    template_title: option.Option(String),
    can_toggle_canvas_lock: option.Option(Bool),
    edit_timestamp: option.Option(Int),
    editor: option.Option(String),
    editors: option.Option(List(String)),
    editors_count: option.Option(Int),
    is_locked: option.Option(Bool),
    last_editor: option.Option(String),
    non_owner_editable: option.Option(Bool),
    show_badge: option.Option(Bool),
    attachments: option.Option(List(value.Value)),
    cc: option.Option(List(EmailAddress)),
    email_security: option.Option(value.Value),
    from: option.Option(List(EmailAddress)),
    headers: option.Option(value.Value),
    inline_attachment_count: option.Option(Int),
    meeting_metadata: option.Option(value.Value),
    office_pdf: option.Option(String),
    original_attachment_count: option.Option(Int),
    sent_to_self: option.Option(Bool),
    simplified_html: option.Option(String),
    subject: option.Option(String),
    to: option.Option(List(EmailAddress)),
    date_delete: option.Option(Int),
    is_archived: option.Option(Bool),
    is_deleted: option.Option(Bool),
    is_hidden_by_limit: option.Option(Int),
    is_legally_held: option.Option(Bool),
    is_tombstoned: option.Option(Bool),
    migrated_id: option.Option(String),
    update_notification: option.Option(Int),
    list_csv_download_url: option.Option(String),
    list_limits: option.Option(value.Value),
    list_metadata: option.Option(value.Value),
    list_records: option.Option(List(value.Value)),
    list_template_localization_status: option.Option(String),
    list_template_mode: option.Option(String),
    list_template_type: option.Option(String),
    todos: option.Option(value.Value),
    actions: option.Option(List(FileAction)),
    favorites: option.Option(List(FileFavorite)),
    pinned_info: option.Option(value.Value),
    saved: option.Option(value.Value),
    alt_text_highlights: option.Option(String),
    annotation_count: option.Option(Int),
    contents: option.Option(String),
    contents_extracts: option.Option(List(String)),
    contents_highlight: option.Option(String),
    file_contents_hl: option.Option(value.Value),
    formatted: option.Option(String),
    has_more: option.Option(Bool),
    path_to_root: option.Option(List(String)),
    plain_text: option.Option(String),
    huddle_date_end: option.Option(Int),
    huddle_date_start: option.Option(Int),
    huddle_participant_ids: option.Option(List(String)),
    huddle_summary_id: option.Option(String),
    huddle_transcript_file_id: option.Option(String),
    huddle_transcription: option.Option(value.Value),
    is_huddle_canvas: option.Option(Bool),
    transcription: option.Option(value.Value),
    transcription_hl: option.Option(value.Value),
    app_provides_file_work_objects: option.Option(Bool),
    embedded_file_ids: option.Option(List(String)),
    entity_id: option.Option(String),
    full_size_preview_supported: option.Option(Bool),
    is_salesforce_file: option.Option(Bool),
    product_icon: option.Option(value.Value),
    quip_thread_id: option.Option(String),
  )
}

Constructors

Whether the file’s details are visible to the app.

pub type FileAccess {
  Visible
  CheckFileInfo
  UnknownFileAccess(String)
}

Constructors

  • Visible

    visible

  • CheckFileInfo

    Call files.info to see the file’s metadata.

  • UnknownFileAccess(String)

    A value that this version of slackline does not know.

A DM or MPDM member with access to a file.

pub type FileAccessUser {
  FileAccessUser(
    user_id: option.Option(String),
    access: option.Option(String),
  )
}

Constructors

An action taken on a file.

pub type FileAction {
  FileAction(
    ts: option.Option(String),
    event_type: option.Option(String),
  )
}

Constructors

A comment on a file.

pub type FileComment {
  FileComment(
    id: String,
    created: option.Option(Int),
    timestamp: option.Option(Int),
    user: option.Option(String),
    comment: option.Option(String),
    is_intro: option.Option(Bool),
    reactions: option.Option(List(common.Reaction)),
  )
}

Constructors

A favorites collection containing a file.

pub type FileFavorite {
  FileFavorite(
    collection_id: option.Option(String),
    collection_name: option.Option(String),
    position: option.Option(value.Value),
  )
}

Constructors

How a file is stored.

pub type FileMode {
  Hosted
  External
  Snippet
  Post
  FileAccess
  HiddenByLimit
  ListFile
  Quip
  Email
  Tombstone
  UnknownFileMode(String)
}

Constructors

  • Hosted

    hosted

  • External

    external

  • Snippet

    snippet

  • Post

    post

  • FileAccess

    Slack Connect file whose details must be fetched with files.info.

  • HiddenByLimit

    hidden_by_limit

  • ListFile

    list

  • Quip

    A canvas.

  • Email

    An email forwarded into Slack.

  • Tombstone

    A deleted file that still has a placeholder in a conversation.

  • UnknownFileMode(String)

    A value that this version of slackline does not know.

One message that shared a file into a channel.

pub type FileShare {
  FileShare(
    ts: option.Option(String),
    thread_ts: option.Option(String),
    channel_name: option.Option(String),
    team_id: option.Option(String),
    share_user_id: option.Option(String),
    source: option.Option(String),
    reply_users: option.Option(List(String)),
    reply_users_count: option.Option(Int),
    reply_count: option.Option(Int),
    latest_reply: option.Option(String),
  )
}

Constructors

Where a file has been shared, keyed by channel ID.

pub type FileShares {
  FileShares(
    public: option.Option(dict.Dict(String, List(FileShare))),
    private: option.Option(dict.Dict(String, List(FileShare))),
  )
}

Constructors

Values

pub fn email_address_decoder() -> decode.Decoder(EmailAddress)

Decodes EmailAddress from json.

pub fn email_address_to_json(it: EmailAddress) -> json.Json

Encodes EmailAddress as json.

pub fn external_file_type_decoder() -> decode.Decoder(
  ExternalFileType,
)

Decodes ExternalFileType from a json string.

pub fn external_file_type_from_string(
  string: String,
) -> ExternalFileType

Parses ExternalFileType from its json string.

pub fn external_file_type_to_json(
  it: ExternalFileType,
) -> json.Json

Encodes ExternalFileType as a json string.

pub fn external_file_type_to_string(
  it: ExternalFileType,
) -> String

The json string of ExternalFileType.

pub fn file_access_decoder() -> decode.Decoder(FileAccess)

Decodes FileAccess from a json string.

pub fn file_access_from_string(string: String) -> FileAccess

Parses FileAccess from its json string.

pub fn file_access_to_json(it: FileAccess) -> json.Json

Encodes FileAccess as a json string.

pub fn file_access_to_string(it: FileAccess) -> String

The json string of FileAccess.

pub fn file_access_user_decoder() -> decode.Decoder(
  FileAccessUser,
)

Decodes FileAccessUser from json.

pub fn file_access_user_to_json(it: FileAccessUser) -> json.Json

Encodes FileAccessUser as json.

pub fn file_action_decoder() -> decode.Decoder(FileAction)

Decodes FileAction from json.

pub fn file_action_to_json(it: FileAction) -> json.Json

Encodes FileAction as json.

pub fn file_comment_decoder() -> decode.Decoder(FileComment)

Decodes FileComment from json.

pub fn file_comment_to_json(it: FileComment) -> json.Json

Encodes FileComment as json.

pub fn file_decoder() -> decode.Decoder(File)

Decodes File from json.

pub fn file_favorite_decoder() -> decode.Decoder(FileFavorite)

Decodes FileFavorite from json.

pub fn file_favorite_to_json(it: FileFavorite) -> json.Json

Encodes FileFavorite as json.

pub fn file_mode_decoder() -> decode.Decoder(FileMode)

Decodes FileMode from a json string.

pub fn file_mode_from_string(string: String) -> FileMode

Parses FileMode from its json string.

pub fn file_mode_to_json(it: FileMode) -> json.Json

Encodes FileMode as a json string.

pub fn file_mode_to_string(it: FileMode) -> String

The json string of FileMode.

pub fn file_share_decoder() -> decode.Decoder(FileShare)

Decodes FileShare from json.

pub fn file_share_to_json(it: FileShare) -> json.Json

Encodes FileShare as json.

pub fn file_shares_decoder() -> decode.Decoder(FileShares)

Decodes FileShares from json.

pub fn file_shares_to_json(it: FileShares) -> json.Json

Encodes FileShares as json.

pub fn file_to_json(it: File) -> json.Json

Encodes File as json.

✨ Search Document