show all listings, Bug Fixes

This commit is contained in:
2024-05-09 16:10:01 +02:00
parent 6b61c19bd7
commit d508415de4
29 changed files with 810 additions and 410 deletions

View File

@@ -1,48 +1,52 @@
import { Body, Controller, Delete, Get, Inject, Param, Post, Put, UploadedFile, UseInterceptors } from '@nestjs/common';
import { ListingsService } from './listings.service.js';
import { Body, Controller, Delete, Get, Inject, Param, Post, Put } from '@nestjs/common';
import { WINSTON_MODULE_PROVIDER } from 'nest-winston';
import { Logger } from 'winston';
import { FileInterceptor } from '@nestjs/platform-express';
import { commercials } from '../drizzle/schema.js';
import { FileService } from '../file/file.service.js';
import { ImageProperty, ListingCriteria } from '../models/main.model.js';
import { commercials} from '../drizzle/schema.js';
import { ListingCriteria } from '../models/main.model.js';
import { ListingsService } from './listings.service.js';
@Controller('listings/commercialProperty')
export class CommercialPropertyListingsController {
constructor(private readonly listingsService:ListingsService,private fileService:FileService,@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) {
}
@Get(':id')
findById(@Param('id') id:string): any {
return this.listingsService.findById(id,commercials);
}
// @Get('user/:userid')
// findByUserId(@Param('userid') userid:string): any {
// return this.listingsService.findByUserId(userid,commercials);
// }
@Post('search')
async find(@Body() criteria: ListingCriteria): Promise<any> {
return await this.listingsService.findListingsByCriteria(criteria,commercials);
}
@Post()
async create(@Body() listing: any){
this.logger.info(`Save Listing`);
return await this.listingsService.createListing(listing,commercials)
}
@Put()
async update(@Body() listing: any){
this.logger.info(`Save Listing`);
return await this.listingsService.updateListing(listing.id,listing,commercials)
}
@Delete(':id')
deleteById(@Param('id') id:string){
this.listingsService.deleteListing(id,commercials)
}
constructor(
private readonly listingsService: ListingsService,
private fileService: FileService,
@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger,
) {}
@Put('imageOrder/:id')
async changeImageOrder(@Param('id') id:string,@Body() imageOrder: string[]) {
this.listingsService.updateImageOrder(id, imageOrder)
}
@Get(':id')
findById(@Param('id') id: string): any {
return this.listingsService.findById(id, commercials);
}
@Get('user/:userid')
findByUserId(@Param('userid') userid: string): any {
return this.listingsService.findByUserId(userid, commercials);
}
@Post('search')
async find(@Body() criteria: ListingCriteria): Promise<any> {
return await this.listingsService.findListingsByCriteria(criteria, commercials);
}
@Get('states/all')
getStates(): any {
return this.listingsService.getStates(commercials);
}
@Post()
async create(@Body() listing: any) {
this.logger.info(`Save Listing`);
return await this.listingsService.createListing(listing, commercials);
}
@Put()
async update(@Body() listing: any) {
this.logger.info(`Save Listing`);
return await this.listingsService.updateListing(listing.id, listing, commercials);
}
@Delete(':id')
deleteById(@Param('id') id: string) {
this.listingsService.deleteListing(id, commercials);
}
@Put('imageOrder/:id')
async changeImageOrder(@Param('id') id: string, @Body() imageOrder: string[]) {
this.listingsService.updateImageOrder(id, imageOrder);
}
}