Packages
smart_city
5.2.8
6.0.0
5.4.7
5.4.6
5.4.5
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.8
5.2.6
5.2.5
5.2.4
5.2.3
5.2.2
5.2.1
5.2.0
5.1.1
5.1.0
5.0.7
5.0.6
5.0.5
5.0.4
5.0.3
5.0.2
5.0.1
5.0.0
4.0.1
4.0.0
3.25.0
3.24.0
3.23.0
3.22.0
3.21.0
3.20.1
3.20.0
3.19.1
3.19.0
3.18.3
3.18.2
3.18.1
3.18.0
3.17.0
3.16.0
3.15.1
3.15.0
3.14.1
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.1
3.5.0
3.4.0
3.3.0
3.2.4
3.2.3
3.2.1
3.2.0
3.1.0
3.0.0
2.9.0
2.8.2
2.8.0
2.7.1
2.7.0
2.6.1
2.5.0
2.4.2
retired
2.4.1
2.4.0
2.3.0
2.2.0
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
A library for shared helper modules in the Smart Cities Data project.
Current section
Files
Jump to
Current section
Files
lib/smart_city/dataset_access_group_relation.ex
defmodule SmartCity.DatasetAccessGroupRelation do
@moduledoc """
Defines a dataset access group association.
"""
alias SmartCity.BaseStruct
@type dataset_id :: SmartCity.Dataset.id()
@type access_group_id :: SmartCity.AccessGroup.id()
@type t :: %SmartCity.DatasetAccessGroupRelation{
:dataset_id => dataset_id(),
:access_group_id => access_group_id()
}
@derive Jason.Encoder
defstruct dataset_id: nil,
access_group_id: nil
@doc """
Instantiates an instance of a dataset access group relation event struct.
"""
@spec new(String.t() | map()) :: {:ok, map()} | {:error, String.t()}
def new(msg) do
BaseStruct.new(msg)
|> create()
end
defp create(%{dataset_id: _, access_group_id: _} = msg) do
dataset_access_group_relation = struct(%__MODULE__{}, msg)
{:ok, dataset_access_group_relation}
end
defp create(msg) do
{:error, "Invalid dataset:access_group:relation: #{inspect(msg)}"}
end
end