Commit Graph

35 Commits

Author SHA1 Message Date
Mark Felder 2de84e2e3b API Specs: many dialyzer errors
Too many to include in a commit log

Module instead of schema was being passed
2024-01-29 17:10:28 -05:00
Mark Felder 8d64eedbec Pleroma.Web.PleromaAPI.ChatController: Dialyzer error
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:128:call
The function call will not succeed.

Phoenix.Controller.render(
  _conn :: %{
    :assigns => %{:user => _, _ => _},
    :body_params => %{:last_read_id => _, _ => _},
    _ => _
  },
  <<115, 104, 111, 119, 46, 106, 115, 111, 110>>,
  [
    {:chat,
     %Pleroma.Chat{
       :__meta__ => _,
       :id => _,
       :inserted_at => _,
       :recipient => _,
       :updated_at => _,
       :user => _,
       :user_id => _
     }},
    ...
  ]
)

will never return since the success typing is:
(
  %Plug.Conn{
    :adapter => {atom(), _},
    :assigns => %{atom() => _},
    :body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
    :cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
    :halted => boolean(),
    :host => binary(),
    :method => binary(),
    :owner => pid(),
    :params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
    :path_info => [binary()],
    :path_params => %{binary() => binary() | [any()] | map()},
    :port => char(),
    :private => %{atom() => _},
    :query_params => %Plug.Conn.Unfetched{
      :aspect => atom(),
      binary() => binary() | [any()] | map()
    },
    :query_string => binary(),
    :remote_ip =>
      {byte(), byte(), byte(), byte()}
      | {char(), char(), char(), char(), char(), char(), char(), char()},
    :req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
    :req_headers => [{_, _}],
    :request_path => binary(),
    :resp_body =>
      nil
      | binary()
      | maybe_improper_list(
          binary() | maybe_improper_list(any(), binary() | []) | byte(),
          binary() | []
        ),
    :resp_cookies => %{binary() => map()},
    :resp_headers => [{_, _}],
    :scheme => :http | :https,
    :script_name => [binary()],
    :secret_key_base => nil | binary(),
    :state =>
      :chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
    :status => nil | non_neg_integer()
  },
  atom() | binary(),
  atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
  :adapter => {atom(), _},
  :assigns => %{atom() => _},
  :body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
  :cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
  :halted => boolean(),
  :host => binary(),
  :method => binary(),
  :owner => pid(),
  :params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
  :path_info => [binary()],
  :path_params => %{binary() => binary() | [any()] | map()},
  :port => char(),
  :private => %{atom() => _},
  :query_params => %Plug.Conn.Unfetched{
    :aspect => atom(),
    binary() => binary() | [any()] | map()
  },
  :query_string => binary(),
  :remote_ip =>
    {byte(), byte(), byte(), byte()}
    | {char(), char(), char(), char(), char(), char(), char(), char()},
  :req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
  :req_headers => [{_, _}],
  :request_path => binary(),
  :resp_body =>
    nil
    | binary()
    | maybe_improper_list(
        binary() | maybe_improper_list(any(), binary() | []) | byte(),
        binary() | []
      ),
  :resp_cookies => %{binary() => map()},
  :resp_headers => [{_, _}],
  :scheme => :http | :https,
  :script_name => [binary()],
  :secret_key_base => nil | binary(),
  :state => :sent,
  :status => nil | non_neg_integer()
}

and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-28 15:52:09 -05:00
lain e853cfe7c3 Revert "Merge branch 'copyright-bump' into 'develop'"
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak 10886eeaa2 Bump copyright year
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
Sean King 17aa3644be
Copyright bump for 2022 2022-02-25 23:11:42 -07:00
rinpatch d7ad288c84 Chats: Introduce /api/v2/pleroma/chats which implements pagination
Also removes incorrect claim that /api/v1/pleroma/chats supports
pagination and deprecates it.

Closes #2140
2021-02-17 16:03:24 +03:00
rinpatch 9fcff7851f Improve OpenAPI spec and deploy it to api.pleroma.social
Too many changes in OpenAPI spec to describe each one, but
basically it is tag fixes, bringing consitency to operation summaries
and fixing some incorrect information.
2021-02-03 16:07:44 +03:00
Mark Felder d36182c088 Change user.confirmation_pending field to user.is_confirmed 2021-01-15 12:44:41 -06:00
Haelwenn (lanodan) Monnier c4439c630f
Bump Copyright to 2021
grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>;'
2021-01-13 07:49:50 +01:00
Egor Kislitsyn ca95cbe0b4
Add `with_muted` param to ChatController.index/2 2020-11-04 16:40:12 +04:00
lain c95859e45b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into issue/2115 2020-09-22 17:13:46 +02:00
Haelwenn (lanodan) Monnier 7bf269fe83 Fix MRF reject for ChatMessage 2020-09-17 22:07:54 +03:00
Maksim Pechnikov 9853c90abb added paginate links to headers for /chats/:id/messages 2020-09-10 12:39:29 +03:00
Alibek Omarov 6107440ea0 OpenAPI: remove accidentally pasted buffer data 2020-07-26 13:59:46 +00:00
Alibek Omarov b31844d6e0 OpenAPI: Replace actor_id by account_id to follow ChatMessage schema 2020-07-26 13:54:56 +00:00
lain fe2a5d0614 ChatController: Make last_read_id mandatory. 2020-06-07 20:22:08 +02:00
lain 801e668a97 ChatController: Add `last_read_id` option to mark_as_read. 2020-06-07 15:38:33 +02:00
lain f4cf4ae16e ChatController: Use new oauth scope *:chats. 2020-06-06 16:48:02 +02:00
lain b3407344d3 ChatController: Add function to mark single message as read. 2020-06-03 19:21:23 +02:00
lain 0f0acc740d Chat: Allow posting without content if an attachment is present. 2020-05-13 15:31:28 +02:00
lain b5aa204eb8 ChatController: Support deletion of chat messages. 2020-05-12 13:13:03 +02:00
lain 8d5597ff68 ChatController: Add GET /chats/:id 2020-05-10 13:26:14 +02:00
lain 1054e89762 ChatOperation: Add media id to example 2020-05-10 12:30:24 +02:00
lain 20baa2eaf0 ChatMessages: Add attachments. 2020-05-06 16:12:36 +02:00
lain b04328c3de ChatController: Add mark_as_read 2020-05-04 13:10:36 +02:00
lain 57e6f2757a ChatOperation: Make simple schema into inline schema 2020-05-04 12:47:23 +02:00
lain dcf535fe77 Credo fixes. 2020-05-04 11:32:11 +02:00
lain 651935f137 Schemas: Refactor to our naming scheme. 2020-05-04 11:08:00 +02:00
lain 67659afe48 ChatOperation: Refactor. 2020-04-29 13:34:43 +02:00
lain ad82a216ff Chat API: Align more to Pleroma/Mastodon API. 2020-04-27 17:48:34 +02:00
lain 00e956528b Credo fixes. 2020-04-27 14:02:11 +02:00
lain 15ba3700af Chat Schemas: Inline unimportant Schemas. 2020-04-27 12:45:59 +02:00
lain 66c2eb670b ChatController: Validate parameters. 2020-04-21 18:23:00 +02:00
lain 97ad0c4597 Chats: Add API specs. 2020-04-21 17:51:06 +02:00
lain 6ace22b56a Chat: Add views, don't return them in timeline queries. 2020-04-15 18:23:16 +02:00