Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

promote: stage-release to master #1600

Merged
merged 123 commits into from
Jul 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
c743d43
fix: charts design and mutation (#1426)
aaryan610 Jun 28, 2023
1ed7935
docs: update readme.md for self hosting setup and remove pnpm from co…
pablohashescobar Jun 29, 2023
3c07da4
fix: overflow fix
anmolsinghbhatia Jun 29, 2023
8229b12
style: recent page overflow fix
anmolsinghbhatia Jun 29, 2023
f2a4e02
fix: cycle and module sidebar overflow fix
anmolsinghbhatia Jun 29, 2023
d8eeb9e
fix: cycle list item fix
anmolsinghbhatia Jun 29, 2023
ebf877b
fix: display properties fix
anmolsinghbhatia Jun 29, 2023
32bf2ed
fix: display properties fix
anmolsinghbhatia Jun 29, 2023
d62dc25
Add network timeout option to yarn install (#1382)
tajkirkpatrick Jun 30, 2023
7e2caf6
chore: Dry up docker compose environment variables (#1438)
mdp Jun 30, 2023
fc15da8
style: label dropdown empty state
anmolsinghbhatia Jun 30, 2023
110eb39
dev: update packages to latest version (#1431)
pablohashescobar Jun 30, 2023
54a536e
Merge pull request #1436 from makeplane/fix/bug_fix_and_ui_improvement
gurusainath Jul 3, 2023
e23e9cc
fix: project member list endpoint n+1 (#1458)
pablohashescobar Jul 4, 2023
e4ee6a5
chore: workspace char name and slug maximum length (#1453)
pablohashescobar Jul 4, 2023
1a72a0d
fix: user invitation workflow for self hosted version (#1441)
pablohashescobar Jul 4, 2023
5a6fd0e
chore: due date filter (#1460)
pablohashescobar Jul 4, 2023
4ede04d
refactor: standardized date format throughout the platform (#1461)
anmolsinghbhatia Jul 4, 2023
4c3e2c2
chore: due date filter (#965)
kunalv17 Jul 4, 2023
e530533
fix: layout of tabs on Pages is not adaptable to mobile screens #1380…
ChandanJal Jul 4, 2023
c3fe221
chore: update project members type (#1459)
aaryan610 Jul 4, 2023
3906503
fix: state icon color on group titles (#1435)
aaryan610 Jul 4, 2023
cc0701a
fix: workspace invitation delete for self hosted (#1475)
pablohashescobar Jul 5, 2023
6bfeb6a
chore: upgrade backend dependencies (#1479)
pablohashescobar Jul 6, 2023
2f8a1db
chore: project members endpoint to support bulk operations (#1464)
pablohashescobar Jul 6, 2023
8443dfc
chore: rename workspace company size to organization size (#1463)
pablohashescobar Jul 6, 2023
3a2f4d5
fix: static and media files storages (#1482)
pablohashescobar Jul 6, 2023
49f37e0
fix: emoji render function (#1484)
aaryan610 Jul 6, 2023
353c851
feat: bulk invite for project (#1466)
anmolsinghbhatia Jul 7, 2023
7868bfa
feat: created on and updated on column added in spreadsheet view (#1454)
anmolsinghbhatia Jul 7, 2023
d564ea8
fix: resolved overflow issue with longer state names (#1444)
anmolsinghbhatia Jul 7, 2023
a14f8c2
chore: update theming structure (#1422)
aaryan610 Jul 10, 2023
4c2cb23
chore: update classnames according to the new theming structure (#1494)
aaryan610 Jul 10, 2023
ad1a074
chore: environment variables for worker and api (#1492)
pablohashescobar Jul 11, 2023
abdb4a4
feat: notifications (#1363)
pablohashescobar Jul 11, 2023
7087b1b
fix: docker inconsistencies (#1493)
Quadrubo Jul 11, 2023
7554988
feat: issue archival and close (#1474)
NarayanBavisetti Jul 11, 2023
253edeb
fix: updated text and background colors (#1496)
aaryan610 Jul 11, 2023
eba2f38
feat: web waitlist modal integration (#1487)
srinivaspendem Jul 11, 2023
1403a53
feat: openai host (#1447)
rush-skills Jul 11, 2023
5773ff2
chore: updated old and new value in issue archival (#1500)
NarayanBavisetti Jul 11, 2023
82ff786
Closing of dialog when we click around the dialog (#1364)
kblueberry Jul 12, 2023
4a2057c
style: new empty states (#1497)
aaryan610 Jul 12, 2023
26f0e9d
fix: add missing argument (#1506)
aaryan610 Jul 12, 2023
a1b09fc
style: onboarding screens (#1412)
aaryan610 Jul 12, 2023
275942a
feat: flag for onboarding tour completion (#1499)
pablohashescobar Jul 12, 2023
c9cbca5
feat: auto-archive and auto-close (#1502)
anmolsinghbhatia Jul 13, 2023
120d069
style: inbox (#1508)
aaryan610 Jul 13, 2023
2ff49c9
fix: notifications (#1498)
pablohashescobar Jul 13, 2023
61ad6b9
chore: upgrade psycopg to 3 (#1507)
pablohashescobar Jul 13, 2023
411a661
fix: magic code casing (#1519)
pablohashescobar Jul 13, 2023
864e592
fix: onboarding screen design issues (#1517)
aaryan610 Jul 13, 2023
a829e6f
chore: added is_favorite filter (#1518)
NarayanBavisetti Jul 13, 2023
3f3fb37
fix: issue archive improvement, chore: code refactor (#1520)
anmolsinghbhatia Jul 13, 2023
60e96bc
style: app sidebar revamp (#1120)
anmolsinghbhatia Jul 13, 2023
7361657
fix: issue delete redirection, chore: code refactor (#1521)
anmolsinghbhatia Jul 13, 2023
c9a5893
chore: update favorite projects endpoint (#1522)
aaryan610 Jul 13, 2023
7914bcf
refactor: serializers to avoid getting child items (#1504)
pablohashescobar Jul 14, 2023
da6ecd4
refactor: favorite projects fetch function, chore: update tooltip des…
aaryan610 Jul 14, 2023
5fadf53
style: auth screens (#1531)
aaryan610 Jul 17, 2023
f9f8b5c
chore: update bridge id to cycle and module id (#1513)
pablohashescobar Jul 17, 2023
e018134
fix: n+1s (#1514)
pablohashescobar Jul 17, 2023
b69c4b6
chore: notifications (#1515)
pablohashescobar Jul 17, 2023
8df1648
fix: dashboard pie chart legends overflow (#1528)
aaryan610 Jul 17, 2023
0a56a30
fix: issue sidebar create label form (#1527)
aaryan610 Jul 17, 2023
090870b
fix: created_by notifications (#1534)
pablohashescobar Jul 17, 2023
538d67d
fix: theming colors (#1533)
aaryan610 Jul 17, 2023
dddfeb1
refactor: dropdowns (#1532)
aaryan610 Jul 17, 2023
6e9f397
style: empty state for archive issue (#1541)
dakshesh14 Jul 18, 2023
16a7bd3
feat: user issue notifications (#1523)
dakshesh14 Jul 18, 2023
9d891ec
fix: selecting label once create using modal (#1537)
dakshesh14 Jul 18, 2023
9b423ce
fix: create workspace valid (#1535)
dakshesh14 Jul 18, 2023
88fbe85
fix: button and input heights (#1548)
aaryan610 Jul 18, 2023
68108c9
fix: favorite permissions (#1549)
pablohashescobar Jul 18, 2023
52ee8c5
chore: remove logger from gpt assistant (#1542)
pablohashescobar Jul 18, 2023
b12a00c
chore: default project state colors (#1540)
pablohashescobar Jul 18, 2023
55a1291
fix: inbox issue archival (#1538)
pablohashescobar Jul 18, 2023
0feab16
style: onboarding screens (#1539)
aaryan610 Jul 18, 2023
93da220
fix: same empty state coming for all issue list related UI (#1547)
dakshesh14 Jul 18, 2023
059b8c7
refactor: parent issue select (#1546)
aaryan610 Jul 18, 2023
9ba8f5c
fix: cycle module notifications (#1536)
pablohashescobar Jul 18, 2023
fc92d7d
chore: hide issue properties if there are none (#1554)
aaryan610 Jul 18, 2023
07c097c
style: different style for archive & project issues (#1552)
dakshesh14 Jul 18, 2023
5ae963c
fix: tour sidebar icons, auth pages scroll (#1555)
aaryan610 Jul 18, 2023
a7aa78a
chore: high contrast theming (#1559)
aaryan610 Jul 19, 2023
ccab382
chore: add dashboard navbar (#1560)
aaryan610 Jul 19, 2023
5e1f0a2
fixes as per consistency (#1562)
rhea0110 Jul 19, 2023
c71a213
fix: scope and demand line graph y axis values (#1563)
aaryan610 Jul 19, 2023
a42bff6
fix: archived issue details page overflow, restore button loading (#1…
aaryan610 Jul 19, 2023
d1f2a81
fix: update border colors on theme switch (#1565)
aaryan610 Jul 19, 2023
509af46
dev: migrations (#1561)
pablohashescobar Jul 19, 2023
98b9957
fix: issue created notification (#1553)
pablohashescobar Jul 19, 2023
53e443d
feat: notifications (#1566)
dakshesh14 Jul 19, 2023
0102f1d
fix: psycopg errors (#1568)
pablohashescobar Jul 19, 2023
d759438
fix: issue automation (#1569)
pablohashescobar Jul 19, 2023
2f3970f
feat: beat worker for configuration (#1571)
pablohashescobar Jul 19, 2023
da603dc
Update README.md (#1543)
rhea0110 Jul 19, 2023
86a120f
Merge branch 'stage-release' into develop
gurusainath Jul 19, 2023
b388987
Merge pull request #1570 from makeplane/develop
vihar Jul 19, 2023
124c2f7
fix: onboarding invitations overflow (#1575)
aaryan610 Jul 19, 2023
bed5f76
fix: no 'Create by me' label coming up (#1573)
dakshesh14 Jul 19, 2023
5c5bcb3
style: tooltip on notification header actions (#1577)
dakshesh14 Jul 19, 2023
1bae928
fix: user migrations for back population (#1578)
pablohashescobar Jul 19, 2023
26b18b4
fix: total notifications count (#1579)
aaryan610 Jul 19, 2023
6eb7250
fix: notification card (#1583)
aaryan610 Jul 20, 2023
c72ff78
feat: add new icons package (#1586)
aaryan610 Jul 20, 2023
3412368
chore: notification ordering (#1584)
pablohashescobar Jul 20, 2023
5e625ab
fix: uuid error when cycle and module updates (#1585)
pablohashescobar Jul 20, 2023
780573d
refactor: height of popover & api fetch call (#1587)
dakshesh14 Jul 20, 2023
4aef8c2
fix: snooze dropdown overflow (#1588)
aaryan610 Jul 20, 2023
9275e6f
promote: develop to stage-release (#1589)
aaryan610 Jul 20, 2023
51f10d5
fix: notification subscribe endpoint (#1593)
dakshesh14 Jul 20, 2023
52d21b9
chore: notification empty state overflow (#1592)
aaryan610 Jul 20, 2023
05df655
Merge branch 'stage-release' of gurusainath:makeplane/plane into develop
gurusainath Jul 20, 2023
9b67217
fix: issues count to remove archived issues (#1591)
pablohashescobar Jul 20, 2023
e687cd6
dev: background migration for user custom themes (#1590)
pablohashescobar Jul 20, 2023
ecdd1f1
promote: develop to stage-release (#1594)
aaryan610 Jul 20, 2023
c5e418a
Merge branch 'stage-release' of gurusainath:makeplane/plane into develop
gurusainath Jul 20, 2023
2299381
Merge branch 'develop' of gurusainath:makeplane/plane into develop
gurusainath Jul 20, 2023
bca7499
Merge pull request #1595 from makeplane/develop
gurusainath Jul 20, 2023
7866936
fix: restrict notifications for created by when the actor is same (#1…
pablohashescobar Jul 20, 2023
546aa40
fix: un-read count not mutating (#1598)
dakshesh14 Jul 20, 2023
30ea1ad
Merge pull request #1597 from makeplane/develop
aaryan610 Jul 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 7 additions & 6 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ NEXT_PUBLIC_GITHUB_ID=""
NEXT_PUBLIC_GITHUB_APP_NAME=""
# Sentry DSN for error monitoring
NEXT_PUBLIC_SENTRY_DSN=""
# Enable/Disable OAUTH - default 0 for selfhosted instance
# Enable/Disable OAUTH - default 0 for selfhosted instance
NEXT_PUBLIC_ENABLE_OAUTH=0
# Enable/Disable sentry
NEXT_PUBLIC_ENABLE_SENTRY=0
# Enable/Disable session recording
# Enable/Disable session recording
NEXT_PUBLIC_ENABLE_SESSION_RECORDER=0
# Enable/Disable event tracking
NEXT_PUBLIC_TRACK_EVENTS=0
Expand Down Expand Up @@ -59,15 +59,16 @@ AWS_S3_BUCKET_NAME="uploads"
FILE_SIZE_LIMIT=5242880

# GPT settings
OPENAI_API_KEY=""
GPT_ENGINE=""
OPENAI_API_BASE="https://api.openai.com/v1" # change if using a custom endpoint
OPENAI_API_KEY="sk-" # add your openai key here
GPT_ENGINE="gpt-3.5-turbo" # use "gpt-4" if you have access

# Github
GITHUB_CLIENT_SECRET="" # For fetching release notes

# Settings related to Docker
DOCKERIZED=1
# set to 1 If using the pre-configured minio setup
# set to 1 If using the pre-configured minio setup
USE_MINIO=1

# Nginx Configuration
Expand All @@ -79,4 +80,4 @@ DEFAULT_PASSWORD="password123"

# SignUps
ENABLE_SIGNUP="1"
# Auto generated and Required that will be generated from setup.sh
# Auto generated and Required that will be generated from setup.sh
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ You can open a new issue with this [issue form](https://github.com/makeplane/pla
- Python version 3.8+
- Postgres version v14
- Redis version v6.2.7
- pnpm version 7.22.0

### Setup the project

Expand Down
24 changes: 8 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@
<p>
<a href="https://app.plane.so/#gh-light-mode-only" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Screen.png?updatedAt=1684942001069"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Screen.png"
alt="Plane Screens"
width="100%"
/>
</a>
<a href="https://app.plane.so/#gh-dark-mode-only" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Screens_Dark_Mode.png?updatedAt=1684942388044"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Screens+Dark+Mode.png"
alt="Plane Screens"
width="100%"
/>
Expand Down Expand Up @@ -61,14 +61,6 @@ chmod +x setup.sh

> If running in a cloud env replace localhost with public facing IP address of the VM

- Export Environment Variables

```bash
set -a
source .env
set +a
```

- Run Docker compose up

```bash
Expand All @@ -94,7 +86,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Views_Dark_Mode.png?updatedAt=1684943050275"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Views+Dark+Mode.png"
alt="Plane Views"
width="100%"
/>
Expand All @@ -103,7 +95,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Issue_Detail_Dark_Mode.png?updatedAt=1684943050202"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Issue+Detail+Dark+Mode.png"
alt="Plane Issue Details"
width="100%"
/>
Expand All @@ -112,7 +104,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Cycles___Modules_Dark_Mode.png?updatedAt=1684943050281"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Cycles+%26+Modules+Dark+Mode.png"
alt="Plane Cycles and Modules"
width="100%"
/>
Expand All @@ -121,7 +113,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Analytics_Dark_Mode.png?updatedAt=1684944596824"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Analytics+Dark+Mode.png"
alt="Plane Analytics"
width="100%"
/>
Expand All @@ -130,7 +122,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Pages_Dark_Mode.png?updatedAt=1684943050202"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Pages+Dark+Mode.png"
alt="Plane Pages"
width="100%"
/>
Expand All @@ -140,7 +132,7 @@ docker compose up -d
<p>
<a href="https://plane.so" target="_blank">
<img
src="https://ik.imagekit.io/killbluedog/Plane_Commad_K_Dark_Mode.png?updatedAt=1684943050312"
src="https://plane-marketing.s3.ap-south-1.amazonaws.com/Plane+Commad+K+Dark+Mode.png"
alt="Plane Command Menu"
width="100%"
/>
Expand Down
2 changes: 1 addition & 1 deletion apiserver/Dockerfile.api
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ USER root
RUN apk --no-cache add "bash~=5.2"
COPY ./bin ./bin/

RUN chmod +x ./bin/takeoff ./bin/worker
RUN chmod +x ./bin/takeoff ./bin/worker ./bin/beat
RUN chmod -R 777 /code

USER captain
Expand Down
3 changes: 2 additions & 1 deletion apiserver/Procfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
web: gunicorn -w 4 -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:$PORT --config gunicorn.config.py --max-requests 10000 --max-requests-jitter 1000 --access-logfile -
worker: celery -A plane worker -l info
worker: celery -A plane worker -l info
beat: celery -A plane beat -l INFO
5 changes: 5 additions & 0 deletions apiserver/bin/beat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
set -e

python manage.py wait_for_db
celery -A plane beat -l info
2 changes: 1 addition & 1 deletion apiserver/bin/takeoff
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ python manage.py migrate
# Create a Default User
python bin/user_script.py

exec gunicorn -w 8 -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:8000 --config gunicorn.config.py --max-requests 1200 --max-requests-jitter 1000 --access-logfile -
exec gunicorn -w 8 -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:8000 --max-requests 1200 --max-requests-jitter 1000 --access-logfile -
5 changes: 5 additions & 0 deletions apiserver/plane/api/serializers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
ProjectIdentifierSerializer,
ProjectFavoriteSerializer,
ProjectLiteSerializer,
ProjectMemberLiteSerializer,
)
from .state import StateSerializer, StateLiteSerializer
from .view import IssueViewSerializer, IssueViewFavoriteSerializer
Expand All @@ -41,6 +42,7 @@
IssueLinkSerializer,
IssueLiteSerializer,
IssueAttachmentSerializer,
IssueSubscriberSerializer,
)

from .module import (
Expand Down Expand Up @@ -74,4 +76,7 @@
)

from .inbox import InboxSerializer, InboxIssueSerializer, IssueStateInboxSerializer

from .analytic import AnalyticViewSerializer

from .notification import NotificationSerializer
20 changes: 16 additions & 4 deletions apiserver/plane/api/serializers/issue.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
IssueProperty,
IssueBlocker,
IssueAssignee,
IssueSubscriber,
IssueLabel,
Label,
IssueBlocker,
Expand Down Expand Up @@ -461,9 +462,9 @@ class Meta:

# Issue Serializer with state details
class IssueStateSerializer(BaseSerializer):
state_detail = StateSerializer(read_only=True, source="state")
project_detail = ProjectSerializer(read_only=True, source="project")
label_details = LabelSerializer(read_only=True, source="labels", many=True)
label_details = LabelLiteSerializer(read_only=True, source="labels", many=True)
state_detail = StateLiteSerializer(read_only=True, source="state")
project_detail = ProjectLiteSerializer(read_only=True, source="project")
assignee_details = UserLiteSerializer(read_only=True, source="assignees", many=True)
sub_issues_count = serializers.IntegerField(read_only=True)
bridge_id = serializers.UUIDField(read_only=True)
Expand All @@ -476,7 +477,7 @@ class Meta:


class IssueSerializer(BaseSerializer):
project_detail = ProjectSerializer(read_only=True, source="project")
project_detail = ProjectLiteSerializer(read_only=True, source="project")
state_detail = StateSerializer(read_only=True, source="state")
parent_detail = IssueFlatSerializer(read_only=True, source="parent")
label_details = LabelSerializer(read_only=True, source="labels", many=True)
Expand Down Expand Up @@ -530,3 +531,14 @@ class Meta:
"created_at",
"updated_at",
]


class IssueSubscriberSerializer(BaseSerializer):
class Meta:
model = IssueSubscriber
fields = "__all__"
read_only_fields = [
"workspace",
"project",
"issue",
]
4 changes: 2 additions & 2 deletions apiserver/plane/api/serializers/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class Meta:

class ModuleIssueSerializer(BaseSerializer):
module_detail = ModuleFlatSerializer(read_only=True, source="module")
issue_detail = IssueStateSerializer(read_only=True, source="issue")
issue_detail = ProjectLiteSerializer(read_only=True, source="issue")
sub_issues_count = serializers.IntegerField(read_only=True)

class Meta:
Expand Down Expand Up @@ -151,7 +151,7 @@ def create(self, validated_data):


class ModuleSerializer(BaseSerializer):
project_detail = ProjectSerializer(read_only=True, source="project")
project_detail = ProjectLiteSerializer(read_only=True, source="project")
lead_detail = UserLiteSerializer(read_only=True, source="lead")
members_detail = UserLiteSerializer(read_only=True, many=True, source="members")
link_module = ModuleLinkSerializer(read_only=True, many=True)
Expand Down
12 changes: 12 additions & 0 deletions apiserver/plane/api/serializers/notification.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Module imports
from .base import BaseSerializer
from .user import UserLiteSerializer
from plane.db.models import Notification

class NotificationSerializer(BaseSerializer):
triggered_by_details = UserLiteSerializer(read_only=True, source="triggered_by")

class Meta:
model = Notification
fields = "__all__"

26 changes: 19 additions & 7 deletions apiserver/plane/api/serializers/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,13 @@ def update(self, instance, validated_data):
raise serializers.ValidationError(detail="Project Identifier is already taken")


class ProjectLiteSerializer(BaseSerializer):
class Meta:
model = Project
fields = ["id", "identifier", "name"]
read_only_fields = fields


class ProjectDetailSerializer(BaseSerializer):
workspace = WorkSpaceSerializer(read_only=True)
default_assignee = UserLiteSerializer(read_only=True)
Expand All @@ -94,7 +101,7 @@ class Meta:

class ProjectMemberSerializer(BaseSerializer):
workspace = WorkSpaceSerializer(read_only=True)
project = ProjectSerializer(read_only=True)
project = ProjectLiteSerializer(read_only=True)
member = UserLiteSerializer(read_only=True)

class Meta:
Expand All @@ -103,8 +110,8 @@ class Meta:


class ProjectMemberInviteSerializer(BaseSerializer):
project = ProjectSerializer(read_only=True)
workspace = WorkSpaceSerializer(read_only=True)
project = ProjectLiteSerializer(read_only=True)
workspace = WorkspaceLiteSerializer(read_only=True)

class Meta:
model = ProjectMemberInvite
Expand All @@ -118,7 +125,7 @@ class Meta:


class ProjectFavoriteSerializer(BaseSerializer):
project_detail = ProjectSerializer(source="project", read_only=True)
project_detail = ProjectLiteSerializer(source="project", read_only=True)

class Meta:
model = ProjectFavorite
Expand All @@ -129,8 +136,13 @@ class Meta:
]


class ProjectLiteSerializer(BaseSerializer):


class ProjectMemberLiteSerializer(BaseSerializer):
member = UserLiteSerializer(read_only=True)
is_subscribed = serializers.BooleanField(read_only=True)

class Meta:
model = Project
fields = ["id", "identifier", "name"]
model = ProjectMember
fields = ["member", "id", "is_subscribed"]
read_only_fields = fields
Loading