This commit is contained in:
@@ -9,7 +9,7 @@ import { EntityType } from '../interface/print';
|
|||||||
import { Product } from 'src/modules/product/entities/product.entity';
|
import { Product } from 'src/modules/product/entities/product.entity';
|
||||||
import { Print } from 'src/modules/print/entities/print.entity';
|
import { Print } from 'src/modules/print/entities/print.entity';
|
||||||
import { ProductService } from 'src/modules/product/providers/product.service';
|
import { ProductService } from 'src/modules/product/providers/product.service';
|
||||||
import { PrintService } from 'src/modules/print/provider/Print.service';
|
import { PrintService } from 'src/modules/print/provider/print.service';
|
||||||
import { FindFieldsGroupDto } from '../dto/find-field-group.dto';
|
import { FindFieldsGroupDto } from '../dto/find-field-group.dto';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -98,8 +98,8 @@ export class CreateOrderAsAdminDto {
|
|||||||
{
|
{
|
||||||
productId: 1,
|
productId: 1,
|
||||||
designerId: '',
|
designerId: '',
|
||||||
print: [{ fieldId: '', value: '' }],
|
// print: [{ fieldId: '', value: '' }],
|
||||||
printAttachments: [{ url: '', type: '' }],
|
// printAttachments: [{ url: '', type: '' }],
|
||||||
quantity: 100,
|
quantity: 100,
|
||||||
attributes: [],
|
attributes: [],
|
||||||
unitPrice:150000,
|
unitPrice:150000,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards } from '@nestjs/common';
|
import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards } from '@nestjs/common';
|
||||||
import { PrintService } from '../provider/Print.service';
|
import { PrintService } from '../provider/print.service';
|
||||||
import { CreateSectionDto } from '../dto/create-section.dto';
|
import { CreateSectionDto } from '../dto/create-section.dto';
|
||||||
import { ApiBearerAuth, ApiOperation } from '@nestjs/swagger';
|
import { ApiBearerAuth, ApiOperation } from '@nestjs/swagger';
|
||||||
import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard';
|
import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { PrintService } from './provider/Print.service';
|
import { PrintService } from './provider/print.service';
|
||||||
import { PrintController } from './controller/print.controller';
|
import { PrintController } from './controller/print.controller';
|
||||||
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
import { MikroOrmModule } from '@mikro-orm/nestjs';
|
||||||
import { Print } from './entities/print.entity';
|
import { Print } from './entities/print.entity';
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
import { Injectable, NotFoundException } from '@nestjs/common';
|
|
||||||
import { EntityManager } from '@mikro-orm/postgresql';
|
|
||||||
import { RequiredEntityData } from '@mikro-orm/core';
|
|
||||||
import { PrintRepository } from '../repository/print.repository';
|
|
||||||
import { CreateSectionDto } from '../dto/create-section.dto';
|
|
||||||
import { Print } from '../entities/print.entity';
|
|
||||||
import { UpdateSectionDto } from '../dto/update-section.dto';
|
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
|
||||||
export class PrintService {
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
private readonly sectionRepository: PrintRepository,
|
|
||||||
private readonly em: EntityManager,
|
|
||||||
) { }
|
|
||||||
|
|
||||||
async create(dto: CreateSectionDto) {
|
|
||||||
|
|
||||||
const data: RequiredEntityData<Print> = {
|
|
||||||
title: dto.title,
|
|
||||||
order: dto.order,
|
|
||||||
};
|
|
||||||
|
|
||||||
const section = this.sectionRepository.create(data)
|
|
||||||
|
|
||||||
await this.em.persistAndFlush(section)
|
|
||||||
|
|
||||||
return section
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
async update(sectionId: number, dto: UpdateSectionDto) {
|
|
||||||
|
|
||||||
const section = await this.sectionRepository.findOne({ id: sectionId })
|
|
||||||
|
|
||||||
if (!section) {
|
|
||||||
throw new NotFoundException('Print not found');
|
|
||||||
}
|
|
||||||
|
|
||||||
this.sectionRepository.assign(section, dto)
|
|
||||||
|
|
||||||
this.em.persistAndFlush(section)
|
|
||||||
|
|
||||||
return section
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
findAll() {
|
|
||||||
return this.sectionRepository.findAll({ populate: ['fields', 'fields.options', 'fields.options.value'] });
|
|
||||||
}
|
|
||||||
|
|
||||||
async findOneOrFail(attributeId: number): Promise<Print> {
|
|
||||||
const section = await this.sectionRepository.findOne({ id: attributeId },
|
|
||||||
{ populate: ['fields', 'fields.options', 'fields.options.value'] });
|
|
||||||
|
|
||||||
if (!section) throw new NotFoundException('Print not found');
|
|
||||||
return section;
|
|
||||||
}
|
|
||||||
|
|
||||||
async remove(id: number): Promise<void> {
|
|
||||||
const section = await this.findOneOrFail(id);
|
|
||||||
|
|
||||||
section.deletedAt = new Date();
|
|
||||||
return await this.em.persistAndFlush(section);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
import { Injectable, NotFoundException } from '@nestjs/common';
|
||||||
|
import { EntityManager } from '@mikro-orm/postgresql';
|
||||||
|
import { RequiredEntityData } from '@mikro-orm/core';
|
||||||
|
import { PrintRepository } from '../repository/print.repository';
|
||||||
|
import { CreateSectionDto } from '../dto/create-section.dto';
|
||||||
|
import { Print } from '../entities/print.entity';
|
||||||
|
import { UpdateSectionDto } from '../dto/update-section.dto';
|
||||||
|
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class PrintService {
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private readonly printRepository: PrintRepository,
|
||||||
|
private readonly em: EntityManager,
|
||||||
|
) { }
|
||||||
|
|
||||||
|
async create(dto: CreateSectionDto) {
|
||||||
|
|
||||||
|
const data: RequiredEntityData<Print> = {
|
||||||
|
title: dto.title,
|
||||||
|
order: dto.order,
|
||||||
|
};
|
||||||
|
|
||||||
|
const print = this.printRepository.create(data)
|
||||||
|
|
||||||
|
await this.em.persistAndFlush(print)
|
||||||
|
|
||||||
|
return print
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async update(sectionId: number, dto: UpdateSectionDto) {
|
||||||
|
|
||||||
|
const print = await this.finOrFail(sectionId)
|
||||||
|
|
||||||
|
this.printRepository.assign(print, dto)
|
||||||
|
|
||||||
|
this.em.persistAndFlush(print)
|
||||||
|
|
||||||
|
return print
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
findAll() {
|
||||||
|
return this.printRepository.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async remove(id: number): Promise<void> {
|
||||||
|
const print = await this.finOrFail(id);
|
||||||
|
|
||||||
|
print.deletedAt = new Date();
|
||||||
|
|
||||||
|
return await this.em.persistAndFlush(print);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============== Helpers ==========
|
||||||
|
async finOrFail(printId: number) {
|
||||||
|
const printSection = await this.printRepository.findOne({ id: printId })
|
||||||
|
|
||||||
|
if (!printSection) {
|
||||||
|
throw new NotFoundException('printSection not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
return printSection
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user