nothingness

joined 2 years ago
 

at https://hexdocs.pm/open_api_spex/3.2.0/readme.html there's a definition of a module User

defmodule MyApp.Schemas do
  alias OpenApiSpex.Schema

  defmodule User do
    @behaviour OpenApiSpex.Schema
    @derive [Jason.Encoder]
    @schema %Schema{
      title: "User",
      description: "A user of the app",
      type: :object,
      properties: %{
        id: %Schema{type: :integer, description: "User ID"},
        name:  %Schema{type: :string, description: "User name"},
        email: %Schema{type: :string, description: "Email address", format: :email},
        inserted_at: %Schema{type: :string, description: "Creation timestamp", format: :datetime},
        updated_at: %Schema{type: :string, description: "Update timestamp", format: :datetime}
      },
      required: [:name, :email],
      example: %{
        "id" => 123,
        "name" => "Joe",
        "email" => "joe@gmail.com"
      }
      "x-struct": __MODULE__
    }
    def schema, do: @schema
    defstruct Map.keys(@schema.properties)
  end

In order to avoid re-describing it like that for Open API Specs whilst having already done so for Ecto, is it possible to combine the two definitions in a single module somehow? That is, my Ecto schema User would serve its purpose for Open API Specs too. With some required tweaks.

And if I do combine them, won't this mess up with the methods of the 2 modules and other things?

 

Why do Braizeiros NEVER under a question like this:

Há chá aqui?
Há wifi aqui?
Há alguma mesa livre aqui?

Never. Never. Never.

I'm aware of tem ... ?. I'm aware that I could ask vende-se ...?. But Há [...] aqui? is a valid, normal, simple Portuguese phrase which must be understood ANYONE who speaks it.

What's the matter?

1
submitted 2 years ago* (last edited 2 years ago) by nothingness@lemmy.world to c/osdev@programming.dev
 

I want to take aт existing, a standard or one of the popular ones, WiFi driver for Linux and tweak it. I'll inroduce a whitelist into it. That is, to the consumer a driver will show the networks from a whitelist only ignoring all other ones.

It's a PoC. I want to implement it as simply as possible.

Can this be implemented? And how, in a high level?