package slack

  1. Overview
  2. Docs
Slack API implementation

Install

Dune Dependency

Authors

Maintainers

Sources

0.1.tar.gz
md5=f3be3accbb3b77babbc9b672746c603b
sha512=e715aa318eee97c65d254e1a2b052fb08a8e113d11343272c03a13cccd2f74a480678e064bcb6c901624aadcb83d16eabadbd6caa9181465a920cb69aee8f644

doc/src/slack.lib/context.ml.html

Source file context.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
open Common

type t = {
  ua : string;
  secrets : Slack_t.secrets;
}

let make_secrets ?slack_access_token ?slack_signing_secret () : Slack_t.secrets =
  { slack_access_token; slack_signing_secret }

let make ~ua ~secrets = { ua; secrets }

let get_secrets_from_file path =
  let secrets = get_local_file_with path ~f:Slack_j.secrets_of_string in
  match secrets.slack_access_token with
  | None -> slack_lib_fail "slack_access_token is not defined in file '%s'" path
  | _ -> secrets

let get_ctx ?(secrets_path = "secrets.json") ?(ua = "slack_api") () =
  make ~ua ~secrets:(get_secrets_from_file secrets_path)

let empty_ctx () = make ~ua:"slack_api" ~secrets:(make_secrets ())

let get_slack_access_token ctx =
  match ctx.secrets.slack_access_token with
  | None -> slack_lib_fail "no slack token"
  | Some access_token -> access_token
OCaml

Innovation. Community. Security.