Mix tasks: improve uploads.ex moduledoc
[akkoma] / lib / mix / tasks / pleroma / instance.ex
index 88fc3ba759c157573f3ee4fe1dfe8e561dba0d06..c6632270783ad84ee14b933fabb657b93240ad22 100644 (file)
@@ -67,13 +67,19 @@ defmodule Mix.Tasks.Pleroma.Instance do
         )
 
       name =
-        Common.get_option(options, :name, "What is the name of your instance? (e.g. Pleroma/Soykaf)")
+        Common.get_option(
+          options,
+          :name,
+          "What is the name of your instance? (e.g. Pleroma/Soykaf)"
+        )
 
       email = Common.get_option(options, :admin_email, "What is your admin email address?")
 
-      dbhost = Common.get_option(options, :dbhost, "What is the hostname of your database?", "localhost")
+      dbhost =
+        Common.get_option(options, :dbhost, "What is the hostname of your database?", "localhost")
 
-      dbname = Common.get_option(options, :dbname, "What is the name of your database?", "pleroma_dev")
+      dbname =
+        Common.get_option(options, :dbname, "What is the name of your database?", "pleroma_dev")
 
       dbuser =
         Common.get_option(
@@ -93,6 +99,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
         )
 
       secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
+      {web_push_public_key, web_push_private_key} = :crypto.generate_key(:ecdh, :prime256v1)
 
       result_config =
         EEx.eval_file(
@@ -105,7 +112,9 @@ defmodule Mix.Tasks.Pleroma.Instance do
           dbuser: dbuser,
           dbpass: dbpass,
           version: Pleroma.Mixfile.project() |> Keyword.get(:version),
-          secret: secret
+          secret: secret,
+          web_push_public_key: Base.url_encode64(web_push_public_key, padding: false),
+          web_push_private_key: Base.url_encode64(web_push_private_key, padding: false)
         )
 
       result_psql =
@@ -145,7 +154,4 @@ defmodule Mix.Tasks.Pleroma.Instance do
       )
     end
   end
-
-
-
 end