Post to Slack (#603)
* Migrations
* WIP: Integration model, slack perms / hooks
* So so rough it pains me. Building this new model is revealing just how much needs to be refactored
* Working connect and post
* Cleanup UI, upating documents
* Show when slack command is connected
* stash
* 💚
* Add documents.update trigger
* Authorization, tidying
* Fixed integration policy
* pick integration presenter keys
This commit is contained in:
@@ -6,6 +6,8 @@ import presentRevision from './revision';
|
||||
import presentCollection from './collection';
|
||||
import presentApiKey from './apiKey';
|
||||
import presentTeam from './team';
|
||||
import presentIntegration from './integration';
|
||||
import presentSlackAttachment from './slackAttachment';
|
||||
|
||||
export {
|
||||
presentUser,
|
||||
@@ -15,4 +17,6 @@ export {
|
||||
presentCollection,
|
||||
presentApiKey,
|
||||
presentTeam,
|
||||
presentIntegration,
|
||||
presentSlackAttachment,
|
||||
};
|
||||
|
||||
20
server/presenters/integration.js
Normal file
20
server/presenters/integration.js
Normal file
@@ -0,0 +1,20 @@
|
||||
// @flow
|
||||
import { Integration } from '../models';
|
||||
|
||||
function present(ctx: Object, integration: Integration) {
|
||||
return {
|
||||
id: integration.id,
|
||||
type: integration.type,
|
||||
userId: integration.userId,
|
||||
teamId: integration.teamId,
|
||||
serviceId: integration.serviceId,
|
||||
collectionId: integration.collectionId,
|
||||
authenticationId: integration.authenticationId,
|
||||
events: integration.events,
|
||||
settings: integration.settings,
|
||||
createdAt: integration.createdAt,
|
||||
updatedAt: integration.updatedAt,
|
||||
};
|
||||
}
|
||||
|
||||
export default present;
|
||||
@@ -1,5 +1,4 @@
|
||||
// @flow
|
||||
import _ from 'lodash';
|
||||
import { Revision } from '../models';
|
||||
|
||||
function present(ctx: Object, revision: Revision) {
|
||||
|
||||
15
server/presenters/slackAttachment.js
Normal file
15
server/presenters/slackAttachment.js
Normal file
@@ -0,0 +1,15 @@
|
||||
// @flow
|
||||
import { Document } from '../models';
|
||||
|
||||
function present(document: Document) {
|
||||
return {
|
||||
color: document.collection.color,
|
||||
title: document.title,
|
||||
title_link: `${process.env.URL}${document.getUrl()}`,
|
||||
footer: document.collection.name,
|
||||
text: document.getSummary(),
|
||||
ts: document.getTimestamp(),
|
||||
};
|
||||
}
|
||||
|
||||
export default present;
|
||||
Reference in New Issue
Block a user