Commit Graph

272 Commits

Author SHA1 Message Date
rinpatch 942d7467ca Merge branch 'develop' into features/remove-user-source_data 2020-04-16 21:28:52 +03:00
Egor Kislitsyn cf4ebba774
Cleanup SubscriptionController 2020-04-15 23:14:47 +04:00
Ivan Tashkinov bedf92e064 Merge remote-tracking branch 'remotes/origin/develop' into authenticated-api-oauth-check-enforcement 2020-04-15 19:20:34 +03:00
Egor Kislitsyn 247e6fcb90
Merge branch 'develop' into openapi/account 2020-04-14 19:45:22 +04:00
Egor Kislitsyn 4dca712e90
Add OpenAPI spec for DomainBlockController 2020-04-13 22:44:52 +04:00
Egor Kislitsyn c28aaf9d82
Add OpenAPI spec for CustomEmojiController 2020-04-13 21:21:04 +04:00
Egor Kislitsyn 7e0b42d99f
Add specs for AccountController.mutes, AccountController.blocks, AccountController.mutes, AccountController.endorsements 2020-04-13 18:17:09 +04:00
Egor Kislitsyn ab185d3ea4
Add spec for AccountController.follows 2020-04-13 18:17:09 +04:00
Egor Kislitsyn 68a979b824
Add specs for AccountController.block and AccountController.unblock 2020-04-13 18:17:08 +04:00
Egor Kislitsyn e4195d4a68
Add specs for AccountController.mute and AccountController.unmute 2020-04-13 18:17:08 +04:00
Egor Kislitsyn aa958a6dda
Add spec for AccountController.unfollow 2020-04-13 18:17:08 +04:00
Egor Kislitsyn 854780c72b
Add spec for AccountController.follow 2020-04-13 18:17:08 +04:00
Egor Kislitsyn 1b680a98ae
Add spec for AccountController.lists 2020-04-13 18:17:07 +04:00
Egor Kislitsyn e105cc12b6
Add spec for AccountController.following 2020-04-13 18:17:07 +04:00
Egor Kislitsyn bd6e2b300f
Add spec for AccountController.followers 2020-04-13 18:17:07 +04:00
Egor Kislitsyn 03124c96cc
Add spec for AccountController.statuses 2020-04-13 18:17:07 +04:00
Egor Kislitsyn 278b3fa0ad
Add spec for AccountController.show 2020-04-13 18:16:07 +04:00
Egor Kislitsyn d7d6a83233
Add spec for AccountController.relationships 2020-04-13 18:16:07 +04:00
Egor Kislitsyn 260cbddc94
Add spec for AccountController.update_credentials 2020-04-13 18:16:07 +04:00
Egor Kislitsyn b08ded6c2f
Add spec for AccountController.create 2020-04-13 17:38:59 +04:00
Ivan Tashkinov a21baf89d8 Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses 2020-04-13 09:16:51 +03:00
Haelwenn (lanodan) Monnier 9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Egor Kislitsyn d545b883eb
Add `/api/v1/notifications/:id/dismiss` endpoint 2020-04-09 17:08:43 +04:00
lain d2e21fbc96 Merge branch 'open-api' into 'develop'
Add OpenAPI

Closes pleroma-meta#19

See merge request pleroma/pleroma!2345
2020-04-09 09:48:56 +00:00
lain 349b9d86dc Merge branch 'remake-remodel-2' into 'develop'
Ingestion Pipeline Revamp

