Skip to content

Commit 98cbd3e

Browse files
committed
Merge branch 'dev'
2 parents f89732f + 4424d10 commit 98cbd3e

57 files changed

Lines changed: 1563 additions & 188 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,9 @@ DATABASE_NAME=
1212
DATABASE_USER=
1313
DATABASE_PASSWORD=
1414
DATABASE_HOST=
15-
DATABASE_PORT=
15+
DATABASE_PORT=
16+
17+
SELECTEL_ACCOUNT_ID=
18+
SELECTEL_CONTAINER_NAME=
19+
SELECTEL_CONTAINER_PASSWORD=
20+
SELECTEL_CONTAINER_USERNAME=

.github/workflows/lints.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ jobs:
2626
pip install flake8
2727
- name: Analysing the code with flake8
2828
run: |
29-
flake8 $(git ls-files '*.py')
29+
flake8 $(git ls-files '*.py')

.github/workflows/release-ci.yml

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -88,37 +88,43 @@ jobs:
8888
tags: ${{ steps.meta.outputs.tags }}
8989
labels: ${{ steps.meta.outputs.labels }}
9090

91-
deploy:
92-
runs-on: ubuntu-latest
93-
needs: [ build ]
94-
steps:
95-
- name: run on server
96-
uses: garygrossgarten/github-action-ssh@release
97-
with:
98-
host: ${{ secrets.SERVER_HOST }}
99-
username: ${{ secrets.SERVER_USER }}
100-
password: ${{ secrets.SERVER_PASSWORD }}
101-
command: |
102-
cd /home/app/procollab-backend
103-
docker-compose -f docker-compose.prod-ci.yml -p prod pull
104-
105-
rm -f .env &&
106-
touch .env &&
107-
108-
echo "DJANGO_SECRET_KEY=${{ secrets.DJANGO_SECRET_KEY }}" >> .env &&
109-
110-
echo "DATABASE_NAME=${{ secrets.DATABASE_NAME }}" >> .env &&
111-
echo "DATABASE_PASSWORD=${{ secrets.DATABASE_PASSWORD }}" >> .env &&
112-
echo "DATABASE_USER=${{ secrets.DATABASE_USER }}" >> .env &&
113-
echo "DATABASE_HOST=${{ secrets.DATABASE_HOST }}" >> .env &&
114-
echo "DATABASE_PORT=${{ secrets.DATABASE_PORT }}" >> .env &&
115-
116-
echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
117-
echo "EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }}" >> .env &&
118-
echo "EMAIL_HOST=${{ secrets.EMAIL_HOST }}" >> .env &&
119-
echo "EMAIL_PORT=${{ secrets.EMAIL_PORT }}" >> .env &&
120-
121-
echo "SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
122-
123-
docker-compose -f docker-compose.prod-ci.yml -p prod up -d
91+
run:
92+
runs-on: ubuntu-latest
93+
needs: [ build ]
94+
steps:
95+
- name: run on server
96+
uses: garygrossgarten/github-action-ssh@release
97+
with:
98+
host: ${{ secrets.SERVER_HOST }}
99+
username: ${{ secrets.SERVER_USER }}
100+
password: ${{ secrets.SERVER_PASSWORD }}
101+
command: |
102+
cd /home/app/procollab-backend
103+
docker-compose -f docker-compose.prod-ci.yml -p prod pull
104+
105+
rm -f .env &&
106+
touch .env &&
107+
108+
echo "DJANGO_SECRET_KEY=${{ secrets.DJANGO_SECRET_KEY }}" >> .env &&
109+
110+
echo "DATABASE_NAME=${{ secrets.DATABASE_NAME }}" >> .env &&
111+
echo "DATABASE_PASSWORD=${{ secrets.DATABASE_PASSWORD }}" >> .env &&
112+
echo "DATABASE_USER=${{ secrets.DATABASE_USER }}" >> .env &&
113+
echo "DATABASE_HOST=${{ secrets.DATABASE_HOST }}" >> .env &&
114+
echo "DATABASE_PORT=${{ secrets.DATABASE_PORT }}" >> .env &&
115+
116+
echo "EMAIL_USER=${{ secrets.EMAIL_USER }}" >> .env &&
117+
echo "EMAIL_PASSWORD=${{ secrets.EMAIL_PASSWORD }}" >> .env &&
118+
echo "EMAIL_HOST=${{ secrets.EMAIL_HOST }}" >> .env &&
119+
echo "EMAIL_PORT=${{ secrets.EMAIL_PORT }}" >> .env &&
120+
121+
echo "SELECTEL_ACCOUNT_ID=${{ secrets.SELECTEL_ACCOUNT_ID }}" >> .env &&
122+
echo "SELECTEL_CONTAINER_NAME=${{ secrets.SELECTEL_CONTAINER_NAME }}" >> .env &&
123+
echo "SELECTEL_CONTAINER_PASSWORD=${{ secrets.SELECTEL_CONTAINER_PASSWORD }}" >> .env &&
124+
echo "SELECTEL_CONTAINER_USERNAME=${{ secrets.SELECTEL_CONTAINER_USERNAME }}" >> .env &&
125+
126+
127+
echo "SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env
128+
129+
docker-compose -f docker-compose.prod-ci.yml -p prod up -d
124130

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,5 @@ dmypy.json
135135

136136
cache
137137

138-
static
138+
static
139+
staticfiles

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### Clone project
66

7-
📌 `git clone https://github.com/Yakser/procollab-backend.git`
7+
📌 `git clone https://github.com/procollab-github/api.git`
88

99
### Create virtual environment
1010

@@ -31,4 +31,10 @@ To install pre-commit simply run inside the shell:
3131

3232
```bash
3333
pre-commit install
34-
```
34+
```
35+
36+
To run it on all of your files, do
37+
38+
```bash
39+
pre-commit run --all-files
40+
```

core/permissions.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,6 @@ def has_permission(self, request, view) -> bool:
1212
return False
1313

1414

15-
class IsProjectLeaderForVacancyResponse(BasePermission):
16-
def has_object_permission(self, request, view, obj):
17-
if obj.vacancy.project.leader == request.user:
18-
return True
19-
return False
20-
21-
22-
class IsProjectLeaderOrReadOnly(BasePermission):
23-
"""
24-
Allows access to update only to project leader.
25-
"""
26-
27-
def has_permission(self, request, view) -> bool:
28-
if request.method in SAFE_METHODS or (request.user and request.user.id):
29-
return True
30-
return False
31-
32-
def has_object_permission(self, request, view, obj):
33-
if request.method in SAFE_METHODS or (obj.leader == request.user):
34-
return True
35-
return False
36-
37-
3815
class IsOwnerOrReadOnly(BasePermission):
3916
"""
4017
Allows access to update only to himself.

files/__init__.py

Whitespace-only changes.

files/admin.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.contrib import admin
2+
3+
from files.models import UserFile
4+
5+
6+
@admin.register(UserFile)
7+
class UserFileAdmin(admin.ModelAdmin):
8+
list_display = (
9+
"link",
10+
"user",
11+
"datetime_uploaded",
12+
)
13+
list_display_links = ("link",)

files/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class FilesConfig(AppConfig):
5+
default_auto_field = "django.db.models.BigAutoField"
6+
name = "files"

files/exceptions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
class SelectelUploadError(Exception):
2+
pass

0 commit comments

Comments
 (0)