package guardian

  1. Overview
  2. Docs
Role-based access control for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

0.4.0.tar.gz
md5=c0526b48e6fe938c209dfd5810082578
sha512=0fb1878c12848c2e5690444035e225cdd7b80f0fa98ee5a1db5e2f41f01fb5db3c8fc4d81b9c95da1859d6c803d0a253458e213dea8fa0924d33f4055df8c01f

doc/src/guardian.backend/mariadb_utils.ml.html

Source file mariadb_utils.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
let find_request_sql
      sql_select_columns
      table_name
      ?(default_where = None)
      ?(count = false)
      ?(joins = "")
      where_fragment
  =
  let where_fragment =
    CCOption.map_or ~default:where_fragment (fun default_where ->
      [%string
        {sql|
          WHERE %{default_where}
            AND %{CCString.replace ~which:`Left ~by:"" ~sub:"WHERE" where_fragment}
        |sql}])
  in
  let columns =
    if count then "COUNT(*)" else sql_select_columns |> CCString.concat ", "
  in
  Format.asprintf
    {sql|SELECT %s FROM %s %s %s|sql}
    columns
    table_name
    joins
    (where_fragment default_where)
;;