See merge request pleroma/pleroma!2315
2020-04-06 11:59:01 +00:00
Ivan Tashkinov fc81e5a49c Enforcement of OAuth scopes check for authenticated API endpoints, :skip_plug plug to mark a plug explicitly skipped (disabled). 2020-04-06 10:20:44 +03:00
Egor Kislitsyn 23219e6fb3
Add OpenAPI 2020-04-01 23:13:08 +04:00
Ivan Tashkinov 2f2bd7fe72 Ability to control the output of account/pleroma/relationship in statuses in order to improve the rendering performance.
See `[:extensions, output_relationships_in_statuses_by_default]` setting and `with_relationships` param.
2020-04-01 19:49:09 +03:00
Ivan Tashkinov 012d428e1f Merge remote-tracking branch 'remotes/origin/develop' into 1364-notifications-sending-control 2020-03-25 09:05:17 +03:00
Ivan Tashkinov e743c22329 Fixed incorrect usage of "relations" as a short form of "relationships". 2020-03-25 09:04:00 +03:00
lain 1d75d0ed7a Merge branch 'admin-api-change-password' into 'develop'
Admin API: `PATCH /api/pleroma/admin/users/:nickname/update_credentials`

See merge request pleroma/pleroma!2149
2020-03-24 17:34:13 +00:00
Alexander Strizhakov a6ee6784bc
creating trusted app from adminFE & mix task 2020-03-23 10:44:47 +03:00
Alexander Strizhakov fe15f0ba15
restrict_unauthenticated setting 2020-03-20 16:36:20 +03:00
lain 3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
eugenijm 13cce9c0de Admin API: `PATCH /api/pleroma/admin/users/:nickname/credentials`, `GET /api/pleroma/admin/users/:nickname/credentials`. 2020-03-16 20:42:37 +03:00
rinpatch 38f796a5c6 Merge branch 'feature/mastofe-admin-scope' into 'develop'
auth_controller.ex: Add admin scope to MastoFE

See merge request pleroma/pleroma!2256
2020-03-13 18:58:52 +00:00
feld 2019f3b3ff Merge branch 'fix/signup-without-email' into 'develop'
Allow account registration without an email

See merge request pleroma/pleroma!2246
2020-03-11 16:53:05 +00:00
lain 4bce13fa2f MastodonController: Return 404 errors correctly. 2020-03-04 18:09:06 +01:00
Mark Felder 05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Egor Kislitsyn 4a45b96a91
Merge branch 'develop' into fix/signup-without-email 2020-03-02 15:35:49 +04:00
Haelwenn (lanodan) Monnier 6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
rinpatch b5465bf385 timeline controller: add a TODO for replacing copypaste with a macro 2020-03-01 02:03:46 +03:00
rinpatch ffcebe7e22 timeline controller: rate limit timelines to 3 requests per 500ms per timeline per ip/user 2020-03-01 01:13:08 +03:00
Haelwenn (lanodan) Monnier 3ef2ff3e47
auth_controller.ex: Add admin scope to MastoFE
Related: https://git.pleroma.social/pleroma/pleroma/issues/1265
2020-02-29 01:25:14 +01:00
Egor Kislitsyn f446744a6a
Allow account registration without an email 2020-02-26 20:13:53 +04:00
Maksim Pechnikov 21a2a05407 Merge branch 'develop' into issue/1383 2020-01-28 20:39:20 +03:00
Hakaba Hitoyo dabd535e43 Remove user recommendation by third party engine 2020-01-27 13:21:50 +00:00
Maksim Pechnikov 8589632d09 fixed delete ScheduledActivity 2020-01-23 17:18:23 +03:00
Maksim Pechnikov b8d5c09f48 Merge branch 'develop' into issue/1383 2020-01-22 09:30:30 +03:00
Maksim Pechnikov 6e88a7e591 exclude blocked user posts from search results 2020-01-21 07:40:13 +03:00
lain 6a716e3fe5 Merge branch 'credo/version-bump-1.1.5' into 'develop'
Bump credo to 1.1.5

See merge request pleroma/pleroma!2115
2020-01-20 14:42:43 +00:00
Haelwenn e8759cb5ba Merge branch 'hashtag-benchmarks' into 'develop'
Hashtag benchmarks

