mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-21 08:16:42 +02:00
New service that generates static Astro landing pages for organizations
and deploys them to Cloudflare Pages at {slug}.mana.how.
Components:
- Landing Builder Service (NestJS, port 3030) with Astro template
- Admin UI in Manacore web dashboard at /organizations/[id]/landing
- TeamSection + ContactSection for shared-landing-ui
- Two org themes (classic dark, warm light)
- LandingPageConfig types in shared-types
- Docker + CI/CD integration for Mac Mini deployment
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
22 lines
690 B
TypeScript
22 lines
690 B
TypeScript
import { Controller, Post, Body, Get, Logger, HttpCode } from '@nestjs/common';
|
|
import { BuilderService, type BuildResult } from './builder.service';
|
|
import { BuildLandingDto } from './dto/build-landing.dto';
|
|
|
|
@Controller()
|
|
export class BuilderController {
|
|
private readonly logger = new Logger(BuilderController.name);
|
|
|
|
constructor(private readonly builderService: BuilderService) {}
|
|
|
|
@Post('build')
|
|
@HttpCode(200)
|
|
async buildLanding(@Body() dto: BuildLandingDto): Promise<BuildResult> {
|
|
this.logger.log(`Build requested for org: ${dto.slug}`);
|
|
return this.builderService.build(dto);
|
|
}
|
|
|
|
@Get('health')
|
|
health() {
|
|
return { status: 'ok', service: 'mana-landing-builder' };
|
|
}
|
|
}
|