Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
b7f8fd7
Add chat app with some funcs
yeezy-na-izi Oct 27, 2022
7fcb792
fixed UserAdmin.list_filter
VeryBigSad Oct 28, 2022
fa5662b
added admin for Message & Chat models, also added new field Chat.crea…
VeryBigSad Oct 28, 2022
d918b77
Update permissions in chat routers
yeezy-na-izi Oct 29, 2022
212ee0d
Merge branch 'master' into feature/chats
VeryBigSad Dec 19, 2022
57a0f18
add channels dependency
VeryBigSad Dec 19, 2022
8b1e183
Merge remote-tracking branch 'origin/feature/chats' into feature/chats
VeryBigSad Dec 21, 2022
23c9b8d
added CustomUserManager.get_active()
VeryBigSad Dec 21, 2022
0d696dd
dependencies
VeryBigSad Dec 21, 2022
aa25a65
basic chat functionality?
VeryBigSad Dec 21, 2022
c2e65c8
using json websocket consumer
VeryBigSad Dec 23, 2022
abf5521
started working on DirectChat and ProjectChat
VeryBigSad Dec 23, 2022
b5235c6
Refactor BaseChat, ProjectChat and DirectChat models
yakser Dec 23, 2022
a64b3d4
Comment serializers.py
yakser Dec 24, 2022
37a1e4a
add CustomUser.get_full_name()
VeryBigSad Dec 24, 2022
f5658ce
work on message models
VeryBigSad Dec 24, 2022
225ab0e
fix admin for chats
VeryBigSad Dec 24, 2022
0692557
maybe fix tests?
VeryBigSad Dec 24, 2022
f1225d7
first_user & second_user -> users
VeryBigSad Dec 24, 2022
d52ec36
change admin for chats
VeryBigSad Dec 24, 2022
e5d6b52
refactoring
VeryBigSad Dec 24, 2022
6603ad8
refactoring, so that pylint will work
VeryBigSad Dec 24, 2022
810eebd
Replaced string concatenation to f-string in CustomUser. get_full_name()
yakser Dec 24, 2022
fe9b06a
Little refactoring
yakser Dec 24, 2022
85a813e
Fixed linter errors
yakser Dec 24, 2022
16de7bc
better models & methods
VeryBigSad Dec 25, 2022
f9592b4
better docstrings for core.permissions
VeryBigSad Dec 25, 2022
9904ce9
authorization for consumers
VeryBigSad Dec 25, 2022
997ccd5
work on ChatConsumer
VeryBigSad Dec 25, 2022
204fbec
creating message objects on chat messages
VeryBigSad Dec 25, 2022
5163de5
fix tests?
VeryBigSad Dec 25, 2022
31dd59c
Added chat and event types, message validation
yakser Dec 25, 2022
8e1ec1b
Removed unused constant, divided connect function
yakser Dec 25, 2022
8800c5f
fix of possible bug
VeryBigSad Dec 25, 2022
ab849fc
Fixed import
yakser Dec 27, 2022
3ad0992
Merge branch 'feature/chats' of https://github.com/PROCOLLAB-github/a…
yakser Dec 27, 2022
1fd6de0
Merge branch 'dev' into feature/chats
VeryBigSad Dec 27, 2022
51768fd
work on chats: reading/typing/new message events for consumers.py
VeryBigSad Jan 11, 2023
3886f7c
Trying to add ChatList
yakser Jan 11, 2023
f77cd23
work on chats: reading/typing/new message events for consumers.py
VeryBigSad Jan 11, 2023
b6df43a
work on chats: reading/typing/new message events for consumers.py
VeryBigSad Jan 11, 2023
abc568a
Merge branch 'master' into feature/chats
VeryBigSad Jan 11, 2023
7baf193
setting up caches
VeryBigSad Jan 11, 2023
10e3fa1
more work towards chats
VeryBigSad Jan 11, 2023
63a86b5
more serializers
VeryBigSad Jan 17, 2023
f17db4e
black formatter
VeryBigSad Jan 17, 2023
f0d6caa
added views to chats
VeryBigSad Jan 17, 2023
8a508f3
something
VeryBigSad Jan 18, 2023
73aeec8
Added REDIS_HOST to .env variables
yakser Jan 21, 2023
f36172b
Added ProjectChatDetail view and serializer, added get_project_chats …
yakser Jan 21, 2023
b2db072
Added is_read field for messages
yakser Jan 21, 2023
8d28af1
CU-861m7qfcb
yeezy-na-izi Jan 21, 2023
acab684
CU-861m7qfcb
yeezy-na-izi Jan 21, 2023
dde54e2
CU-861m7qfcb
yeezy-na-izi Jan 21, 2023
afd8766
CU-861m7qfcb
yeezy-na-izi Jan 21, 2023
31ba4fe
CU-861m7qfcb
yeezy-na-izi Jan 21, 2023
2183b57
Fixed ProjectChat creation and get_project_chats function
yakser Jan 23, 2023
02177d1
Fixed ProjectChat creation
yakser Jan 23, 2023
94fc0c6
Finished chats detailed views
yakser Jan 23, 2023
61a1315
Added chat name and image url for project chat detail
yakser Jan 23, 2023
757f38a
made one supermassive cringe consumer
yakser Jan 25, 2023
9a69aa2
made conusmers async
VeryBigSad Jan 27, 2023
4962f15
Added authorization for consumer by token
VeryBigSad Jan 27, 2023
a25e08a
Fix authorization bug for ws
VeryBigSad Jan 27, 2023
5df56cd
refactoring
VeryBigSad Jan 27, 2023
b54cae8
Added online/offline events + cache
yakser Jan 28, 2023
00904ef
Moved token from qstring to headers
yakser Jan 28, 2023
60df5cd
Add is_online field to users serializers
yakser Jan 28, 2023
f15cf0e
🚀🚀🚀🚀🚀 When someone is online/offline, everyone gets a notification
VeryBigSad Jan 28, 2023
8b1aea4
started making a messenger
VeryBigSad Jan 28, 2023
270431d
Trying to make messenger work
yakser Jan 28, 2023
7c802d6
Increased ACCESS_TOKEN_LIFETIME in debug mode
yakser Jan 28, 2023
c694ee5
🎉🎉🎉🎉🎉🍺🍺🍺🍺🍺🍺 Direct Chats working now, project chats yet to be impleme…
VeryBigSad Jan 28, 2023
29247c3
altered id field on ProjectChat
VeryBigSad Jan 28, 2023
d741ffd
added message.reply_to
VeryBigSad Jan 29, 2023
7f6c843
optimized project chat creation
VeryBigSad Jan 29, 2023
edfec70
added project messages, improved error handling,
VeryBigSad Jan 29, 2023
438a1f0
Made BaseMessage abstract, removed old migrations
VeryBigSad Jan 29, 2023
718890d
Added is_delete field to the messages models
yakser Jan 29, 2023
fe0064a
Moved message creation to utils
yakser Jan 29, 2023
13e0e56
Changed TIME_ZONE to Moscow
yakser Jan 29, 2023
0b1371b
Little refactoring
yakser Jan 29, 2023
d92c92f
Added delete message event
yakser Jan 29, 2023
a73b3db
maybe working message read/typing
VeryBigSad Jan 29, 2023
f474cc4
Finished read/typing events
yakser Jan 29, 2023
efa34fa
Fixed content assignment
yakser Jan 30, 2023
01ec775
probably working reply_to constraint migration, but doesn't work on s…
VeryBigSad Feb 8, 2023
b2a7b45
Merge branch 'dev' into feature/chats
VeryBigSad Feb 9, 2023
f71a586
adding structure for docs
VeryBigSad Feb 23, 2023
d2865f7
chats docs
VeryBigSad Feb 23, 2023
37ba31b
Merge pull request #94 from PROCOLLAB-github/feature/chats
VeryBigSad Feb 23, 2023
106c110
Merge branch 'feature/docs' into dev
VeryBigSad Feb 23, 2023
3bfdb9f
Merge branch 'master' into dev
VeryBigSad Feb 23, 2023
1f5ed51
дока
VeryBigSad Feb 23, 2023
c569eca
Merge pull request #93 from PROCOLLAB-github/feature/likes_and_views
VeryBigSad Feb 24, 2023
83fa88d
Finished simple stupid user recommendation
yakser Feb 24, 2023
187411c
Edited comments
yakser Feb 24, 2023
ee6c7f4
Moved recommendations logic to helpers
yakser Feb 25, 2023
a75f1a5
Fixed migrations
yakser Feb 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ DATABASE_PORT=
SELECTEL_ACCOUNT_ID=
SELECTEL_CONTAINER_NAME=
SELECTEL_CONTAINER_PASSWORD=
SELECTEL_CONTAINER_USERNAME=
SELECTEL_CONTAINER_USERNAME=