See merge request pleroma/pleroma!2116
2020-01-20 11:26:07 +00:00
Haelwenn (lanodan) Monnier 5c533e10e7
Bump credo to 1.1.5 2020-01-20 12:17:14 +01:00
lain 2ee6754095 Mix Tasks: Add pleroma.benchmarks.tags 2020-01-14 17:24:26 +01:00
Egor Kislitsyn 34d85f8a54
Return 404 if account to filter notifications from is not found 2019-12-19 20:45:44 +07:00
Maksim Pechnikov 67cb46e15d Merge branch 'develop' into issue/1383 2019-12-14 21:44:10 +03:00
Mark Felder 9ef912aecf Merge branch 'develop' into issue/1411 2019-12-11 15:02:53 -06:00
Hakaba Hitoyo 701815e64c [ActivityPub] Configurable ActivityPub actor type 2019-12-10 13:19:26 +00:00
Maksim Pechnikov 5876a9cb79 Merge branch 'develop' into issue/1383 2019-12-08 19:52:46 +03:00
lain e8cee4d9a0 ActivityPub: For user timelines, respects blocks.
Unless the timeline belongs to a blocked user.
2019-12-06 14:25:13 +01:00
Maksim Pechnikov e21afdb7c7 Merge branch 'develop' into issue/1411 2019-12-05 12:18:59 +03:00
Ivan Tashkinov 30caf3e51e Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user.ex
2019-12-04 18:56:31 +03:00
lain e9993acdbb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-12-04 16:35:59 +01:00
Maksim Pechnikov 29a98b86b7 Merge branch 'develop' into issue/1383 2019-12-04 09:34:44 +03:00
Maksim Pechnikov 652cc6ba4b updated ScheduledActivity 2019-12-04 09:12:17 +03:00
lain 7722e5a67a Merge branch 'feature/move-activity' into 'develop'
Support "Move" activity

Closes #1316

