profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/mbuhot/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Mike Buhot mbuhot Brisbane, Australia https://www.linkedin.com/in/michael-buhot Functional Programming enthusiast from Brisbane, Australia

mbuhot/ecto_job 250

Transactional job queue with Ecto, PostgreSQL and GenStage

mbuhot/eskotlin 117

Elasticsearch Query DSL for Kotlin

mbuhot/ex_module_params 34

Parameterized Modules for Elixir

mbuhot/chinook 15

Explore the Chinook Database

mbuhot/ecto_row_level_security 12

Demonstration of postgres row level security policies using Elixir/Ecto

mbuhot/awesome-elixir 1

A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:

mbuhot/BoringWebApp 1

An F# web app that attempts to be familiar to ASP.NET core users

mbuhot/absinthe 0

The GraphQL toolkit for Elixir

mbuhot/advent2020 0

Advent of Code 2020 solutions

mbuhot/analytics-elixir 0

Segment.com library for Elixir

PR closed mbuhot/chinook

Bump postcss from 7.0.32 to 7.0.36 in /assets dependencies

Bumps postcss from 7.0.32 to 7.0.36. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/postcss/postcss/releases">postcss's releases</a>.</em></p> <blockquote> <h2>7.0.36</h2> <ul> <li>Backport ReDoS vulnerabilities from PostCSS 8.</li> </ul> <h2>7.0.35</h2> <ul> <li>Add <a href="https://github.com/postcss/postcss/wiki/PostCSS-8-for-end-users">migration guide link</a> to PostCSS 8 error text.</li> </ul> <h2>7.0.34</h2> <ul> <li>Fix compatibility with <code>postcss-scss</code> 2.</li> </ul> <h2>7.0.33</h2> <ul> <li>Add error message for PostCSS 8 plugins.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/postcss/postcss/blob/main/CHANGELOG.md">postcss's changelog</a>.</em></p> <blockquote> <h2>7.0.36</h2> <ul> <li>Backport ReDoS vulnerabilities from PostCSS 8.</li> </ul> <h2>7.0.35</h2> <ul> <li>Add migration guide link to PostCSS 8 error text.</li> </ul> <h2>7.0.34</h2> <ul> <li>Fix compatibility with <code>postcss-scss</code> 2.</li> </ul> <h2>7.0.33</h2> <ul> <li>Add error message for PostCSS 8 plugins.</li> </ul> <h2>7.0.36</h2> <ul> <li>Backport ReDoS vulnerabilities from PostCSS 8.</li> </ul> <h2>7.0.35</h2> <ul> <li>Add migration guide link to PostCSS 8 error text.</li> </ul> <h2>7.0.34</h2> <ul> <li>Fix compatibility with <code>postcss-scss</code> 2.</li> </ul> <h2>7.0.33</h2> <ul> <li>Add error message for PostCSS 8 plugins.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/postcss/postcss/commit/67e3d7b3402c5d3d036ab7c1e781f86910d6ca72"><code>67e3d7b</code></a> Release 7.0.36 version</li> <li><a href="https://github.com/postcss/postcss/commit/54cbf3c4847eb0fb1501b9d2337465439e849734"><code>54cbf3c</code></a> Backport ReDoS vulnerabilities from PostCSS 8</li> <li><a href="https://github.com/postcss/postcss/commit/12832f3d203474bd273bd06bd3b2407567bfe09e"><code>12832f3</code></a> Release 7.0.35 version</li> <li><a href="https://github.com/postcss/postcss/commit/4455ef6baf84ceea87cb662131f95d798063896c"><code>4455ef6</code></a> Use OpenCollective in funding</li> <li><a href="https://github.com/postcss/postcss/commit/e867c794b5d646839350dd4b76f3cc81423413e6"><code>e867c79</code></a> Add migration guide to PostCSS 8 error</li> <li><a href="https://github.com/postcss/postcss/commit/32a22a98bc4de9c7a2489041ceae24eedc62144f"><code>32a22a9</code></a> Release 7.0.34 version</li> <li><a href="https://github.com/postcss/postcss/commit/22939829688574b9acdbd29106ca2ec9470b2b17"><code>2293982</code></a> Lock build targets</li> <li><a href="https://github.com/postcss/postcss/commit/2c3a111a940b373a60fae196e63931b3b6e9d8ca"><code>2c3a111</code></a> Release 7.0.33 version</li> <li><a href="https://github.com/postcss/postcss/commit/4105f21b48d75847e822e89746633792c478922b"><code>4105f21</code></a> Use yaspeller instead of yaspeller-ci</li> <li><a href="https://github.com/postcss/postcss/commit/c8d02a0da503f9fa5d96a854a2c9244710c18c72"><code>c8d02a0</code></a> Revert yaspeller-ci removal</li> <li>Additional commits viewable in <a href="https://github.com/postcss/postcss/compare/7.0.32...7.0.36">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 21 hours