REDIS_HOST=
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Procollab backend service

## Документация

[Здесь](/docs/readme.md)

## Usage

### Clone project
Expand Down
File renamed without changes.
40 changes: 40 additions & 0 deletions chats/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from django.contrib import admin

from chats.models import ProjectChat, DirectChat, ProjectChatMessage, DirectChatMessage


@admin.display(description="Пользователи чата")
def chat_users(obj):
return f"{obj.get_users_str()}"


@admin.display(description="Количество сообщений")
def chat_message_count(obj):
return obj.messages.count()


@admin.register(ProjectChat)
class ChatAdmin(admin.ModelAdmin):
list_display = ("id", "project", chat_users, chat_message_count, "created_at")
list_display_links = (
"id",
"project",
)


@admin.register(DirectChat)
class DirectChatAdmin(admin.ModelAdmin):
list_display = ("id", chat_users, chat_message_count, "created_at")
list_display_links = ("id",)


@admin.register(ProjectChatMessage)
class ProjectChatMessageAdmin(admin.ModelAdmin):
list_display = ("id", "author", "chat", "created_at")
list_display_links = ("id", "author", "chat")


@admin.register(DirectChatMessage)
class DirectChatMessageAdmin(admin.ModelAdmin):
list_display = ("id", "author", "chat", "created_at")
list_display_links = ("id", "author", "chat")
7 changes: 7 additions & 0 deletions chats/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.apps import AppConfig


class ChatsConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "chats"
verbose_name = "Чаты"
Loading