Skip to content

Commit

Permalink
add user page module
Browse files Browse the repository at this point in the history
  • Loading branch information
bahram1249 committed Jul 3, 2024
1 parent 66cb3ad commit 0b3ff80
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 1 deletion.
2 changes: 1 addition & 1 deletion apps/e-commerce/src/admin/page/page.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import { ListFilter } from '@rahino/query-filter';
@UseGuards(JwtGuard, PermissionGuard)
@ApiBearerAuth()
@Controller({
path: '/api/ecommerce/pages',
path: '/api/ecommerce/admin/pages',
version: ['1'],
})
export class PageController {
Expand Down
2 changes: 2 additions & 0 deletions apps/e-commerce/src/e-commerce.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ import { AdminAddressModule } from './admin/address/address.module';
import { ProductSaleModule } from './report/product-sale/product-sale.module';
import { InventoryHistoryModule } from './admin/inventory-history/inventory-history.module';
import { AdminPageModule } from './admin/page/page.module';
import { PageModule } from './page/page.module';

@Module({
imports: [
Expand Down Expand Up @@ -152,6 +153,7 @@ import { AdminPageModule } from './admin/page/page.module';
ProductSaleModule,
InventoryHistoryModule,
AdminPageModule,
PageModule,
],
providers: [
{
Expand Down
28 changes: 28 additions & 0 deletions apps/e-commerce/src/page/page.controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import {
Controller,
Get,
HttpCode,
HttpStatus,
Param,
UseInterceptors,
} from '@nestjs/common';
import { JsonResponseTransformInterceptor } from '@rahino/response/interceptor';
import { ApiOperation, ApiTags } from '@nestjs/swagger';
import { PageService } from './page.service';

@ApiTags('Pages')
@Controller({
path: '/api/ecommerce/pages',
version: ['1'],
})
@UseInterceptors(JsonResponseTransformInterceptor)
export class PageController {
constructor(private service: PageService) {}

@ApiOperation({ description: 'show page by given id' })
@Get('/slug/:slug')
@HttpCode(HttpStatus.OK)
async findBySlug(@Param('slug') slug: string) {
return await this.service.findBySlug(slug);
}
}
14 changes: 14 additions & 0 deletions apps/e-commerce/src/page/page.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { PageController } from './page.controller';
import { PageService } from './page.service';
import { SequelizeModule } from '@nestjs/sequelize';
import { ECPage } from '@rahino/database/models/ecommerce-eav/ec-page.entity';

@Module({
imports: [SequelizeModule.forFeature([ECPage])],
controllers: [PageController],
providers: [PageService],
})
export class PageModule implements NestModule {
configure(consumer: MiddlewareConsumer) {}
}
43 changes: 43 additions & 0 deletions apps/e-commerce/src/page/page.service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import { Injectable, NotFoundException } from '@nestjs/common';
import { InjectModel } from '@nestjs/sequelize';
import { QueryOptionsBuilder } from '@rahino/query-filter/sequelize-query-builder';
import { Op, Sequelize } from 'sequelize';
import * as _ from 'lodash';
import { ECPage } from '@rahino/database/models/ecommerce-eav/ec-page.entity';

@Injectable()
export class PageService {
constructor(@InjectModel(ECPage) private repository: typeof ECPage) {}

async findBySlug(slug: string) {
let queryBuilder = new QueryOptionsBuilder();
queryBuilder = queryBuilder
.attributes([
'id',
'title',
'slug',
'description',
'metaTitle',
'metaDescription',
'metaKeywords',
'createdAt',
'updatedAt',
])
.filter(
Sequelize.where(
Sequelize.fn('isnull', Sequelize.col('ECPage.isDeleted'), 0),
{
[Op.eq]: 0,
},
),
)
.filter({ slug: slug });
const page = await this.repository.findOne(queryBuilder.build());
if (!page) {
throw new NotFoundException('the item with this given id not founded!');
}
return {
result: page,
};
}
}

0 comments on commit 0b3ff80

Please sign in to comment.