See merge request pleroma/pleroma!1883
2019-12-02 16:26:19 +00:00
Maksim Pechnikov 88f7cf51d4 Merge branch 'develop' into issue/1411 2019-12-01 16:18:16 +03:00
Ivan Tashkinov cad9b325e5 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user/search.ex
#	test/user_test.exs
2019-11-21 16:47:52 +03:00
lain 8feb5dcb42 Merge branch 'issue/1348' into 'develop'
[#1348] excluded invisible actors from gets  /api/v1/accounts/:id

See merge request pleroma/pleroma!1937
2019-11-21 13:13:14 +00:00
Ivan Tashkinov ba5cc30165 [#1335] Implemented notification mutes and reblog mutes as UserRelationships. User to UserRelationship relations and functions refactoring. 2019-11-19 23:22:10 +03:00
Maksim Pechnikov 0937895182 updated fetch_favorites 2019-11-18 16:56:47 +03:00
Maksim Pechnikov 9da4c88b49 fix test 2019-11-18 10:00:48 +03:00
Maksim Pechnikov 4beb3ce5c5 /api/v1/favourites: added sorting for activites by adds to favorites 2019-11-18 09:44:08 +03:00
Ivan Tashkinov 01d9c093c3 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations 2019-11-15 21:40:14 +03:00
Ivan Tashkinov c31ddce51e [#1335] Reorganized `users.mutes` as relation to UserMute entity. 2019-11-15 21:38:54 +03:00
Egor Kislitsyn 3c0abfca53
Merge remote-tracking branch 'upstream/develop' into feature/move-activity 2019-11-14 16:39:45 +07:00
Egor Kislitsyn e6d7e27bd6
Add `allow_following_move` setting to User 2019-11-12 18:45:28 +07:00
Steven Fuchs 94627baa5c New rate limiter 2019-11-11 12:13:06 +00:00
Ivan Tashkinov 3db988250b [#1335] User: refactored :blocks field into :blocked_users relation.
Introduced UserBlock.
2019-11-10 16:30:21 +03:00
Maksim Pechnikov 9d0b989521 add subject to atom feed 2019-11-10 11:10:20 +03:00
lain 1bd1f62af5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-11-05 15:21:00 +01:00
Maksim Pechnikov 4b7c11e3f9 excluded invisible actors from gets /api/v1/accounts/:id 2019-11-04 20:44:24 +03:00
Egor Kislitsyn 4c1dd55c48 Merge remote-tracking branch 'upstream/develop' into refactor/following-relationships 2019-10-24 14:55:36 +07:00
Ivan Tashkinov 8cc809e44e Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	lib/pleroma/notification.ex
2019-10-23 17:22:42 +03:00
Egor Kislitsyn 4ea1a61b00
Merge branch 'develop' into refactor/following-relationships 2019-10-21 14:19:15 +07:00
Ivan Tashkinov e8843974cb [#1304] Moved remaining fields from User.Info to User.
Misc. fixes / improvements.
2019-10-20 13:42:42 +03:00
Maksim Pechnikov 66b5d0ff55 add Markers /api/v1/markers 2019-10-17 15:26:59 +03:00
Ivan Tashkinov 10ff01acd9 [#1304] Moved all non-mutes / non-blocks fields from User.Info to User. WIP. 2019-10-16 21:59:21 +03:00
lain 6e4f52f8a2 Introduce new ingestion pipeline structure, implement internal Likes with it. 2019-10-16 16:16:39 +02:00
Egor Kislitsyn 059005ff82
Replace `user.following` with Pleroma.FollowingRelationship 2019-10-11 02:35:32 +07:00
eugenijm 580a67f5ca Mastodon API: Return `pleroma.direct_conversation_id` when viewing a status (`GET /api/v1/statuses/:id`) 2019-10-09 07:27:09 +03:00
Ivan Tashkinov b93856874d [#1234] Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
#	lib/pleroma/web/router.ex
2019-10-06 17:12:17 +03:00
Ivan Tashkinov 06b3bb54c5 Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/web/mastodon_api/controllers/account_controller.ex
#	lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
#	lib/pleroma/web/router.ex
2019-10-06 11:43:49 +03:00
Haelwenn 9e34919dcd Merge branch 'fix-prameter-name-of-accounts-update-credentials' into 'develop'
Fix custom fields of accounts update credentials

See merge request pleroma/pleroma!1597
2019-10-06 04:41:06 +00:00
Ivan Tashkinov 64095961fe [#1234] Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	CHANGELOG.md
#	lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex
#	lib/pleroma/web/router.ex
2019-10-02 20:42:40 +03:00
Egor Kislitsyn e0c68eeb02
Move `:favourites` and `:bookmarks` actions to StatusController 2019-10-02 21:31:19 +07:00
Egor Kislitsyn 7f2bc57725
Move `follows`, `mutes` and `blocks` actions to AccountController 2019-10-02 21:22:21 +07:00
Egor Kislitsyn d3c404af12
Add MastoFEController 2019-10-02 20:36:08 +07:00
Egor Kislitsyn 1c6e1055c8
Add CustomEmojiController 2019-10-02 19:16:34 +07:00
Egor Kislitsyn c8b01f6667
Extract instance actions from `MastodonAPIController` to `InstanceController` 2019-10-02 14:13:52 +07:00
kaniini 8557176808 Merge branch 'split-masto-api/auth' into 'develop'
Extract auth actions from `MastodonAPIController` to `AuthController`

See merge request pleroma/pleroma!1759
2019-10-02 07:02:56 +00:00
kaniini 9b38bf4af4 Merge branch 'features/private-reblogs' into 'develop'
Allow receiving private self-announces over ActivityPub

See merge request pleroma/pleroma!1766
2019-10-02 07:02:24 +00:00
feld 1255ec888d Revert "Add upload limits to /api/v1/instance"
This reverts commit db27c0dd8b18763ff2abb124ee8d641a4580cdaa.
2019-10-01 22:16:29 +00:00
Thibaut Girka 427d0c2a00 Store private announcements in object.data["announcements"], filter them on display 2019-10-01 22:39:25 +02:00
Thibaut Girka 4c1f158f5d Allow users to announce privately, including own private notes 2019-10-01 20:00:59 +02:00
Egor Kislitsyn af690d1033
Extract auth actions from `MastodonAPIController` to `AuthController` 2019-10-01 15:54:45 +07:00
Egor Kislitsyn 2dad6dd020
Extract apps actions from `MastodonAPIController` to `AppController` 2019-10-01 15:21:46 +07:00
Egor Kislitsyn 39695c4436 Extract suggestions actions from `MastodonAPIController` to `SuggestionController` 2019-10-01 15:07:49 +07:00
Egor Kislitsyn 585bc57edb
Extract media actions from `MastodonAPIController` to `MediaController` 2019-10-01 14:36:35 +07:00
Egor Kislitsyn 36a34c36fe
Extract poll actions from `MastodonAPIController` to `PollController` 2019-10-01 11:44:34 +07:00
kPherox a0f101ee80
Merge remote-tracking branch 'upstream/develop' into fix-prameter-name-of-accounts-update-credentials 2019-10-01 01:40:33 +09:00
Egor Kislitsyn 0c6009dd2e
Extract mascot actions from `MastodonAPIController` to MascotController 2019-09-30 19:32:43 +07:00
Egor Kislitsyn 987e0b8be8
Move update_credentials to MastodonAPI.AccountController 2019-09-30 19:10:56 +07:00
Egor Kislitsyn c0ce2d5faf
Move account_register, relationships and verify_credentials to MastodonAPI.AccountController 2019-09-30 19:10:55 +07:00
Egor Kislitsyn 3c5ecb70b4
Add PleromaAPI.AccountController 2019-09-30 19:10:55 +07:00
Egor Kislitsyn e7aef27c00
Fix merge 2019-09-30 19:10:54 +07:00
kaniini 0e356cc800 Merge branch 'split-masto-api/reports' into 'develop'
Extract report actions from `MastodonAPIController` to `ReportController`

See merge request pleroma/pleroma!1744
2019-09-30 11:17:30 +00:00
Egor Kislitsyn b7f27a4f58
Extract report actions from `MastodonAPIController` to `ReportController`
Update MastodonAPI.ReportView
2019-09-30 17:44:10 +07:00
Egor Kislitsyn d4d88b3361
Extract conversation actions from `MastodonAPIController` to ConversationController 2019-09-30 16:52:07 +07:00
Maksim Pechnikov 1053319cd6 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-28 10:36:04 +03:00
Haelwenn (lanodan) Monnier 9202904da9
status_controller.ex: Posting media status without content defined 2019-09-28 01:53:41 +02:00
kaniini 92d08d4113 Merge branch 'split-masto-api/follow-requests' into 'develop'
Extract follow requests actions from `MastodonAPIController` to `FollowRequestController`

See merge request pleroma/pleroma!1730
2019-09-27 07:54:54 +00:00
kaniini 68bf99baf2 Merge branch 'split-masto-api/domain-blocks' into 'develop'
Extract domain blocks actions from `MastodonAPIController` to `DomainBlockController`

See merge request pleroma/pleroma!1729
2019-09-27 07:54:08 +00:00
kaniini 27a3221d57 Merge branch 'split-masto-api/scheduled-statuses' into 'develop'
Extract scheduled statuses actions from `MastodonAPIController` to `ScheduledActivityController`

See merge request pleroma/pleroma!1728
2019-09-27 07:53:22 +00:00
Egor Kislitsyn 408750b94e Extract domain blocks actions from `MastodonAPIController` to `DomainBlockController` 2019-09-27 14:28:05 +07:00
Egor Kislitsyn 99c5a35890 Extract follow requests actions from `MastodonAPIController` to `FollowRequestController` 2019-09-27 14:25:17 +07:00
Egor Kislitsyn 0a5b106ddd Extract scheduled statuses actions from `MastodonAPIController` to `ScheduledActivityController` 2019-09-27 13:36:28 +07:00
Egor Kislitsyn 621377f378 Extract filter actions from `MastodonAPIController` to `FilterController` 2019-09-27 13:06:25 +07:00
Egor Kislitsyn 5ea5c58a85 Move view logic from StatusController.context to StatusView and add a test 2019-09-27 10:52:47 +07:00
Egor Kislitsyn 98d1347a4e Extract status actions from `MastodonAPIController` into `StatusController` 2019-09-27 10:51:15 +07:00
kaniini 219771288c Merge branch 'refactor/common_api' into 'develop'
Refactor `CommonAPI.post/2`

See merge request pleroma/pleroma!1713
2019-09-27 03:46:02 +00:00
Maksim Pechnikov 73ae38ca04 add deprecated tag 2019-09-26 21:08:04 +03:00
Maksim Pechnikov 3d722dc200 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-26 16:16:30 +03:00
Egor Kislitsyn 3572cf29b7 Extract timeline actions from `MastodonAPIController` into `TimelineController` 2019-09-26 10:53:42 +07:00
Egor Kislitsyn eed774d058 Add CommonAPI.ActivityDraft 2019-09-26 10:29:34 +07:00
kaniini 6abe12dced Merge branch 'refactor/notification-controller' into 'develop'
Extract notification actions from `MastodonAPIController` into `NotificationController`

See merge request pleroma/pleroma!1646
2019-09-26 03:13:22 +00:00
kaniini 48a82c4609 Merge branch 'refactor/user' into 'develop'
Simplify updating user's `info`

See merge request pleroma/pleroma!1712
2019-09-26 03:00:38 +00:00
Hakaba Hitoyo 5fb72170a7 Revert "add _discoverable_ keyword into ActivityPub @context"
This reverts commit 3aef4bdf8f37efd1055a84c5fca12ec4559a17f5.
2019-09-26 02:57:41 +00:00
Maksim Pechnikov 1a858134ed Merge branch 'develop' into issue/1218 2019-09-25 12:24:12 +03:00
Egor Kislitsyn 035f22f784 Fix Credo warnings 2019-09-24 19:50:09 +07:00
Egor Kislitsyn 209395c7e6 Add User.change_info/2 and User.update_info/2 2019-09-24 19:50:07 +07:00
Egor Kislitsyn a66a7a328f Extract notification actions from `MastodonAPIController` into `NotificationController` 2019-09-24 15:16:44 +07:00
Egor Kislitsyn 79b25be4e1 Do not return tuple when unneeded 2019-09-24 15:03:20 +07:00
Maksim Pechnikov d75d0ae134 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-24 08:06:04 +03:00
kaniini 760df67a7b Merge branch 'remove-direct-messages-from-public-timeline' into 'develop'
Fix private and direct statuses not being filtered out from the public timeline for an authenticated user.

Closes #1223

See merge request pleroma/pleroma!1703
2019-09-23 22:35:09 +00:00
Steven Fuchs e1d2d69c87 Clean up views 2019-09-23 22:33:59 +00:00
Maksim Pechnikov 494bb6bac6 updated tests 2019-09-23 22:37:30 +03:00
Maksim Pechnikov 179fa32dd5 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-23 21:41:57 +03:00
eugenijm 7cf1252455 Mastodon API: Fix private and direct statuses not being filtered out from the public timeline for an authenticated user (`GET /api/v1/timelines/public`) 2019-09-20 18:27:00 +03:00
Ivan Tashkinov 6f67aed3ac [#1234] Merge remote-tracking branch 'remotes/upstream/develop' into 1234-mastodon-2-4-3-oauth-scopes
# Conflicts:
#	lib/pleroma/web/admin_api/admin_api_controller.ex
2019-09-19 10:59:09 +03:00