Skip to content

Commit

Permalink
simplify type definitions to make them generatable in the future
Browse files Browse the repository at this point in the history
  • Loading branch information
aoberoi committed Jul 26, 2019
1 parent 135b0b9 commit 0295088
Showing 1 changed file with 24 additions and 18 deletions.
42 changes: 24 additions & 18 deletions packages/web-api/src/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,13 @@ export interface FilesCommentsDeleteArguments extends WebAPICallOptions, TokenOv
}

// either file or external_id is required
interface FilesRemoteInfoCommonArguments extends WebAPICallOptions, TokenOverridable { channel?: string; }
type FilesRemoteInfoArgumentsFileRequired = FilesRemoteInfoCommonArguments & { file: string };
type FilesRemoteInfoArgumentsExternalIdRequired = FilesRemoteInfoCommonArguments & { external_id: string };
export type FilesRemoteInfoArguments = FilesRemoteInfoArgumentsFileRequired | FilesRemoteInfoArgumentsExternalIdRequired;
export interface FilesRemoteInfoArguments extends WebAPICallOptions, TokenOverridable {
channel?: string;

// either one of the file or external_id arguments are required
file: string;
external_id: string;
}

export interface FilesRemoteListArguments extends WebAPICallOptions, TokenOverridable {
ts_from?: string;
Expand All @@ -386,32 +389,35 @@ export interface FilesRemoteAddArguments extends WebAPICallOptions, TokenOverrid
filetype: string; // possible values (except for 'auto'): https://api.slack.com/types/file#file_types
preview_image?: Buffer | Stream;
preview_file?: Buffer | Stream;
indexable_file_contents?: Buffer| Stream;
indexable_file_contents?: Buffer | Stream;
}

interface FilesRemoteUpdateCommonArguments extends WebAPICallOptions, TokenOverridable {
export interface FilesRemoteUpdateArguments extends WebAPICallOptions, TokenOverridable {
title: string;
external_url: string;
filetype: string; // possible values (except for 'auto'): https://api.slack.com/types/file#file_types
preview_image?: Buffer | Stream;
preview_file?: Buffer | Stream;
indexable_file_contents?: Buffer| Stream;
indexable_file_contents?: Buffer | Stream;

// either one of the file or external_id arguments are required
file: string;
external_id: string;
}
type FilesRemoteUpdateArgumentsFileRequired = FilesRemoteUpdateCommonArguments & { file: string };
type FilesRemoteUpdateArgumentsExternalIdRequired = FilesRemoteUpdateCommonArguments & { external_id: string };
export type FilesRemoteUpdateArguments = FilesRemoteUpdateArgumentsFileRequired | FilesRemoteUpdateArgumentsExternalIdRequired;

interface FilesRemoteRemoveCommonArguments extends WebAPICallOptions, TokenOverridable {}
type FilesRemoteRemoveArgumentsFileRequired = FilesRemoteRemoveCommonArguments & { file: string };
type FilesRemoteRemoveArgumentsExternalIdRequired = FilesRemoteRemoveCommonArguments & { external_id: string };
export type FilesRemoteRemoveArguments = FilesRemoteRemoveArgumentsFileRequired | FilesRemoteRemoveArgumentsExternalIdRequired;
export interface FilesRemoteRemoveArguments extends WebAPICallOptions, TokenOverridable {
// either one of the file or external_id arguments are required
file: string;
external_id: string;
}

interface FilesRemoteShareCommonArguments extends WebAPICallOptions, TokenOverridable {
export interface FilesRemoteShareArguments extends WebAPICallOptions, TokenOverridable {
channels: string; // comma-separated list of channel ids

// either one of the file or external_id arguments are required
file: string;
external_id: string;
}
type FilesRemoteShareArgumentsFileRequired = FilesRemoteShareCommonArguments & { file: string };
type FilesRemoteShareArgumentsExternalIdRequired = FilesRemoteShareCommonArguments & { external_id: string };
export type FilesRemoteShareArguments = FilesRemoteShareArgumentsFileRequired | FilesRemoteShareArgumentsExternalIdRequired;

/*
* `groups.*`
Expand Down

0 comments on commit 0295088

Please sign in to comment.