defmodule Auth0.Management.Jobs do @moduledoc """ Documentation for Auth0 Management API of Jobs. ## endpoint - /api/v2/jobs/{id} - /api/v2/jobs/{id}/errors - /api/v2/jobs/users-exports - /api/v2/jobs/users-imports - /api/v2/jobs/verification-email """ alias Auth0.Config alias Auth0.Entity alias Auth0.Management.Jobs.Get alias Auth0.Management.Jobs.Errors alias Auth0.Management.Jobs.UsersExport alias Auth0.Management.Jobs.UsersImport alias Auth0.Management.Jobs.VerificationEmail @type id :: String.t() @type config :: Config.t() @type response_body :: String.t() @type error :: {:error, integer, term} | {:error, term} @endpoint_by_id "/api/v2/jobs/{id}" @endpoint_errors "/api/v2/jobs/{id}/errors" @endpoint_users_exports "/api/v2/jobs/users-exports" @endpoint_users_imports "/api/v2/jobs/users-imports" @endpoint_verification_email "/api/v2/jobs/verification-email" @doc """ Get a job. ## see https://auth0.com/docs/api/management/v2/#!/Jobs/get_jobs_by_id """ @spec get(id, config) :: {:ok, Entity.Jobs.t(), response_body} | error def get(id, %Config{} = config) do Get.execute(@endpoint_by_id, id, config) end @doc """ Get job error details. ## see https://auth0.com/docs/api/management/v2/#!/Jobs/get_errors """ @spec get_error(id, config) :: {:ok, Entity.JobsErrors.t(), response_body} | error def get_error(id, %Config{} = config) do Errors.Get.execute(@endpoint_errors, id, config) end @doc """ Create export users job. ## see https://auth0.com/docs/api/management/v2/#!/Jobs/post_users_exports """ @spec create_users_exports(UsersExport.Params.t(), config) :: {:ok, Entity.JobsUsersExport.t(), response_body} | error def create_users_exports(%UsersExport.Params{} = params, %Config{} = config) do UsersExport.execute(@endpoint_users_exports, params, config) end @doc """ Create import users job. ## see https://auth0.com/docs/api/management/v2/#!/Jobs/post_users_imports """ @spec create_users_imports(UsersImport.Params.t(), config) :: {:ok, Entity.JobsUsersImport.t(), response_body} | error def create_users_imports(%UsersImport.Params{} = params, %Config{} = config) do UsersImport.execute(@endpoint_users_imports, params, config) end @doc """ Send an email address verification email. ## see https://auth0.com/docs/api/management/v2/#!/Jobs/post_verification_email """ @spec send_verification_email(VerificationEmail.Params.t(), config) :: {:ok, Entity.JobsVerificationEmail.t(), response_body} | error def send_verification_email(%VerificationEmail.Params{} = params, %Config{} = config) do VerificationEmail.execute(@endpoint_verification_email, params, config) end end