Skip to content

Commit 62da0cd

Browse files
committed
feat: comments, preview, duplicate
2 parents 357c942 + 396a55f commit 62da0cd

File tree

23 files changed

+727
-518
lines changed

23 files changed

+727
-518
lines changed

apps/backend/src/api/api.module.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { SettingsController } from '@gitroom/backend/api/routes/settings.control
1414
import { PostsController } from '@gitroom/backend/api/routes/posts.controller';
1515
import { MediaController } from '@gitroom/backend/api/routes/media.controller';
1616
import { UploadModule } from '@gitroom/nestjs-libraries/upload/upload.module';
17-
import { CommentsController } from '@gitroom/backend/api/routes/comments.controller';
1817
import { BillingController } from '@gitroom/backend/api/routes/billing.controller';
1918
import { NotificationsController } from '@gitroom/backend/api/routes/notifications.controller';
2019
import { MarketplaceController } from '@gitroom/backend/api/routes/marketplace.controller';
@@ -35,7 +34,6 @@ const authenticatedController = [
3534
SettingsController,
3635
PostsController,
3736
MediaController,
38-
CommentsController,
3937
BillingController,
4038
NotificationsController,
4139
MarketplaceController,

apps/backend/src/api/routes/comments.controller.ts

Lines changed: 0 additions & 82 deletions
This file was deleted.

apps/backend/src/api/routes/posts.controller.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { GeneratorDto } from '@gitroom/nestjs-libraries/dtos/generator/generator
2626
import { CreateGeneratedPostsDto } from '@gitroom/nestjs-libraries/dtos/generator/create.generated.posts.dto';
2727
import { AgentGraphService } from '@gitroom/nestjs-libraries/agent/agent.graph.service';
2828
import { Response } from 'express';
29+
import { GetUserFromRequest } from '@gitroom/nestjs-libraries/user/user.from.request';
2930

3031
@ApiTags('Posts')
3132
@Controller('/posts')
@@ -45,10 +46,14 @@ export class PostsController {
4546
return this._messagesService.getMarketplaceAvailableOffers(org.id, id);
4647
}
4748

48-
@Post('/posts/generate-image')
49-
@CheckPolicies([AuthorizationActions.Create, Sections.POSTS_PER_MONTH])
50-
generateImage(@Body() body: { text: string; type: string }) {
51-
49+
@Post('/:id/comments')
50+
async createComment(
51+
@GetOrgFromRequest() org: Organization,
52+
@GetUserFromRequest() user: User,
53+
@Param('id') id: string,
54+
@Body() body: { comment: string }
55+
) {
56+
return this._postsService.createComment(org.id, user.id, id, body.comment);
5257
}
5358

5459
@Get('/')
@@ -71,6 +76,13 @@ export class PostsController {
7176
};
7277
}
7378

79+
@Get('/find-slot')
80+
async findSlot(
81+
@GetOrgFromRequest() org: Organization,
82+
) {
83+
return {date: await this._postsService.findFreeDateTime(org.id)}
84+
}
85+
7486
@Get('/predict-trending')
7587
predictTrending() {
7688
return this._starsService.predictTrending();

apps/backend/src/api/routes/public.controller.ts

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import { Body, Controller, Get, Param, Post, Req, Res } from '@nestjs/common';
22
import { ApiTags } from '@nestjs/swagger';
33
import { AgenciesService } from '@gitroom/nestjs-libraries/database/prisma/agencies/agencies.service';
4+
import { PostsService } from '@gitroom/nestjs-libraries/database/prisma/posts/posts.service';
45
import { TrackService } from '@gitroom/nestjs-libraries/track/track.service';
56
import { RealIP } from 'nestjs-real-ip';
67
import { UserAgent } from '@gitroom/nestjs-libraries/user/user.agent';
78
import { TrackEnum } from '@gitroom/nestjs-libraries/user/track.enum';
89
import { Request, Response } from 'express';
9-
import { GetUserFromRequest } from '@gitroom/nestjs-libraries/user/user.from.request';
10-
import { User } from '@prisma/client';
1110
import { makeId } from '@gitroom/nestjs-libraries/services/make.is';
1211
import { getCookieUrlFromDomain } from '@gitroom/helpers/subdomain/subdomain.management';
13-
import { AgentGraphService } from '@gitroom/nestjs-libraries/agent/agent.graph.service';
1412
import { AgentGraphInsertService } from '@gitroom/nestjs-libraries/agent/agent.graph.insert.service';
1513

1614
@ApiTags('Public')
@@ -19,7 +17,8 @@ export class PublicController {
1917
constructor(
2018
private _agenciesService: AgenciesService,
2119
private _trackService: TrackService,
22-
private _agentGraphInsertService: AgentGraphInsertService
20+
private _agentGraphInsertService: AgentGraphInsertService,
21+
private _postsService: PostsService
2322
) {}
2423
@Post('/agent')
2524
async createAgent(@Body() body: { text: string; apiKey: string }) {
@@ -53,6 +52,31 @@ export class PublicController {
5352
return this._agenciesService.getCount();
5453
}
5554

55+
@Get(`/posts/:id`)
56+
async getPreview(@Param('id') id: string) {
57+
return (await this._postsService.getPostsRecursively(id, true)).map(
58+
({ childrenPost, ...p }) => ({
59+
...p,
60+
...(p.integration
61+
? {
62+
integration: {
63+
id: p.integration.id,
64+
name: p.integration.name,
65+
picture: p.integration.picture,
66+
providerIdentifier: p.integration.providerIdentifier,
67+
profile: p.integration.profile,
68+
},
69+
}
70+
: {}),
71+
})
72+
);
73+
}
74+
75+
@Get(`/posts/:id/comments`)
76+
async getComments(@Param('id') postId: string) {
77+
return { comments: await this._postsService.getComments(postId) };
78+
}
79+
5680
@Post('/t')
5781
async trackEvent(
5882
@Res() res: Response,
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { ReactNode } from 'react';
2+
import { PreviewWrapper } from '@gitroom/frontend/components/preview/preview.wrapper';
3+
4+
export default async function AppLayout({ children }: { children: ReactNode }) {
5+
return <PreviewWrapper>{children}</PreviewWrapper>;
6+
}

0 commit comments

Comments
 (0)