diff --git a/onlineshop/source/client/package.json b/onlineshop/source/client/package.json index 2b61c84..3ac3674 100644 --- a/onlineshop/source/client/package.json +++ b/onlineshop/source/client/package.json @@ -60,5 +60,6 @@ "webpack": "^5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0" - } + }, + "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610" } diff --git a/onlineshop/source/client/src/App.tsx b/onlineshop/source/client/src/App.tsx index c5dd4db..9f605c7 100644 --- a/onlineshop/source/client/src/App.tsx +++ b/onlineshop/source/client/src/App.tsx @@ -1,15 +1,10 @@ import React from 'react'; import './App.css'; -import First from './components/first'; -import DogList from './components/dogList'; const App: React.FC = () => ( <> -

Hello World!

-

Hello

- - +

learn react

); diff --git a/onlineshop/source/client/src/components/dogItem.tsx b/onlineshop/source/client/src/components/dogItem.tsx deleted file mode 100644 index 85e4844..0000000 --- a/onlineshop/source/client/src/components/dogItem.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import { Dog } from './dogList' -import Button from '@mui/material/Button'; -import TextField from '@mui/material/TextField'; - - -interface IProps { - dog: Dog -} - -const updateDog = async (dog: Dog) => { - let method = "POST"; - let url = "/api/dogs/"; - if (dog.id !== 0) { - method = "PUT"; - url += `${dog.id}`; - } - return await fetch(url,{ - method: method, // *GET, POST, PUT, DELETE, etc. - headers: { - "Content-Type": "application/json", - // 'Content-Type': 'application/x-www-form-urlencoded', - }, - body: JSON.stringify(dog), // body data type must match "Content-Type" header - }); - } - -export default function DogItem(props: IProps) { - const [name, setName] = React.useState(props.dog.name); - - const onChange = (event: React.ChangeEvent) => { - setName(event.target.value) - } - return ( -
-

Dog:

- -

Age: {props.dog.age}

- -
- ) -} diff --git a/onlineshop/source/client/src/components/dogList.tsx b/onlineshop/source/client/src/components/dogList.tsx deleted file mode 100644 index 1a2e2ce..0000000 --- a/onlineshop/source/client/src/components/dogList.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react' -import DogItem from './dogItem'; -import { create } from 'domain'; -import Button from '@mui/material/Button'; - -export interface Dog { - id: number, - name: string, - age: number -} - -const getDogs = async (): Promise => { - const data = await fetch('/api/dogs') - return await data.json(); - // const dogs = [{ name: "Bob", age: 1 }, { name: "Alice", age: 2 }, { name: "Charlie", age: 3 }] - // return new Promise((resolve) => setTimeout(() => resolve(dogs), 5000)); -} - - -export default function DogList() { - const [dogs, setDogs] = React.useState([]); - - const createDog = async () => { - setDogs([...dogs, { id: 0, name: "", age: 0 }]); - } - - React.useEffect(() => { - let isMounted = true; - const fetchDogs = async () => { - console.log("fetching"); - const dogs = await getDogs(); - if (!isMounted) return; - setDogs(dogs); - } - fetchDogs(); - return () => { - isMounted = false; - } - }, []); - return ( -
-

Dog List

- - { - dogs.map((dog, index) => ) - } -
- ) -} diff --git a/onlineshop/source/client/src/components/first.tsx b/onlineshop/source/client/src/components/first.tsx deleted file mode 100644 index eb6f061..0000000 --- a/onlineshop/source/client/src/components/first.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react' -import Button from '@mui/material/Button'; - -export default function First() { - const [count, setCount] = React.useState(0); - - const handleClick = () => { - setCount(count + 1); - console.log(`Clicked ${count}`) - }; - return ( -
-

Click count: {count}