PR opened schrockwell/bodyguard

Fix docs for Bodyguard.scope

Noticed what looks like a copy & paste error while reading the docs. I think Bodyguard.Policy.authorize should be Bodyguard.Schema.scope in docs for Bodyguard.scope.

+1 -1

0 comment

1 changed file

pr created time in 21 hours

push eventmbuhot/bodyguard

Mike Buhot

commit sha 6f2c48deae6115c1a10f3bbcc518b78fd5b5fe69

Fix docs for Bodyguard.scope Docs incorrectly said that `Bodyguard.scope/4` would call a `Bodyguard.Policy.authorize/3` callback.

view details

push time in 21 hours

fork mbuhot/bodyguard

Simple authorization conventions for Phoenix apps

https://hexdocs.pm/bodyguard/

fork in 21 hours

issue commentopen-api-spex/open_api_spex

cast_and_validate purges file upload struct from controller parameters

Looks like when we CastAndValidate a schema with type: :string, format: :binary it should allow a %Plug.Upload{} struct to be passed through.

https://swagger.io/docs/specification/describing-request-body/file-upload/

superruzafa

comment created time in 4 days

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule OpenApiSpexTest.ApiSpec do+  @moduledoc false

Why add this attribute to a test support file? If this is from a credo check then I suggest we disable it.

lucacorti

comment created time in 4 days

PullRequestReviewEvent

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule OpenApiSpex.Schema do   """   defdelegate cast(schema, value, schemas), to: DeprecatedCast -  @doc ~S"""

why?

lucacorti

comment created time in 4 days

PullRequestReviewEvent

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule OpenApiSpex.Plug.AppEnvCache do+  @moduledoc false

Not sure we should hide this module from the docs. Users on older OTP versions will need to configure their cache to use it.

lucacorti

comment created time in 4 days

PullRequestReviewEvent

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule OpenApiSpex.Cast.Number do     end   end -  # TODO We need a way to distinguish numbers in (JSON) body vs in request parameters

Is this TODO no longer relevant?

lucacorti

comment created time in 4 days

PullRequestReviewEvent

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule OpenApiSpex.Cast do+  @moduledoc false

Why? There's documented functions in this module.

lucacorti

comment created time in 4 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentopen-api-spex/open_api_spex

Improve CI pipeline

 defmodule PhoenixAppWeb.OauthController do   use PhoenixAppWeb, :controller -  def access_token(conn = %Plug.Conn{}, _params) do+  def access_token(%Plug.Conn{} = conn, _params) do

Changing the pattern matching convention seems unnecessary. Can we disable the credo check and have a separate conversation about the convention? I prefer variable on the left style.

lucacorti

comment created time in 4 days

push eventopen-api-spex/open_api_spex

David-Klemenc

commit sha 00381054e36403488751a78c8f38bec5234a2455

