Skip to content

Commit

Permalink
Merge pull request #1225 from AletheiaFact/fixed-claim-without-person…
Browse files Browse the repository at this point in the history
…ality-routes

Fixed claim without personality routes
  • Loading branch information
thesocialdev committed Jun 1, 2024
2 parents e1545fc + 67f34b6 commit f814eec
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 5 deletions.
1 change: 1 addition & 0 deletions server/claim/claim-revision/claim-revision.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export class ClaimRevisionService {
try {
return this.ClaimRevisionModel.findOne(match)
.populate("personalities")
.populate("content")
.lean();
} catch {
throw new NotFoundException();
Expand Down
85 changes: 85 additions & 0 deletions server/claim/claim.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -570,6 +570,40 @@ export class ClaimController {
);
}

@ApiTags("pages")
@Get("claim/:claimSlug/revision/:revisionId")
public async ClaimPageWithRevision(
@Req() req: BaseRequest,
@Res() res: Response
) {
const { claimSlug, revisionId, namespace } = req.params;
const parsedUrl = parse(req.url, true);

const enableCollaborativeEditor = this.isEnableCollaborativeEditor();
const enableCopilotChatBot = this.isEnableCopilotChatBot();
const enableEditorAnnotations = this.isEnableEditorAnnotations();

const claim = await this.claimService.getByClaimSlug(
claimSlug,
revisionId
);

await this.viewService.getNextServer().render(
req,
res,
"/claim-page",
Object.assign(parsedUrl.query, {
claim,
sitekey: this.configService.get<string>("recaptcha_sitekey"),
enableCollaborativeEditor,
enableEditorAnnotations,
enableCopilotChatBot: enableCopilotChatBot,
websocketUrl: this.configService.get<string>("websocketUrl"),
nameSpace: namespace,
})
);
}

@IsPublic()
@ApiTags("pages")
@Get("personality/:personalitySlug/claim/:claimSlug")
Expand Down Expand Up @@ -738,6 +772,57 @@ export class ClaimController {
);
}

@ApiTags("pages")
@Get("claim/:claimSlug/history")
public async claimWithoutPersonalityHistoryPage(
@Req() req: Request,
@Res() res: Response
) {
const { claimSlug, namespace } = req.params;
const parsedUrl = parse(req.url, true);

const claim = await this.claimService.getByClaimSlug(claimSlug);

await this.viewService.getNextServer().render(
req,
res,
"/history-page",
Object.assign(parsedUrl.query, {
targetId: claim._id,
targetModel: TargetModel.Claim,
nameSpace: namespace,
})
);
}

@IsPublic()
@ApiTags("pages")
@Get("claim/:claimSlug/sources")
@Header("Cache-Control", "max-age=60, must-revalidate")
public async claimWithoutPersonalitySourcesPage(
@Req() req: Request,
@Res() res: Response
) {
const { claimSlug, namespace } = req.params;
const parsedUrl = parse(req.url, true);

const claim = await this.claimService.getByClaimSlug(
claimSlug,
undefined,
false
);

await this.viewService.getNextServer().render(
req,
res,
"/sources-page",
Object.assign(parsedUrl.query, {
targetId: claim._id,
nameSpace: namespace,
})
);
}

@ApiTags("pages")
@Get("personality/:personalitySlug/claim/:claimSlug/history")
public async ClaimHistoryPage(@Req() req: Request, @Res() res: Response) {
Expand Down
11 changes: 6 additions & 5 deletions server/claim/claim.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -307,9 +307,9 @@ export class ClaimService {
try {
let claim;
if (revisionId) {
const rawClaim = await this.ClaimModel.findOne(match).select({
latestRevision: 0,
});
const rawClaim = await this.ClaimModel.findOne(match)
.populate("sources", "_id href")
.select({ latestRevision: 0 });

const revision = await this.claimRevisionService.getRevision({
_id: revisionId,
Expand All @@ -321,8 +321,9 @@ export class ClaimService {
}

claim = {
...rawClaim,
revision,
...rawClaim.toObject(),
...revision,
_id: rawClaim._id,
};
} else {
if (population) {
Expand Down

0 comments on commit f814eec

Please sign in to comment.