Packages
ory_client
1.1.33
1.22.63
1.22.62
1.22.61
1.22.60
1.22.59
1.22.58
1.22.57
1.22.56
1.22.55
1.22.54
1.22.53
1.22.52
1.22.51
1.22.50
1.22.49
1.22.48
1.22.47
1.22.46
1.22.45
1.22.44
1.22.43
1.22.42
1.22.41
1.22.40
1.22.39
1.22.38
1.22.37
1.22.36
1.22.35
1.22.34
1.22.33
1.22.32
1.22.28
1.22.27
1.22.26
1.22.25
1.22.24
1.22.23
1.22.22
1.22.21
1.22.16
1.22.15
1.22.14
1.22.13
1.22.12
1.22.11
1.22.10
1.22.9
1.22.8
1.22.7
1.22.6
1.22.5
1.22.4
1.22.3
1.22.2
1.22.1
1.22.0
1.21.6
1.21.5
1.21.4
1.21.3
1.21.2
1.21.1
1.21.0
1.20.23
1.20.22
1.20.11
1.20.10
1.20.9
1.20.8
1.20.7
1.20.6
1.20.5
1.20.4
1.20.3
1.20.2
1.20.1
1.20.0
1.19.0
1.18.5
1.18.4
1.17.2
1.17.1
1.16.10
1.6.2
1.6.1
1.5.2
1.5.1
1.5.0
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.17
1.2.16
1.2.15
1.2.14
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.51
1.1.50
1.1.49
1.1.48
1.1.47
1.1.46
1.1.45
1.1.44
1.1.41
1.1.40
1.1.39
1.1.39-alpha.0
1.1.38
1.1.37
1.1.36
1.1.35
1.1.34
1.1.33
1.1.32
1.1.31
1.1.30
1.1.29
1.1.28
1.1.27
1.1.26
1.1.25
1.1.24
1.1.23
1.1.22
1.1.21
1.1.20
1.1.19
1.1.18
1.1.17
1.1.7
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
1.0.0-alpha.0
0.2.0-alpha.60
0.2.0-alpha.48
0.2.0-alpha.47
0.2.0-alpha.46
0.2.0-alpha.45
0.2.0-alpha.44
0.2.0-alpha.43
0.2.0-alpha.42
0.2.0-alpha.41
0.2.0-alpha.40
0.2.0-alpha.39
0.2.0-alpha.38
0.2.0-alpha.37
0.2.0-alpha.36
0.2.0-alpha.35
0.2.0-alpha.34
0.2.0-alpha.33
0.2.0-alpha.32
0.2.0-alpha.31
0.2.0-alpha.30
0.2.0-alpha.29
0.2.0-alpha.28
0.2.0-alpha.27
0.2.0-alpha.26
0.2.0-alpha.25
0.2.0-alpha.24
0.2.0-alpha.23
0.2.0-alpha.22
0.2.0-alpha.21
0.2.0-alpha.20
0.2.0-alpha.19
0.2.0-alpha.18
0.2.0-alpha.16
0.2.0-alpha.15
0.2.0-alpha.14
0.2.0-alpha.4
0.2.0-alpha.2
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
0.0.1-alpha.189
0.0.1-alpha.188
0.0.1-alpha.187
OpenAPI API client for Ory Network, Ory's web-scale API for identity and access control.
Current section
Files
Jump to
Current section
Files
lib/ory/api/relationship.ex
# NOTE: This file is auto generated by OpenAPI Generator 6.2.1 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Ory.Api.Relationship do
@moduledoc """
API calls for all endpoints tagged `Relationship`.
"""
alias Ory.Connection
import Ory.RequestBuilder
@doc """
Check the syntax of an OPL file
The OPL file is expected in the body of the request.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:body` (String.t):
### Returns
- `{:ok, Ory.Model.CheckOplSyntaxResult.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec check_opl_syntax(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.CheckOplSyntaxResult.t} | {:error, Tesla.Env.t}
def check_opl_syntax(connection, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/opl/syntax/check")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %Ory.Model.CheckOplSyntaxResult{}},
{400, %Ory.Model.ErrorGeneric{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
@doc """
Create a Relationship
Use this endpoint to create a relationship.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:body` (CreateRelationshipBody):
### Returns
- `{:ok, Ory.Model.Relationship.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_relationship(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.Relationship.t} | {:error, Tesla.Env.t}
def create_relationship(connection, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:put)
|> url("/admin/relation-tuples")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, %Ory.Model.Relationship{}},
{400, %Ory.Model.ErrorGeneric{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
@doc """
Delete Relationships
Use this endpoint to delete relationships
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:namespace` (String.t): Namespace of the Relationship
- `:object` (String.t): Object of the Relationship
- `:relation` (String.t): Relation of the Relationship
- `:subject_id` (String.t): SubjectID of the Relationship
- `:"subject_set.namespace"` (String.t): Namespace of the Subject Set
- `:"subject_set.object"` (String.t): Object of the Subject Set
- `:"subject_set.relation"` (String.t): Relation of the Subject Set
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_relationships(Tesla.Env.client, keyword()) :: {:ok, nil} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def delete_relationships(connection, opts \\ []) do
optional_params = %{
:namespace => :query,
:object => :query,
:relation => :query,
:subject_id => :query,
:"subject_set.namespace" => :query,
:"subject_set.object" => :query,
:"subject_set.relation" => :query
}
request =
%{}
|> method(:delete)
|> url("/admin/relation-tuples")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{400, %Ory.Model.ErrorGeneric{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
@doc """
Query relationships
Get all relationships that match the query. Only the namespace field is required.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:page_token` (String.t):
- `:page_size` (integer()):
- `:namespace` (String.t): Namespace of the Relationship
- `:object` (String.t): Object of the Relationship
- `:relation` (String.t): Relation of the Relationship
- `:subject_id` (String.t): SubjectID of the Relationship
- `:"subject_set.namespace"` (String.t): Namespace of the Subject Set
- `:"subject_set.object"` (String.t): Object of the Subject Set
- `:"subject_set.relation"` (String.t): Relation of the Subject Set
### Returns
- `{:ok, Ory.Model.Relationships.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_relationships(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.Relationships.t} | {:error, Tesla.Env.t}
def get_relationships(connection, opts \\ []) do
optional_params = %{
:page_token => :query,
:page_size => :query,
:namespace => :query,
:object => :query,
:relation => :query,
:subject_id => :query,
:"subject_set.namespace" => :query,
:"subject_set.object" => :query,
:"subject_set.relation" => :query
}
request =
%{}
|> method(:get)
|> url("/relation-tuples")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %Ory.Model.Relationships{}},
{404, %Ory.Model.ErrorGeneric{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
@doc """
Query namespaces
Get all namespaces
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Ory.Model.RelationshipNamespaces.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_relationship_namespaces(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.RelationshipNamespaces.t} | {:error, Tesla.Env.t}
def list_relationship_namespaces(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/namespaces")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %Ory.Model.RelationshipNamespaces{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
@doc """
Patch Multiple Relationships
Use this endpoint to patch one or more relationships.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:body` ([Ory.Model.RelationshipPatch.t]):
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec patch_relationships(Tesla.Env.client, keyword()) :: {:ok, nil} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def patch_relationships(connection, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:patch)
|> url("/admin/relation-tuples")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{400, %Ory.Model.ErrorGeneric{}},
{404, %Ory.Model.ErrorGeneric{}},
{:default, %Ory.Model.ErrorGeneric{}}
])
end
end