chore: updated swagger to 3.34.0 (#378)

view details

push time in 4 days

PR merged open-api-spex/open_api_spex

chore: updated swagger to 3.34.0

This PR updates swagger, so a token or similar can be persisted during page refresh.

fixes: 375

get("/swaggerui",
    to: OpenApiSpex.Plug.SwaggerUI,
    init_opts: [
      path: "/api/openapi",
      apisSorter: "alpha",
      operationsSorter: "alpha",
      tagsSorter: "alpha",
      persistAuthorization: true # the good stuff :)
    ]
  )
+3 -3

0 comment

1 changed file

David-Klemenc

pr closed time in 4 days

issue closedopen-api-spex/open_api_spex

Preserve authorization on browser refresh and close/reopen

This feature has been added to swagger-ui in version 3.34.0 Could the version of the swagger libraries be bumped to 3.34.x (or newer)?

  get("/swaggerui",
    to: OpenApiSpex.Plug.SwaggerUI,
    init_opts: [
      path: "/api/openapi",
      apisSorter: "alpha",
      operationsSorter: "alpha",
      tagsSorter: "alpha",
      persistAuthorization: true # needs 3.34.0 or newer
    ]
  )

I created a PR: 378

If anyone wants the feature immediately, you can add this to mix.exs:

{:open_api_spex, git: "https://github.com/David-Klemenc/open_api_spex.git", ref: "e420034c1092aa86f2d961fc602685f49dc71fe6"}

closed time in 4 days

David-Klemenc
PullRequestReviewEvent

push eventmbuhot/basic-react-test

Mike Buhot

commit sha 41e31fb9c1730d0d4deccb16efdcc49515298297

Add instructions

view details

push time in 9 days

create barnchmbuhot/basic-react-test

branch : main

created branch time in 9 days

created repositorymbuhot/basic-react-test

created time in 9 days

issue commentopen-api-spex/open_api_spex

Question: Possible to hide `x-struct` in json output?

You could create a custom version of the RenderSpec plug that removes the x-struct field from the schemas before JSON encoding.

https://github.com/open-api-spex/open_api_spex/blob/master/lib/open_api_spex/plug/render_spec.ex#L26-L42

We could also possibly support a configuration flag to remove x-struct and x-validate from JSON output in the to_json function for Schema: https://github.com/open-api-spex/open_api_spex/blob/8e4a01dd2ccc077bd36624bd3632beef76ffb1ad/lib/open_api_spex/open_api.ex#L88-L101 It is already doing some pre-processing to remove nils.

akramhussein

comment created time in 14 days

startedkarolsluszniak/phoenix_live_controller

started time in 15 days

issue openedelixirsydney/elixirsydney

Porting procedural code to Elixir - what could go wrong?

I'll share the experience of solving the 'Goonerism Spenerator' puzzle in typescript, and porting the resulting code to elixir. What comes next will shock you 😱

created time in 15 days

pull request commentopen-api-spex/open_api_spex

Add support for multiple specs for the same Phoenix router

Thanks @lucacorti 👍

lucacorti

comment created time in 15 days

push eventopen-api-spex/open_api_spex

Luca Corti

commit sha a5210b419eec95c0afccd6f3b99e2e9f4fb5dce5

Add support for multiple specs for the same Phoenix router (#369) * Add Paths.from_routes/1 function

view details

push time in 15 days

PR merged open-api-spex/open_api_spex

Add support for multiple specs for the same Phoenix router

In phoenix you can define the endpoint host as nil and then use host prefixes to define host specific routes in the router.

  scope "/", TestappWeb, host: "api." do
    pipe_through :browser

    get "/", PageController, :index
  end

This is helpful if you want for instance serve different sets of apis and describe them with separate specs from the same phoenix instance:

     paths: Paths.from_router(router, host: "api.")

This simply adds the ability to filter phoenix routes when calling Paths.from_router, so that one can easily generate a spec only for routes having a specific attribute value. This covers not only the host use case, but filtering on any phoenix route attribute.

+8 -2

4 comments

1 changed file

lucacorti

pr closed time in 15 days