feat(mattermost): add auth and send message to channel action

* feat: mattermost integration

* post review adjustments
This commit is contained in:
KrzysztofDK
2023-06-29 16:45:57 +02:00
committed by GitHub
parent 6c5039f1ba
commit 676027245f
21 changed files with 356 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
import listChannels from './list-channels';
export default [listChannels];

View File

@@ -0,0 +1,36 @@
import { IGlobalVariable, IJSONObject } from '@automatisch/types';
type TChannel = {
id: string;
display_name: string;
};
type TResponse = {
data: TChannel[];
};
export default {
name: 'List channels',
key: 'listChannels',
async run($: IGlobalVariable) {
const channels: {
data: IJSONObject[];
error: IJSONObject | null;
} = {
data: [],
error: null,
};
const response: TResponse = await $.http.get('/api/v4/users/me/channels'); // this endpoint will return only channels user joined, there is no endpoint to list all channels available for user
for (const channel of response.data) {
channels.data.push({
value: channel.id as string,
name: (channel.display_name as string) || (channel.id as string), // it's possible for channel to not have any name thus falling back to using id
});
}
return channels;
},
};