@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
36 lines (28 loc) • 971 B
text/typescript
import { IGenericAttachments } from "../../../generic/types";
import { IRWCAnswerComponent, IRWCMedia } from '../../types';
export const transformMedias = (medias: Array<IRWCMedia>): IGenericAttachments => {
const result: IGenericAttachments = {
type: 'attachments',
props: {
value: {
staticValue: medias.map(media => {
const result: any = {
text: media.location,
size: media.size
};
// eslint-disable-next-line no-prototype-builtins
if (media.hasOwnProperty('isPrivate')) {
result.isPrivate = media.isPrivate;
}
if (media.type) result.type = media.type;
return result;
})
}
}
};
return result;
};
export const transformRWCMedias = (msg: IRWCAnswerComponent | Array<IRWCMedia> ): IGenericAttachments => {
const data = Array.isArray(msg) ? msg : msg.vBind.medias;
return transformMedias(data);
};