Skip to content

Commit

Permalink
Merge pull request #785 from hngprojects/dev
Browse files Browse the repository at this point in the history
Merge DevOps to Dev
  • Loading branch information
DrInTech22 authored Aug 7, 2024
2 parents 5aa506a + 9ce291f commit 3426b34
Show file tree
Hide file tree
Showing 377 changed files with 22,364 additions and 2,753 deletions.
20 changes: 17 additions & 3 deletions .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,29 @@ MYSQL_DRIVER=
DB_URL=postgresql://username:password@localhost:5432/test
SECRET_KEY = ""
ALGORITHM = HS256
ACCESS_TOKEN_EXPIRE_MINUTES = 30
JWT_REFRESH_EXPIRY=5
ACCESS_TOKEN_EXPIRE_MINUTES = 3000
JWT_REFRESH_EXPIRY=7
APP_URL=

GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""

FRONTEND_URL='http://127.0.0.1:3000/login-success'

TESTING=''

MAIL_USERNAME=""
MAIL_PASSWORD=""
MAIL_FROM=""
MAIL_FROM="[email protected]"
MAIL_PORT=465
MAIL_SERVER="smtp.gmail.com"

TWILIO_ACCOUNT_SID="MOCK_ACCOUNT_SID"
TWILIO_AUTH_TOKEN="MOCK_AUTH_TOKEN"
TWILIO_PHONE_NUMBER="TWILIO_PHONE_NUMBER"

FLUTTERWAVE_SECRET=""
PAYSTACK_SECRET=""

MAILJET_API_KEY='MAIL JET API KEY'
MAILJET_API_SECRET='SECRET KEY'
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
__pycache__/
*.py[cod]
*$py.class
media/

# C extensions
*.so

test_cases.py
# Distribution / packaging
.Python
build/
Expand All @@ -25,6 +26,7 @@ share/python-wheels/
.installed.cfg
*.egg
MANIFEST
api/core/dependencies/mailjet.py

# PyInstaller
# Usually these files are written by a python script from a template
Expand All @@ -50,7 +52,7 @@ coverage.xml
.hypothesis/
.pytest_cache/
cover/

case_test.py
# Translations
*.mo
*.pot
Expand Down Expand Up @@ -128,6 +130,7 @@ celerybeat.pid

env/
venv/
*venv/
ENV/
env.bak/
venv.bak/
Expand Down Expand Up @@ -164,3 +167,5 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

test_case1.py
10 changes: 7 additions & 3 deletions alembic/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
from alembic import context
from decouple import config as decouple_config
from api.v1.models import *
from api.v1.models.base import Base
from api.v1.models.permissions.permissions import Permission
from api.v1.models.permissions.role_permissions import role_permissions
from api.v1.models.permissions.user_org_role import user_organization_roles
from api.v1.models.permissions.role import Role
from api.v1.models.associations import Base


# this is the Alembic Config object, which provides
Expand Down Expand Up @@ -71,7 +75,7 @@ def run_migrations_online() -> None:

with connectable.connect() as connection:
context.configure(
connection=connection, target_metadata=target_metadata
connection=connection, target_metadata=target_metadata,
)

