Help : MinIO Integration in talawa API

PrincePrajapati7

New member
I'm encountering TypeScript type errors when trying to make the MinIO client optional in the Fastify instance type.

My .env file contains:
API_ENABLE_EMAIL_QUEUE="false"
AWS_ACCESS_KEY_ID="your_aws_access_key_id"
AWS_SECRET_ACCESS_KEY="your_aws_secret_access_key"
AWS_SES_FROM_EMAIL="email@example.com"
AWS_SES_FROM_NAME="Talawa"
AWS_SES_REGION="ap-south-1"
API_ADMINISTRATOR_USER_EMAIL_ADDRESS=administrator@email.com
API_ADMINISTRATOR_USER_NAME="administrator"
API_ADMINISTRATOR_USER_PASSWORD="password"
API_BASE_URL="http://127.0.0.1:4000"
API_COMMUNITY_FACEBOOK_URL="https://facebook.com"
API_COMMUNITY_GITHUB_URL="https://github.com"
API_COMMUNITY_INACTIVITY_TIMEOUT_DURATION="900"
API_COMMUNITY_INSTAGRAM_URL="https://instagram.com"
API_COMMUNITY_LINKEDIN_URL="https://linkedin.com"
API_COMMUNITY_NAME="talawa"
API_COMMUNITY_REDDIT_URL="https://reddit.com"
API_COMMUNITY_SLACK_URL="https://slack.com"
API_COMMUNITY_WEBSITE_URL="https://docs.talawa.com"
API_COMMUNITY_X_URL="https://x.com"
API_COMMUNITY_YOUTUBE_URL="https://youtube.com"
API_HOST="0.0.0.0"
API_IS_APPLY_DRIZZLE_MIGRATIONS="true"
API_IS_GRAPHIQL="false"
API_IS_PINO_PRETTY="false"
API_JWT_EXPIRES_IN="900000"
API_REFRESH_TOKEN_EXPIRES_IN="604800000"
API_JWT_SECRET="b4896453be722d5ca94058a73f52b31c75980b485fa6d74d91f417a8059d8731"
API_COOKIE_SECRET="b4896453be722d5ca94058a73f52b31c75980b485fa6d74d91f417a8059d8731"
API_LOG_LEVEL="info"
# MinIO configuration (disabled for development)
API_MINIO_ACCESS_KEY=""
API_MINIO_END_POINT=""
API_MINIO_PORT=9000
API_MINIO_SECRET_KEY=""
API_MINIO_TEST_END_POINT=""
API_MINIO_PUBLIC_BASE_URL=""
API_MINIO_USE_SSL=false
API_MINIO_ENABLED=false
API_PORT="4000"
API_POSTGRES_DATABASE=talawa
API_POSTGRES_HOST=127.0.0.1
API_POSTGRES_PASSWORD="password"
API_POSTGRES_PORT=5432
API_POSTGRES_SSL_MODE=false
API_POSTGRES_TEST_HOST="postgres-test"
API_POSTGRES_USER=talawa
API_REDIS_HOST=localhost
API_REDIS_PORT="6379"
# Redis Configuration
# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_URL=redis://localhost:6379
CACHE_REDIS_HOST=localhost
CACHE_REDIS_PORT=6379
API_REDIS_TEST_HOST="redis-test"
API_GRAPHQL_SCALAR_FIELD_COST="0"
API_GRAPHQL_SCALAR_RESOLVER_FIELD_COST="1"
API_GRAPHQL_OBJECT_FIELD_COST="1"
API_GRAPHQL_LIST_FIELD_COST="1"
API_GRAPHQL_NON_PAGINATED_LIST_FIELD_COST="5"
API_GRAPHQL_MUTATION_BASE_COST="10"
API_GRAPHQL_SUBSCRIPTION_BASE_COST="15"
API_RATE_LIMIT_BUCKET_CAPACITY="10000"
API_RATE_LIMIT_REFILL_RATE="100"
CI=true
NODE_ENV="production"
API_GID="1000"
API_UID="1000"
MINIO_BROWSER="off"
MINIO_ROOT_PASSWORD="password"
MINIO_ROOT_USER="talawa"
CADDY_HTTP_MAPPED_PORT="80"
CADDY_HTTPS_MAPPED_PORT="443"
CADDY_HTTP3_MAPPED_PORT="443"
CADDY_TALAWA_API_DOMAIN_NAME="localhost"
CADDY_TALAWA_API_EMAIL="talawa@email.com"
CADDY_TALAWA_API_HOST="api"
CADDY_TALAWA_API_PORT="4000"
POSTGRES_DB="talawa"
POSTGRES_PASSWORD="password"
POSTGRES_USER="talawa"
COMPOSE_FILE="./compose.yaml:./docker/compose.testing.yaml"
COMPOSE_PROFILES="api,minio_test,postgres_test,redis_test,redis"
COMPOSE_PROJECT_NAME="talawa"
REDIS_MAPPED_HOST_IP="127.0.0.1"
REDIS_MAPPED_PORT="6379"
FRONTEND_URL="http://localhost:4321"


Error I am facing :

Type 'MinioClient | undefined' is not assignable to type 'MinioClient'.
Type 'undefined' is not assignable to type 'MinioClient'.


Any guidance on how to properly type and handle this optional dependency would be greatly appreciated!
 
Back
Top