grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>;'
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
# Pleroma: A lightweight social networking server
 | 
						|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 | 
						|
# SPDX-License-Identifier: AGPL-3.0-only
 | 
						|
 | 
						|
defmodule Pleroma.Captcha.Service do
 | 
						|
  @doc """
 | 
						|
  Request new captcha from a captcha service.
 | 
						|
 | 
						|
  Returns:
 | 
						|
 | 
						|
  Type/Name of the service, the token to identify the captcha,
 | 
						|
  the data of the answer and service-specific data to use the newly created captcha
 | 
						|
  """
 | 
						|
  @callback new() :: %{
 | 
						|
              type: atom(),
 | 
						|
              token: String.t(),
 | 
						|
              answer_data: any()
 | 
						|
            }
 | 
						|
 | 
						|
  @doc """
 | 
						|
  Validated the provided captcha solution.
 | 
						|
 | 
						|
  Arguments:
 | 
						|
  * `token` the captcha is associated with
 | 
						|
  * `captcha` solution of the captcha to validate
 | 
						|
  * `answer_data` is the data needed to validate the answer (presumably encrypted)
 | 
						|
 | 
						|
  Returns:
 | 
						|
 | 
						|
  `true` if captcha is valid, `false` if not
 | 
						|
  """
 | 
						|
  @callback validate(
 | 
						|
              token :: String.t(),
 | 
						|
              captcha :: String.t(),
 | 
						|
              answer_data :: any()
 | 
						|
            ) :: :ok | {:error, String.t()}
 | 
						|
end
 |