- -
- ) -} \ No newline at end of file diff --git a/onlineshop/source/server/migrations/1743834051977-initial.ts b/onlineshop/source/server/migrations/1743834051977-initial.ts deleted file mode 100644 index 246712a..0000000 --- a/onlineshop/source/server/migrations/1743834051977-initial.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class Initial1743834051977 implements MigrationInterface { - name = 'Initial1743834051977' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`CREATE TABLE "dog" ("id" SERIAL NOT NULL, "name" character varying NOT NULL, "age" integer NOT NULL, CONSTRAINT "PK_187826f37fd8e592a5711350db1" PRIMARY KEY ("id"))`); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(`DROP TABLE "dog"`); - } - -} diff --git a/onlineshop/source/server/src/app.module.ts b/onlineshop/source/server/src/app.module.ts index aff3e0a..74494d4 100644 --- a/onlineshop/source/server/src/app.module.ts +++ b/onlineshop/source/server/src/app.module.ts @@ -3,9 +3,6 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { AppController } from './app.controller'; import { AppService } from './app.service'; -import { CatsModule } from './cats/cats.module'; -import { DogsModule } from './dogs/dogs.module'; -import { Dog } from './dogs/entities/dog.entity'; @Module({ imports: [ @@ -16,11 +13,9 @@ import { Dog } from './dogs/entities/dog.entity'; username: 'postgres', password: 'postgres', database: 'sample', - entities: [Dog], + entities: [], synchronize: true, }), - CatsModule, - DogsModule, ], controllers: [AppController], providers: [AppService], diff --git a/onlineshop/source/server/src/app.service.ts b/onlineshop/source/server/src/app.service.ts index b80abd2..927d7cc 100644 --- a/onlineshop/source/server/src/app.service.ts +++ b/onlineshop/source/server/src/app.service.ts @@ -3,6 +3,6 @@ import { Injectable } from '@nestjs/common'; @Injectable() export class AppService { getHello(): string { - return 'Hello World! 12345'; + return 'Hello World!'; } } diff --git a/onlineshop/source/server/src/cats/cats.controller.spec.ts b/onlineshop/source/server/src/cats/cats.controller.spec.ts deleted file mode 100644 index d06cde6..0000000 --- a/onlineshop/source/server/src/cats/cats.controller.spec.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { CatsController } from './cats.controller'; -import { CatsService } from './cats.service'; - -describe('CatsController', () => { - let controller: CatsController; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [CatsController], - providers: [CatsService], - }).compile(); - - controller = module.get(CatsController); - }); - - it('should be defined', () => { - expect(controller).toBeDefined(); - }); -}); diff --git a/onlineshop/source/server/src/cats/cats.controller.ts b/onlineshop/source/server/src/cats/cats.controller.ts deleted file mode 100644 index 08b8db1..0000000 --- a/onlineshop/source/server/src/cats/cats.controller.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { - Controller, - Get, - Post, - Body, - Patch, - Param, - Delete, - NotFoundException, -} from '@nestjs/common'; -import { CatsService } from './cats.service'; -import { CreateCatDto } from './dto/create-cat.dto'; -import { UpdateCatDto } from './dto/update-cat.dto'; - -@Controller('cats') -export class CatsController { - constructor(private readonly catsService: CatsService) {} - - @Post() - create(@Body() createCatDto: CreateCatDto) { - return this.catsService.create(createCatDto); - } - - @Get() - findAll() { - return this.catsService.findAll(); - } - - @Get(':id') - findOne(@Param('id') id: string) { - const cat = this.catsService.findOne(+id); - if (cat) { - return cat; - } - throw new NotFoundException(`cat with id: ${id} was not found`); - } - - @Patch(':id') - update(@Param('id') id: string, @Body() updateCatDto: UpdateCatDto) { - return this.catsService.update(+id, updateCatDto); - } - - @Delete(':id') - remove(@Param('id') id: string) { - return this.catsService.remove(+id); - } -} diff --git a/onlineshop/source/server/src/cats/cats.module.ts b/onlineshop/source/server/src/cats/cats.module.ts deleted file mode 100644 index da3fc68..0000000 --- a/onlineshop/source/server/src/cats/cats.module.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Module } from '@nestjs/common'; -import { CatsService } from './cats.service'; -import { CatsController } from './cats.controller'; - -@Module({ - controllers: [CatsController], - providers: [CatsService], -}) -export class CatsModule {} diff --git a/onlineshop/source/server/src/cats/cats.service.spec.ts b/onlineshop/source/server/src/cats/cats.service.spec.ts deleted file mode 100644 index 0e9bf2b..0000000 --- a/onlineshop/source/server/src/cats/cats.service.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { CatsService } from './cats.service'; - -describe('CatsService', () => { - let service: CatsService; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [CatsService], - }).compile(); - - service = module.get(CatsService); - }); - - it('should be defined', () => { - expect(service).toBeDefined(); - }); -}); diff --git a/onlineshop/source/server/src/cats/cats.service.ts b/onlineshop/source/server/src/cats/cats.service.ts deleted file mode 100644 index ae1c934..0000000 --- a/onlineshop/source/server/src/cats/cats.service.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { CreateCatDto } from './dto/create-cat.dto'; -import { UpdateCatDto } from './dto/update-cat.dto'; -import { Cat } from './entities/cat.entity'; - -@Injectable() -export class CatsService { - cats: Cat[] = [ - { - id: 1, - name: 'Vasya', - age: 2 - }, - { - id: 2, - name: 'Pushok', - age: 3 - }, - ] - - create(createCatDto: CreateCatDto) { - const newCat: Cat = { - id: this.cats.length + 1, - ...createCatDto - } - this.cats.push(newCat); - return newCat; - } - - findAll() { - return this.cats; - } - - findOne(id: number) { - return this.cats.find((cat:Cat) => - {return cat.id === id}); - } - - update(id: number, updateCatDto: UpdateCatDto) { - return `This action updates a #${id} cat`; - } - - remove(id: number) { - return `This action removes a #${id} cat`; - } -} diff --git a/onlineshop/source/server/src/cats/dto/create-cat.dto.ts b/onlineshop/source/server/src/cats/dto/create-cat.dto.ts deleted file mode 100644 index 0b7eebf..0000000 --- a/onlineshop/source/server/src/cats/dto/create-cat.dto.ts +++ /dev/null @@ -1,4 +0,0 @@ -export class CreateCatDto { - name: string - age: number -} diff --git a/onlineshop/source/server/src/cats/dto/update-cat.dto.ts b/onlineshop/source/server/src/cats/dto/update-cat.dto.ts deleted file mode 100644 index 3c528e2..0000000 --- a/onlineshop/source/server/src/cats/dto/update-cat.dto.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { PartialType } from '@nestjs/mapped-types'; -import { CreateCatDto } from './create-cat.dto'; - -export class UpdateCatDto extends PartialType(CreateCatDto) {} diff --git a/onlineshop/source/server/src/cats/entities/cat.entity.ts b/onlineshop/source/server/src/cats/entities/cat.entity.ts deleted file mode 100644 index 484f89b..0000000 --- a/onlineshop/source/server/src/cats/entities/cat.entity.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class Cat { - id: number - name: string - age: number -} diff --git a/onlineshop/source/server/src/dogs/dogs.controller.spec.ts b/onlineshop/source/server/src/dogs/dogs.controller.spec.ts deleted file mode 100644 index cd35dae..0000000 --- a/onlineshop/source/server/src/dogs/dogs.controller.spec.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { DogsController } from './dogs.controller'; -import { DogsService } from './dogs.service'; - -describe('DogsController', () => { - let controller: DogsController; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [DogsController], - providers: [DogsService], - }).compile(); - - controller = module.get(DogsController); - }); - - it('should be defined', () => { - expect(controller).toBeDefined(); - }); -}); diff --git a/onlineshop/source/server/src/dogs/dogs.controller.ts b/onlineshop/source/server/src/dogs/dogs.controller.ts deleted file mode 100644 index bef88c2..0000000 --- a/onlineshop/source/server/src/dogs/dogs.controller.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { - Controller, - Get, - Post, - Body, - Patch, - Param, - Delete, - InternalServerErrorException, - Put, - NotFoundException, -} from '@nestjs/common'; - -import { DogsService } from './dogs.service'; -import { CreateDogDto } from './dto/create-dog.dto'; -import { UpdateDogDto } from './dto/update-dog.dto'; - -@Controller('dogs') -export class DogsController { - constructor(private readonly dogsService: DogsService) {} - - @Post() - create(@Body() createDogDto: CreateDogDto) { - try { - return this.dogsService.create(createDogDto); - } catch (err) { - console.log(err); - throw new InternalServerErrorException('something went wrong'); - } - } - - @Get() - findAll() { - return this.dogsService.findAll(); - } - - @Get(':id') - findOne(@Param('id') id: string) { - return this.dogsService.findOne(+id); - } - - @Put(':id') - async update(@Param('id') id: string, @Body() updateDogDto: UpdateDogDto) { - try { - const dog = await this.dogsService.update(+id, updateDogDto); - return dog; - } catch (err) { - throw new NotFoundException(err.message); - } - } - - @Delete(':id') - remove(@Param('id') id: string) { - return this.dogsService.remove(+id); - } -} diff --git a/onlineshop/source/server/src/dogs/dogs.module.ts b/onlineshop/source/server/src/dogs/dogs.module.ts deleted file mode 100644 index 08b952d..0000000 --- a/onlineshop/source/server/src/dogs/dogs.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Module } from '@nestjs/common'; -import { DogsService } from './dogs.service'; -import { DogsController } from './dogs.controller'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { Dog } from './entities/dog.entity'; - -@Module({ - imports: [TypeOrmModule.forFeature([Dog])], - controllers: [DogsController], - providers: [DogsService], -}) -export class DogsModule {} diff --git a/onlineshop/source/server/src/dogs/dogs.service.spec.ts b/onlineshop/source/server/src/dogs/dogs.service.spec.ts deleted file mode 100644 index 7c9f13e..0000000 --- a/onlineshop/source/server/src/dogs/dogs.service.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { DogsService } from './dogs.service'; - -describe('DogsService', () => { - let service: DogsService; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [DogsService], - }).compile(); - - service = module.get(DogsService); - }); - - it('should be defined', () => { - expect(service).toBeDefined(); - }); -}); diff --git a/onlineshop/source/server/src/dogs/dogs.service.ts b/onlineshop/source/server/src/dogs/dogs.service.ts deleted file mode 100644 index 89bacd3..0000000 --- a/onlineshop/source/server/src/dogs/dogs.service.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { InjectRepository } from '@nestjs/typeorm'; -import { Repository } from 'typeorm'; - -import { CreateDogDto } from './dto/create-dog.dto'; -import { UpdateDogDto } from './dto/update-dog.dto'; -import { Dog } from './entities/dog.entity'; - -@Injectable() -export class DogsService { - constructor( - @InjectRepository(Dog) - private dogsRepository: Repository, - ) {} - - async create(createDogDto: CreateDogDto) { - // const dog = new Dog(); - // dog.name = createDogDto.name; - // dog.age = createDogDto.age; - const entity = this.dogsRepository.create(createDogDto); - const rDog = await this.dogsRepository.save(entity); - return rDog; - } - - async findAll() { - const dogs = await this.dogsRepository.find(); - return dogs; - } - - findOne(id: number) { - return `This action returns a #${id} dog`; - } - - async update(id: number, updateDogDto: UpdateDogDto) { - const entity = await this.dogsRepository.findOne({ where: { id } }); - if (!entity) { - throw new Error(`Dog with ${id} not found`); - } - entity.name = updateDogDto.name; - entity.age = updateDogDto.age; - await this.dogsRepository.save(entity); - } - - remove(id: number) { - return `This action removes a #${id} dog`; - } -} diff --git a/onlineshop/source/server/src/dogs/dto/create-dog.dto.ts b/onlineshop/source/server/src/dogs/dto/create-dog.dto.ts deleted file mode 100644 index d572d18..0000000 --- a/onlineshop/source/server/src/dogs/dto/create-dog.dto.ts +++ /dev/null @@ -1,4 +0,0 @@ -export class CreateDogDto { - name: string; - age: number; -} diff --git a/onlineshop/source/server/src/dogs/dto/update-dog.dto.ts b/onlineshop/source/server/src/dogs/dto/update-dog.dto.ts deleted file mode 100644 index f44c5ae..0000000 --- a/onlineshop/source/server/src/dogs/dto/update-dog.dto.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PartialType } from '@nestjs/mapped-types'; -import { CreateDogDto } from './create-dog.dto'; - -export class UpdateDogDto extends PartialType(CreateDogDto) { - id: number; - name: string; - age: number; -} diff --git a/onlineshop/source/server/src/dogs/entities/dog.entity.ts b/onlineshop/source/server/src/dogs/entities/dog.entity.ts deleted file mode 100644 index 84f1019..0000000 --- a/onlineshop/source/server/src/dogs/entities/dog.entity.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm'; - -@Entity() -export class Dog { - @PrimaryGeneratedColumn() - id: number; - - @Column() - name: string; - - @Column() - age: number; -}