From ae7dfa2a09f113221ad52c39a8e9ead47bbd11b4 Mon Sep 17 00:00:00 2001 From: Nevo David Date: Tue, 12 Mar 2024 20:23:26 +0700 Subject: [PATCH] feat: remove broken redis --- apps/backend/src/app.module.ts | 3 +- apps/commands/src/command.module.ts | 2 - apps/cron/src/cron.module.ts | 2 - apps/docs/mint.js | 85 ----------- apps/docs/mint.json | 142 +----------------- apps/docs/openapi.json | 2 +- apps/docs/project.json | 2 +- apps/docs/test.js | 30 ---- apps/workers/src/app/app.module.ts | 3 +- .../src/redis/redis.module.ts | 13 -- .../src/redis/redis.service.ts | 31 +--- package.json | 3 +- 12 files changed, 11 insertions(+), 307 deletions(-) delete mode 100644 apps/docs/mint.js delete mode 100644 apps/docs/test.js delete mode 100644 libraries/nestjs-libraries/src/redis/redis.module.ts diff --git a/apps/backend/src/app.module.ts b/apps/backend/src/app.module.ts index b247ae12..ba65b22a 100644 --- a/apps/backend/src/app.module.ts +++ b/apps/backend/src/app.module.ts @@ -1,14 +1,13 @@ import {Global, Module} from '@nestjs/common'; import {DatabaseModule} from "@gitroom/nestjs-libraries/database/prisma/database.module"; -import {RedisModule} from "@gitroom/nestjs-libraries/redis/redis.module"; import {ApiModule} from "@gitroom/backend/api/api.module"; import {APP_GUARD} from "@nestjs/core"; import {PoliciesGuard} from "@gitroom/backend/services/auth/permissions/permissions.guard"; @Global() @Module({ - imports: [DatabaseModule, RedisModule, ApiModule], + imports: [DatabaseModule, ApiModule], controllers: [], providers: [{ provide: APP_GUARD, diff --git a/apps/commands/src/command.module.ts b/apps/commands/src/command.module.ts index 191f3f2e..1dcc36ca 100644 --- a/apps/commands/src/command.module.ts +++ b/apps/commands/src/command.module.ts @@ -2,7 +2,6 @@ import { Module } from '@nestjs/common'; import { CommandModule as ExternalCommandModule } from 'nestjs-command'; import { CheckStars } from './tasks/check.stars'; import { DatabaseModule } from '@gitroom/nestjs-libraries/database/prisma/database.module'; -import { RedisModule } from '@gitroom/nestjs-libraries/redis/redis.module'; import { BullMqModule } from '@gitroom/nestjs-libraries/bull-mq-transport/bull-mq.module'; import { ioRedis } from '@gitroom/nestjs-libraries/redis/redis.service'; import {RefreshTokens} from "./tasks/refresh.tokens"; @@ -11,7 +10,6 @@ import {RefreshTokens} from "./tasks/refresh.tokens"; imports: [ ExternalCommandModule, DatabaseModule, - RedisModule, BullMqModule.forRoot({ connection: ioRedis, }), diff --git a/apps/cron/src/cron.module.ts b/apps/cron/src/cron.module.ts index 589d6dcf..6b09d106 100644 --- a/apps/cron/src/cron.module.ts +++ b/apps/cron/src/cron.module.ts @@ -3,7 +3,6 @@ import { ScheduleModule } from '@nestjs/schedule'; import { RefreshTokens } from '@gitroom/cron/tasks/refresh.tokens'; import { CheckStars } from '@gitroom/cron/tasks/check.stars'; import { DatabaseModule } from '@gitroom/nestjs-libraries/database/prisma/database.module'; -import { RedisModule } from '@gitroom/nestjs-libraries/redis/redis.module'; import { BullMqModule } from '@gitroom/nestjs-libraries/bull-mq-transport/bull-mq.module'; import { ioRedis } from '@gitroom/nestjs-libraries/redis/redis.service'; import { SyncTrending } from '@gitroom/cron/tasks/sync.trending'; @@ -12,7 +11,6 @@ import { SyncTrending } from '@gitroom/cron/tasks/sync.trending'; imports: [ DatabaseModule, ScheduleModule.forRoot(), - RedisModule, BullMqModule.forRoot({ connection: ioRedis, }), diff --git a/apps/docs/mint.js b/apps/docs/mint.js deleted file mode 100644 index cd8fa2fd..00000000 --- a/apps/docs/mint.js +++ /dev/null @@ -1,85 +0,0 @@ -exports.default = { - "$schema": "https://mintlify.com/schema.json", - "name": "Starter Kit", - "logo": { - "dark": "/logo/dark.png", - "light": "/logo/light.png" - }, - "favicon": "/favicon.png", - "colors": { - "primary": "#9333EA", - "light": "#9333EA", - "dark": "#9333EA", - "anchors": { - "from": "#9333EA", - "to": "#9333EA" - } - }, - "openapi": "https://api.gitroom.com/docs-json", - "api": { - "baseUrl": "https://api.gitroom.com", - }, - "topbarLinks": [ - { - "name": "Support", - "url": "mailto:nevo@gitroom.com" - }, - { - "name": "Cloud", - "url": "https://platform.gitroom.com" - } - ], - "modeToggle": { - "default": "light" - }, - "topbarCtaButton": { - "type": "github", - "url": "https://github.com/gitoomhq/gitroom" - }, - "tabs": [ - { - "name": "Public API Reference", - "url": "public-api-reference" - }, - { - "name": "Internal API Reference (Self-Hosted)", - "url": "api-reference" - } - ], - "anchors": [ - { - "name": "Documentation", - "icon": "book-open-cover", - "url": "https://docs.gitroom.com" - }, - { - "name": "Community", - "icon": "discord", - "url": "https://discord.gitroom.com" - }, - { - "name": "Blog", - "icon": "newspaper", - "url": "https://gitroom.com/blog" - } - ], - "navigation": [ - { - "group": "Get Started", - "pages": ["introduction", "quickstart", "howitworks"] - }, - { - "group": "API Documentation", - "pages": ["api-reference/introduction"] - }, - { - "group": "Public api Documentation", - "pages": ["public-api-reference/introduction"] - } - ], - "footerSocials": { - "twitter": "https://twitter.com/nevodavid", - "github": "https://github.com/gitroomhq/gitroom", - "linkedin": "https://www.linkedin.com/nevodavid" - } -}; diff --git a/apps/docs/mint.json b/apps/docs/mint.json index e250f29a..f695ec46 100644 --- a/apps/docs/mint.json +++ b/apps/docs/mint.json @@ -7,12 +7,12 @@ }, "favicon": "/favicon.png", "colors": { - "primary": "#9333EA", - "light": "#9333EA", - "dark": "#9333EA", + "primary": "#000", + "light": "#612ad5", + "dark": "#000", "anchors": { - "from": "#9333EA", - "to": "#9333EA" + "from": "#612ad5", + "to": "#612ad5" } }, "openapi": "https://api.gitroom.com/docs-json", @@ -36,16 +36,6 @@ "type": "github", "url": "https://github.com/gitoomhq/gitroom" }, - "tabs": [ - { - "name": "Public API Reference", - "url": "public-api-reference" - }, - { - "name": "Internal API Reference (Self-Hosted)", - "url": "api-reference" - } - ], "anchors": [ { "name": "Documentation", @@ -71,128 +61,6 @@ "quickstart", "howitworks" ] - }, - { - "group": "API Documentation", - "pages": [ - "api-reference/introduction" - ] - }, - { - "group": "Public api Documentation", - "pages": [ - "public-api-reference/introduction" - ] - }, - { - "group": "Stripe", - "pages": [ - "api-reference/custom/stripe/post-stripe" - ] - }, - { - "group": "Auth", - "pages": [ - "api-reference/custom/auth/post-authregister", - "api-reference/custom/auth/post-authlogin", - "api-reference/custom/auth/post-authforgot", - "api-reference/custom/auth/post-authforgot-return" - ] - }, - { - "group": "User", - "pages": [ - "api-reference/custom/user/get-userself", - "api-reference/custom/user/get-usersubscription", - "api-reference/custom/user/get-usersubscriptiontiers", - "api-reference/custom/user/post-userjoin-org", - "api-reference/custom/user/get-userorganizations", - "api-reference/custom/user/post-userchange-org" - ] - }, - { - "group": "Analytics", - "pages": [ - "api-reference/custom/analytics/get-analytics", - "api-reference/custom/analytics/get-analyticstrending", - "api-reference/custom/analytics/post-analyticsstars" - ] - }, - { - "group": "Integrations", - "pages": [ - "api-reference/custom/integrations/get-integrations", - "api-reference/custom/integrations/delete-integrations", - "api-reference/custom/integrations/get-integrationslist", - "api-reference/custom/integrations/get-integrationssocial", - "api-reference/custom/integrations/post-integrationsfunction", - "api-reference/custom/integrations/post-integrationsarticle-connect", - "api-reference/custom/integrations/post-integrationssocial-connect", - "api-reference/custom/integrations/post-integrationsdisable", - "api-reference/custom/integrations/post-integrationsenable" - ] - }, - { - "group": "Settings", - "pages": [ - "api-reference/custom/settings/get-settingsgithub", - "api-reference/custom/settings/post-settingsgithub", - "api-reference/custom/settings/get-settingsgithuburl", - "api-reference/custom/settings/get-settingsorganizations", - "api-reference/custom/settings/post-settingsorganizations", - "api-reference/custom/settings/get-settingsorganizations-", - "api-reference/custom/settings/delete-settingsrepository", - "api-reference/custom/settings/get-settingsteam", - "api-reference/custom/settings/post-settingsteam", - "api-reference/custom/settings/delete-settingsteam" - ] - }, - { - "group": "Posts", - "pages": [ - "api-reference/custom/posts/get-posts", - "api-reference/custom/posts/post-posts", - "api-reference/custom/posts/get-postspredict-trending", - "api-reference/custom/posts/get-postsold", - "api-reference/custom/posts/get-posts-1", - "api-reference/custom/posts/delete-posts", - "api-reference/custom/posts/put-posts-date" - ] - }, - { - "group": "Media", - "pages": [ - "api-reference/custom/media/get-media", - "api-reference/custom/media/post-media" - ] - }, - { - "group": "Comments", - "pages": [ - "api-reference/custom/comments/post-comments", - "api-reference/custom/comments/put-comments", - "api-reference/custom/comments/post-comments-1", - "api-reference/custom/comments/delete-comments", - "api-reference/custom/comments/get-comments" - ] - }, - { - "group": "Billing", - "pages": [ - "api-reference/custom/billing/get-billingcheck", - "api-reference/custom/billing/post-billingsubscribe", - "api-reference/custom/billing/get-billingportal", - "api-reference/custom/billing/get-billing", - "api-reference/custom/billing/post-billingcancel", - "api-reference/custom/billing/post-billingprorate" - ] - }, - { - "group": "Notifications", - "pages": [ - "api-reference/custom/notifications/get-notifications", - "api-reference/custom/notifications/get-notificationslist" - ] } ], "footerSocials": { diff --git a/apps/docs/openapi.json b/apps/docs/openapi.json index 1ac50946..ebdb91d7 100644 --- a/apps/docs/openapi.json +++ b/apps/docs/openapi.json @@ -1 +1 @@ -{"openapi":"3.0.0","paths":{"/stripe":{"post":{"operationId":"StripeController_stripe","parameters":[],"responses":{"201":{"description":""}},"tags":["Stripe"]}},"/auth/register":{"post":{"operationId":"AuthController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgUserDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/login":{"post":{"operationId":"AuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginUserDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/forgot":{"post":{"operationId":"AuthController_forgot","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/forgot-return":{"post":{"operationId":"AuthController_forgotReturn","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotReturnPasswordDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/user/self":{"get":{"operationId":"UsersController_getSelf","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/subscription":{"get":{"operationId":"UsersController_getSubscription","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/subscription/tiers":{"get":{"operationId":"UsersController_tiers","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/join-org":{"post":{"operationId":"UsersController_joinOrg","parameters":[],"responses":{"201":{"description":""}},"tags":["User"]}},"/user/organizations":{"get":{"operationId":"UsersController_getOrgs","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"tags":["User"]}},"/user/change-org":{"post":{"operationId":"UsersController_changeOrg","parameters":[],"responses":{"201":{"description":""}},"tags":["User"]}},"/analytics":{"get":{"operationId":"AnalyticsController_getStars","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"tags":["Analytics"]}},"/analytics/trending":{"get":{"operationId":"AnalyticsController_getTrending","parameters":[],"responses":{"200":{"description":""}},"tags":["Analytics"]}},"/analytics/stars":{"post":{"operationId":"AnalyticsController_getStarsFilter","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StarsListDto"}}}},"responses":{"201":{"description":""}},"tags":["Analytics"]}},"/integrations":{"get":{"operationId":"IntegrationsController_getIntegration","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]},"delete":{"operationId":"IntegrationsController_deleteChannel","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/list":{"get":{"operationId":"IntegrationsController_getIntegrationList","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/social/{integration}":{"get":{"operationId":"IntegrationsController_getIntegrationUrl","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/function":{"post":{"operationId":"IntegrationsController_functionIntegration","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationFunctionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Integrations"]}},"/integrations/article/{integration}/connect":{"post":{"operationId":"IntegrationsController_connectArticle","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyDto"}}}},"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/social/{integration}/connect":{"post":{"operationId":"IntegrationsController_connectSocialMedia","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectIntegrationDto"}}}},"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/disable":{"post":{"operationId":"IntegrationsController_disableChannel","parameters":[],"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/enable":{"post":{"operationId":"IntegrationsController_enableChannel","parameters":[],"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/settings/github":{"get":{"operationId":"SettingsController_getConnectedGithubAccounts","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_addGitHub","parameters":[],"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/github/url":{"get":{"operationId":"SettingsController_authUrl","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/organizations/{id}":{"get":{"operationId":"SettingsController_getOrganizations","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_updateGitHubLogin","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/organizations/{id}/{github}":{"get":{"operationId":"SettingsController_getRepositories","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"github","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/repository/{id}":{"delete":{"operationId":"SettingsController_deleteRepository","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/team":{"get":{"operationId":"SettingsController_getTeam","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_inviteTeamMember","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTeamMemberDto"}}}},"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/team/{id}":{"delete":{"operationId":"SettingsController_deleteTeamMember","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/posts":{"get":{"operationId":"PostsController_getPosts","parameters":[{"name":"week","required":true,"in":"query","schema":{"minimum":1,"maximum":52,"type":"number"}},{"name":"year","required":true,"in":"query","schema":{"minimum":2022,"maximum":2034,"type":"number"}}],"responses":{"200":{"description":""}},"tags":["Posts"]},"post":{"operationId":"PostsController_createPost","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostDto"}}}},"responses":{"201":{"description":""}},"tags":["Posts"]}},"/posts/predict-trending":{"get":{"operationId":"PostsController_predictTrending","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"tags":["Posts"]}},"/posts/old":{"get":{"operationId":"PostsController_oldPosts","parameters":[{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{id}":{"get":{"operationId":"PostsController_getPost","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{group}":{"delete":{"operationId":"PostsController_deletePost","parameters":[{"name":"group","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{id}/date":{"put":{"operationId":"PostsController_changeDate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/media":{"post":{"operationId":"MediaController_uploadFile","parameters":[],"responses":{"201":{"description":""}},"tags":["Media"]},"get":{"operationId":"MediaController_getMedia","parameters":[{"name":"page","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"tags":["Media"]}},"/comments":{"post":{"operationId":"CommentsController_addComment","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"201":{"description":""}},"tags":["Comments"]}},"/comments/{id}":{"post":{"operationId":"CommentsController_addCommentTocComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"201":{"description":""}},"tags":["Comments"]},"put":{"operationId":"CommentsController_editComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"200":{"description":""}},"tags":["Comments"]},"delete":{"operationId":"CommentsController_deleteComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Comments"]}},"/comments/{date}":{"get":{"operationId":"CommentsController_loadAllCommentsAndSubCommentsForADate","parameters":[{"name":"date","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Comments"]}},"/billing/check/{id}":{"get":{"operationId":"BillingController_checkId","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing/subscribe":{"post":{"operationId":"BillingController_subscribe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscribeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Billing"]}},"/billing/portal":{"get":{"operationId":"BillingController_modifyPayment","parameters":[],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing":{"get":{"operationId":"BillingController_getCurrentBilling","parameters":[],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing/cancel":{"post":{"operationId":"BillingController_cancel","parameters":[],"responses":{"201":{"description":""}},"tags":["Billing"]}},"/billing/prorate":{"post":{"operationId":"BillingController_prorate","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscribeDto"}}}},"responses":{"201":{"description":""}},"tags":["Billing"]}},"/notifications":{"get":{"operationId":"NotificationsController_mainPageList","parameters":[],"responses":{"200":{"description":""}},"tags":["Notifications"]}},"/notifications/list":{"get":{"operationId":"NotificationsController_notifications","parameters":[],"responses":{"200":{"description":""}},"tags":["Notifications"]}}},"info":{"title":"crosspublic Swagger file","description":"API description","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"schemas":{"CreateOrgUserDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"provider":{"type":"object"},"providerToken":{"type":"string"},"email":{"type":"string"},"company":{"type":"string","minLength":3}},"required":["password","provider","providerToken","email","company"]},"LoginUserDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"provider":{"type":"object"},"providerToken":{"type":"string"},"email":{"type":"string"}},"required":["password","provider","providerToken","email"]},"ForgotPasswordDto":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]},"ForgotReturnPasswordDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"repeatPassword":{"type":"string","enum":["5YtIWynNaD"]},"token":{"type":"string","minLength":5}},"required":["password","repeatPassword","token"]},"StarsListDto":{"type":"object","properties":{"page":{"type":"number"},"key":{"type":"string","enum":["login","totalStars","stars","date","forks","totalForks"]},"state":{"type":"string","enum":["desc","asc"]}},"required":["page","key","state"]},"IntegrationFunctionDto":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"data":{"type":"object"}},"required":["name","id","data"]},"ApiKeyDto":{"type":"object","properties":{"api":{"type":"string","minLength":4}},"required":["api"]},"ConnectIntegrationDto":{"type":"object","properties":{"state":{"type":"string"},"code":{"type":"string"}},"required":["state","code"]},"AddTeamMemberDto":{"type":"object","properties":{"email":{"type":"string"},"role":{"type":"string","enum":["USER","ADMIN"]},"sendEmail":{"type":"boolean"}},"required":["email","role","sendEmail"]},"Integration":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"MediaDto":{"type":"object","properties":{"id":{"type":"string"},"path":{"type":"string"}},"required":["id","path"]},"PostContent":{"type":"object","properties":{"content":{"type":"string","minLength":6},"id":{"type":"string"},"image":{"type":"array","items":{"$ref":"#/components/schemas/MediaDto"}}},"required":["content","id","image"]},"Post":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration"},"value":{"type":"array","items":{"$ref":"#/components/schemas/PostContent"}},"group":{"type":"string"},"settings":{"type":"object"}},"required":["integration","value","group","settings"]},"CreatePostDto":{"type":"object","properties":{"type":{"type":"string","enum":["draft","schedule","now"]},"date":{"type":"string"},"posts":{"type":"array","items":{"$ref":"#/components/schemas/Post"}}},"required":["type","date","posts"]},"AddCommentDto":{"type":"object","properties":{"content":{"type":"string"},"date":{"type":"string"}},"required":["content","date"]},"BillingSubscribeDto":{"type":"object","properties":{"total":{"type":"number","minimum":1,"maximum":60},"period":{"type":"string","enum":["MONTHLY","YEARLY"]},"billing":{"type":"string","enum":["STANDARD","PRO"]}},"required":["total","period","billing"]}}}} \ No newline at end of file +{"openapi":"3.0.0","paths":{"/stripe":{"post":{"operationId":"StripeController_stripe","parameters":[],"responses":{"201":{"description":""}},"tags":["Stripe"]}},"/auth/register":{"post":{"operationId":"AuthController_register","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgUserDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/login":{"post":{"operationId":"AuthController_login","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginUserDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/forgot":{"post":{"operationId":"AuthController_forgot","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/auth/forgot-return":{"post":{"operationId":"AuthController_forgotReturn","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotReturnPasswordDto"}}}},"responses":{"201":{"description":""}},"tags":["Auth"]}},"/user/self":{"get":{"operationId":"UsersController_getSelf","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/subscription":{"get":{"operationId":"UsersController_getSubscription","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/subscription/tiers":{"get":{"operationId":"UsersController_tiers","parameters":[],"responses":{"200":{"description":""}},"tags":["User"]}},"/user/join-org":{"post":{"operationId":"UsersController_joinOrg","parameters":[],"responses":{"201":{"description":""}},"tags":["User"]}},"/user/organizations":{"get":{"operationId":"UsersController_getOrgs","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"tags":["User"]}},"/user/change-org":{"post":{"operationId":"UsersController_changeOrg","parameters":[],"responses":{"201":{"description":""}},"tags":["User"]}},"/analytics":{"get":{"operationId":"AnalyticsController_getStars","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"tags":["Analytics"]}},"/analytics/trending":{"get":{"operationId":"AnalyticsController_getTrending","parameters":[],"responses":{"200":{"description":""}},"tags":["Analytics"]}},"/analytics/stars":{"post":{"operationId":"AnalyticsController_getStarsFilter","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StarsListDto"}}}},"responses":{"201":{"description":""}},"tags":["Analytics"]}},"/integrations":{"get":{"operationId":"IntegrationsController_getIntegration","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]},"delete":{"operationId":"IntegrationsController_deleteChannel","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/list":{"get":{"operationId":"IntegrationsController_getIntegrationList","parameters":[],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/social/{integration}":{"get":{"operationId":"IntegrationsController_getIntegrationUrl","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Integrations"]}},"/integrations/function":{"post":{"operationId":"IntegrationsController_functionIntegration","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationFunctionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Integrations"]}},"/integrations/article/{integration}/connect":{"post":{"operationId":"IntegrationsController_connectArticle","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyDto"}}}},"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/social/{integration}/connect":{"post":{"operationId":"IntegrationsController_connectSocialMedia","parameters":[{"name":"integration","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectIntegrationDto"}}}},"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/disable":{"post":{"operationId":"IntegrationsController_disableChannel","parameters":[],"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/integrations/enable":{"post":{"operationId":"IntegrationsController_enableChannel","parameters":[],"responses":{"201":{"description":""}},"tags":["Integrations"]}},"/settings/github":{"get":{"operationId":"SettingsController_getConnectedGithubAccounts","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_addGitHub","parameters":[],"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/github/url":{"get":{"operationId":"SettingsController_authUrl","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/organizations/{id}":{"get":{"operationId":"SettingsController_getOrganizations","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_updateGitHubLogin","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/organizations/{id}/{github}":{"get":{"operationId":"SettingsController_getRepositories","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"github","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/repository/{id}":{"delete":{"operationId":"SettingsController_deleteRepository","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/settings/team":{"get":{"operationId":"SettingsController_getTeam","parameters":[],"responses":{"200":{"description":""}},"tags":["Settings"]},"post":{"operationId":"SettingsController_inviteTeamMember","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTeamMemberDto"}}}},"responses":{"201":{"description":""}},"tags":["Settings"]}},"/settings/team/{id}":{"delete":{"operationId":"SettingsController_deleteTeamMember","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Settings"]}},"/posts":{"get":{"operationId":"PostsController_getPosts","parameters":[{"name":"week","required":true,"in":"query","schema":{"minimum":1,"maximum":52,"type":"number"}},{"name":"year","required":true,"in":"query","schema":{"minimum":2022,"maximum":2034,"type":"number"}}],"responses":{"200":{"description":""}},"tags":["Posts"]},"post":{"operationId":"PostsController_createPost","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePostDto"}}}},"responses":{"201":{"description":""}},"tags":["Posts"]}},"/posts/predict-trending":{"get":{"operationId":"PostsController_predictTrending","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"tags":["Posts"]}},"/posts/old":{"get":{"operationId":"PostsController_oldPosts","parameters":[{"name":"date","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{id}":{"get":{"operationId":"PostsController_getPost","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{group}":{"delete":{"operationId":"PostsController_deletePost","parameters":[{"name":"group","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/posts/{id}/date":{"put":{"operationId":"PostsController_changeDate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Posts"]}},"/media":{"post":{"operationId":"MediaController_uploadFile","parameters":[],"responses":{"201":{"description":""}},"tags":["Media"]},"get":{"operationId":"MediaController_getMedia","parameters":[{"name":"page","required":true,"in":"query","schema":{"type":"number"}}],"responses":{"200":{"description":""}},"tags":["Media"]}},"/comments":{"post":{"operationId":"CommentsController_addComment","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"201":{"description":""}},"tags":["Comments"]}},"/comments/{id}":{"post":{"operationId":"CommentsController_addCommentTocComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"201":{"description":""}},"tags":["Comments"]},"put":{"operationId":"CommentsController_editComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCommentDto"}}}},"responses":{"200":{"description":""}},"tags":["Comments"]},"delete":{"operationId":"CommentsController_deleteComment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Comments"]}},"/comments/{date}":{"get":{"operationId":"CommentsController_loadAllCommentsAndSubCommentsForADate","parameters":[{"name":"date","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Comments"]}},"/billing/check/{id}":{"get":{"operationId":"BillingController_checkId","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing/subscribe":{"post":{"operationId":"BillingController_subscribe","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscribeDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Billing"]}},"/billing/portal":{"get":{"operationId":"BillingController_modifyPayment","parameters":[],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing":{"get":{"operationId":"BillingController_getCurrentBilling","parameters":[],"responses":{"200":{"description":""}},"tags":["Billing"]}},"/billing/cancel":{"post":{"operationId":"BillingController_cancel","parameters":[],"responses":{"201":{"description":""}},"tags":["Billing"]}},"/billing/prorate":{"post":{"operationId":"BillingController_prorate","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingSubscribeDto"}}}},"responses":{"201":{"description":""}},"tags":["Billing"]}},"/notifications":{"get":{"operationId":"NotificationsController_mainPageList","parameters":[],"responses":{"200":{"description":""}},"tags":["Notifications"]}},"/notifications/list":{"get":{"operationId":"NotificationsController_notifications","parameters":[],"responses":{"200":{"description":""}},"tags":["Notifications"]}}},"info":{"title":"crosspublic Swagger file","description":"API description","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"schemas":{"CreateOrgUserDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"provider":{"type":"object"},"providerToken":{"type":"string"},"email":{"type":"string"},"company":{"type":"string","minLength":3}},"required":["password","provider","providerToken","email","company"]},"LoginUserDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"provider":{"type":"object"},"providerToken":{"type":"string"},"email":{"type":"string"}},"required":["password","provider","providerToken","email"]},"ForgotPasswordDto":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]},"ForgotReturnPasswordDto":{"type":"object","properties":{"password":{"type":"string","minLength":3},"repeatPassword":{"type":"string","enum":["zxKvwYYHO7"]},"token":{"type":"string","minLength":5}},"required":["password","repeatPassword","token"]},"StarsListDto":{"type":"object","properties":{"page":{"type":"number"},"key":{"type":"string","enum":["login","totalStars","stars","date","forks","totalForks"]},"state":{"type":"string","enum":["desc","asc"]}},"required":["page","key","state"]},"IntegrationFunctionDto":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"data":{"type":"object"}},"required":["name","id","data"]},"ApiKeyDto":{"type":"object","properties":{"api":{"type":"string","minLength":4}},"required":["api"]},"ConnectIntegrationDto":{"type":"object","properties":{"state":{"type":"string"},"code":{"type":"string"}},"required":["state","code"]},"AddTeamMemberDto":{"type":"object","properties":{"email":{"type":"string"},"role":{"type":"string","enum":["USER","ADMIN"]},"sendEmail":{"type":"boolean"}},"required":["email","role","sendEmail"]},"Integration":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"MediaDto":{"type":"object","properties":{"id":{"type":"string"},"path":{"type":"string"}},"required":["id","path"]},"PostContent":{"type":"object","properties":{"content":{"type":"string","minLength":6},"id":{"type":"string"},"image":{"type":"array","items":{"$ref":"#/components/schemas/MediaDto"}}},"required":["content","id","image"]},"Post":{"type":"object","properties":{"integration":{"$ref":"#/components/schemas/Integration"},"value":{"type":"array","items":{"$ref":"#/components/schemas/PostContent"}},"group":{"type":"string"},"settings":{"type":"object"}},"required":["integration","value","group","settings"]},"CreatePostDto":{"type":"object","properties":{"type":{"type":"string","enum":["draft","schedule","now"]},"date":{"type":"string"},"posts":{"type":"array","items":{"$ref":"#/components/schemas/Post"}}},"required":["type","date","posts"]},"AddCommentDto":{"type":"object","properties":{"content":{"type":"string"},"date":{"type":"string"}},"required":["content","date"]},"BillingSubscribeDto":{"type":"object","properties":{"total":{"type":"number","minimum":1,"maximum":60},"period":{"type":"string","enum":["MONTHLY","YEARLY"]},"billing":{"type":"string","enum":["STANDARD","PRO"]}},"required":["total","period","billing"]}}}} \ No newline at end of file diff --git a/apps/docs/project.json b/apps/docs/project.json index b4e731ca..ff5e925e 100644 --- a/apps/docs/project.json +++ b/apps/docs/project.json @@ -5,7 +5,7 @@ "projectType": "application", "targets": { "build": { - "command": "node apps/docs/test.js", + "command": "node apps/docs/generate-refrences.js", "options": { "type": "module" } diff --git a/apps/docs/test.js b/apps/docs/test.js deleted file mode 100644 index c6b196ab..00000000 --- a/apps/docs/test.js +++ /dev/null @@ -1,30 +0,0 @@ -const process = require('process') -process.chdir(__dirname); -const {writeFileSync, renameSync, rmdirSync, mkdirSync} = require("fs"); -const { config } = require('dotenv'); -const prod = require('./mint.js').default; -config(); -(async () => { - const {generateOpenApiPages} = await import("@mintlify/scraping"); - - try { - rmdirSync('./api-reference/custom', { recursive: true }); - await new Promise((resolve) => setTimeout(resolve, 2000)); - } catch (e) { - } - - await generateOpenApiPages('https://api.gitroom.com/docs-json', true, 'api-reference/custom'); - const generate = await generateOpenApiPages('https://api.gitroom.com/docs-json'); - await new Promise((resolve) => setTimeout(resolve, 3000)); - - mkdirSync('./api-reference/custom', { recursive: true }); - - prod.navigation.push(...generate.nav.map((item) => ({ - ...item, - pages: item.pages.map((page) => 'api-reference/custom/' + page) - }))); - - writeFileSync('./mint.json', JSON.stringify(prod, null, 2)); - const text = await (await fetch('https://api.gitroom.com/docs-json')).text(); - writeFileSync('./openapi.json', text); -})(); diff --git a/apps/workers/src/app/app.module.ts b/apps/workers/src/app/app.module.ts index 99436788..967118e3 100644 --- a/apps/workers/src/app/app.module.ts +++ b/apps/workers/src/app/app.module.ts @@ -1,7 +1,6 @@ import { Module } from '@nestjs/common'; import { StarsController } from './stars.controller'; -import {RedisModule} from "@gitroom/nestjs-libraries/redis/redis.module"; import {DatabaseModule} from "@gitroom/nestjs-libraries/database/prisma/database.module"; import {BullMqModule} from "@gitroom/nestjs-libraries/bull-mq-transport/bull-mq.module"; import {ioRedis} from "@gitroom/nestjs-libraries/redis/redis.service"; @@ -9,7 +8,7 @@ import {TrendingService} from "@gitroom/nestjs-libraries/services/trending.servi import {PostsController} from "@gitroom/workers/app/posts.controller"; @Module({ - imports: [RedisModule, DatabaseModule, BullMqModule.forRoot({ + imports: [DatabaseModule, BullMqModule.forRoot({ connection: ioRedis })], controllers: [StarsController, PostsController], diff --git a/libraries/nestjs-libraries/src/redis/redis.module.ts b/libraries/nestjs-libraries/src/redis/redis.module.ts deleted file mode 100644 index 96c5bf9e..00000000 --- a/libraries/nestjs-libraries/src/redis/redis.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Global, Module } from '@nestjs/common'; -import { RedisService } from '@gitroom/nestjs-libraries/redis/redis.service'; - -@Global() -@Module({ - imports: [], - controllers: [], - providers: [RedisService], - get exports() { - return this.providers; - }, -}) -export class RedisModule {} diff --git a/libraries/nestjs-libraries/src/redis/redis.service.ts b/libraries/nestjs-libraries/src/redis/redis.service.ts index 74902ee8..cb0553b5 100644 --- a/libraries/nestjs-libraries/src/redis/redis.service.ts +++ b/libraries/nestjs-libraries/src/redis/redis.service.ts @@ -1,34 +1,5 @@ -import { Injectable, OnModuleInit } from '@nestjs/common'; -import { createClient } from 'redis'; import { Redis } from 'ioredis'; export const ioRedis = new Redis(process.env.REDIS_URL!, { maxRetriesPerRequest: null, -}); - -const client = createClient({ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - url: process.env.REDIS_URL, -}); - -client.on('error', (error) => { - console.error(error); -}); - -const pubSub = client.duplicate(); - -@Injectable() -export class RedisService implements OnModuleInit { - async onModuleInit() { - await client.connect(); - } - - client() { - return client; - } - - pubSub() { - return pubSub; - } -} +}); \ No newline at end of file diff --git a/package.json b/package.json index 9f43e067..432a8eed 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,7 @@ }, "scripts": { "dev": "concurrently \"stripe listen --forward-to localhost:3000/stripe\" \"nx run-many --target=serve --projects=frontend,backend,workers --parallel=4\"", - "docs-build": "nx run docs:build:development", - "docs-dev": "nx run docs:serve:development", + "docs": "nx run docs:serve:development", "workers": "nx run workers:serve:development", "cron": "nx run cron:serve:development", "command": "nx run commands:build && nx run commands:command",