with context.begin_transaction():
Expand All @@ -81,4 +85,4 @@ def run_migrations_online() -> None:
if context.is_offline_mode():
run_migrations_offline()
else:
run_migrations_online()
run_migrations_online()
48 changes: 48 additions & 0 deletions alembic/versions/085de908c797_create_squeeze_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""create squeeze table
Revision ID: 085de908c797
Revises: 70dab65f6844
Create Date: 2024-08-01 00:05:04.351726
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '085de908c797'
down_revision: Union[str, None] = '70dab65f6844'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('squeezes',
sa.Column('title', sa.String(), nullable=False),
sa.Column('email', sa.String(), nullable=False),
sa.Column('user_id', sa.String(), nullable=False),
sa.Column('url_slug', sa.String(), nullable=True),
sa.Column('headline', sa.String(), nullable=True),
sa.Column('sub_headline', sa.String(), nullable=True),
sa.Column('body', sa.Text(), nullable=True),
sa.Column('type', sa.String(), nullable=True),
sa.Column('full_name', sa.String(), nullable=True),
sa.Column('status', sa.Enum('online', 'offline', name='squeezestatusenum'), nullable=True),
sa.Column('id', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_squeezes_id'), 'squeezes', ['id'], unique=False)
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_squeezes_id'), table_name='squeezes')
op.drop_table('squeezes')
# ### end Alembic commands ###
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
"""add data privacy settings and team members tables
Revision ID: 1778dd5dc8a6
Revises: 3cfce484758c
Create Date: 2024-08-06 01:11:37.170473
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '1778dd5dc8a6'
down_revision: Union[str, None] = '3cfce484758c'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('data_privacy_settings',
sa.Column('profile_visibility', sa.Boolean(), server_default='true', nullable=True),
sa.Column('share_data_with_partners', sa.Boolean(), server_default='false', nullable=True),
sa.Column('receice_email_updates', sa.Boolean(), server_default='true', nullable=True),
sa.Column('enable_two_factor_authentication', sa.Boolean(), server_default='false', nullable=True),
sa.Column('use_data_encryption', sa.Boolean(), server_default='true', nullable=True),
sa.Column('allow_analytics', sa.Boolean(), server_default='true', nullable=True),
sa.Column('personalized_ads', sa.Boolean(), server_default='false', nullable=True),
sa.Column('user_id', sa.String(), nullable=False),
sa.Column('id', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_data_privacy_settings_id'), 'data_privacy_settings', ['id'], unique=False)
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_data_privacy_settings_id'), table_name='data_privacy_settings')
op.drop_table('data_privacy_settings')
# ### end Alembic commands ###
39 changes: 39 additions & 0 deletions alembic/versions/27ffc98eab7b_add_email_templates_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""add email templates table
Revision ID: 27ffc98eab7b
Revises: eb6fe394d75b
Create Date: 2024-08-01 12:10:26.298413
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '27ffc98eab7b'
down_revision: Union[str, None] = 'eb6fe394d75b'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('email_templates',
sa.Column('name', sa.Text(), nullable=False),
sa.Column('html_content', sa.Text(), nullable=False),
sa.Column('id', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_email_templates_id'), 'email_templates', ['id'], unique=False)
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_email_templates_id'), table_name='email_templates')
op.drop_table('email_templates')
# ### end Alembic commands ###
52 changes: 52 additions & 0 deletions alembic/versions/3b6d16e973a2_fix_resolved_naming_issues.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
"""fix: resolved naming issues
Revision ID: 3b6d16e973a2
Revises: 5e8d48445236
Create Date: 2024-08-07 17:34:13.208213
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '3b6d16e973a2'
down_revision: Union[str, None] = '5e8d48445236'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('organizations', sa.Column('name', sa.String(), nullable=False))
op.add_column('organizations', sa.Column('email', sa.String(), nullable=True))
op.add_column('organizations', sa.Column('type', sa.String(), nullable=True))
op.add_column('organizations', sa.Column('description', sa.String(), nullable=True))
op.drop_constraint('organizations_company_email_key', 'organizations', type_='unique')
op.drop_constraint('organizations_company_name_key', 'organizations', type_='unique')
op.create_unique_constraint(None, 'organizations', ['email'])
op.create_unique_constraint(None, 'organizations', ['name'])
op.drop_column('organizations', 'company_name')
op.drop_column('organizations', 'organization_type')
op.drop_column('organizations', 'lga')
op.drop_column('organizations', 'company_email')
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('organizations', sa.Column('company_email', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('organizations', sa.Column('lga', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('organizations', sa.Column('organization_type', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('organizations', sa.Column('company_name', sa.VARCHAR(), autoincrement=False, nullable=False))
op.drop_constraint(None, 'organizations', type_='unique')
op.drop_constraint(None, 'organizations', type_='unique')
op.create_unique_constraint('organizations_company_name_key', 'organizations', ['company_name'])
op.create_unique_constraint('organizations_company_email_key', 'organizations', ['company_email'])
op.drop_column('organizations', 'description')
op.drop_column('organizations', 'type')
op.drop_column('organizations', 'email')
op.drop_column('organizations', 'name')
# ### end Alembic commands ###
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""add data privacy settings and team members tables
Revision ID: 3cfce484758c
Revises: 7231aadcf4e4
Create Date: 2024-08-06 01:09:37.338636
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '3cfce484758c'
down_revision: Union[str, None] = '7231aadcf4e4'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('team_members',
sa.Column('name', sa.String(), nullable=False),
sa.Column('role', sa.String(), nullable=False),
sa.Column('description', sa.Text(), nullable=False),
sa.Column('picture_url', sa.String(), nullable=False),
sa.Column('team_type', sa.String(), nullable=True),
sa.Column('facebook_link', sa.String(), nullable=True),
sa.Column('instagram_link', sa.String(), nullable=True),
sa.Column('xtwitter_link', sa.String(), nullable=True),
sa.Column('id', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_index(op.f('ix_team_members_id'), 'team_members', ['id'], unique=False)
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_team_members_id'), table_name='team_members')
op.drop_table('team_members')
# ### end Alembic commands ###
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
"""update relation on user data privacy setting
Revision ID: 5957c6e4194f
Revises: 836938cb4ce1
Create Date: 2024-08-06 11:39:10.013428
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '5957c6e4194f'
down_revision: Union[str, None] = '836938cb4ce1'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###


def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
Loading

0 comments on commit 3426b34

Please sign in to comment.