Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
Homework83_M11
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ли Джен Сеп
Homework83_M11
Commits
3f46dd44
Commit
3f46dd44
authored
Dec 19, 2024
by
Ли Джен Сеп
💬
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'validation' into 'master'
Validation See merge request
!14
parents
7b9451a2
38b0cdb6
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
155 additions
and
308 deletions
+155
-308
README.md
README.md
+3
-0
InputField.tsx
frontend/src/app/components/InputField.tsx
+48
-51
page.tsx
frontend/src/app/page.tsx
+95
-113
package-lock.json
package-lock.json
+0
-6
app.controller.spec.ts
service/src/app.controller.spec.ts
+0
-22
app.controller.ts
service/src/app.controller.ts
+0
-12
app.module.ts
service/src/app.module.ts
+0
-11
app.service.ts
service/src/app.service.ts
+0
-8
main.ts
service/src/main.ts
+5
-5
update-message.dto.ts
service/src/message/dto/update-message.dto.ts
+0
-4
message.entity.ts
service/src/message/entities/message.entity.ts
+0
-1
message.controller.spec.ts
service/src/message/message.controller.spec.ts
+0
-20
message.controller.ts
service/src/message/message.controller.ts
+2
-2
message.service.spec.ts
service/src/message/message.service.spec.ts
+0
-18
message.service.ts
service/src/message/message.service.ts
+2
-2
app.e2e-spec.ts
service/test/app.e2e-spec.ts
+0
-24
jest-e2e.json
service/test/jest-e2e.json
+0
-9
No files found.
README.md
View file @
3f46dd44
POST http://localhost:8000/encode
POST http://localhost:8000/decode
frontend/src/app/components/InputField.tsx
View file @
3f46dd44
...
...
@@ -40,10 +40,7 @@ export default function InputField({ name, value, onChange }: Props) {
</
Typography
>
</
Grid2
>
<
Grid2
size=
{
name
===
"Password"
?
6
:
8
}
sx=
{
{
"@media (max-width: 900px)"
:
{
width
:
"100%"
}
}
}
>
<
Grid2
size=
{
name
===
"Password"
?
6
:
8
}
sx=
{
{
"@media (max-width: 900px)"
:
{
width
:
"100%"
}
}
}
>
<
TextField
fullWidth
multiline=
{
name
!==
"Password"
}
...
...
frontend/src/app/page.tsx
View file @
3f46dd44
...
...
@@ -57,11 +57,7 @@ export default function Home() {
paddingY=
{
2
}
>
<
Grid2
container
direction=
"column"
spacing=
{
2
}
>
<
InputField
name=
"Decoded"
value=
{
formData
.
decoded
}
onChange=
{
onInputChangeHandler
}
/>
<
InputField
name=
"Decoded"
value=
{
formData
.
decoded
}
onChange=
{
onInputChangeHandler
}
/>
<
Grid2
container
alignItems=
"center"
...
...
@@ -73,19 +69,11 @@ export default function Home() {
}
}
>
<
Grid2
size=
{
7
}
>
<
InputField
name=
"Password"
value=
{
formData
.
password
}
onChange=
{
onInputChangeHandler
}
/>
<
InputField
name=
"Password"
value=
{
formData
.
password
}
onChange=
{
onInputChangeHandler
}
/>
</
Grid2
>
<
Grid2
container
justifyContent=
{
{}
}
>
<
Grid2
>
<
Button
size=
"small"
variant=
"contained"
startIcon=
{
<
ArrowDownwardIcon
/>
}
>
<
Button
size=
"small"
variant=
"contained"
startIcon=
{
<
ArrowDownwardIcon
/>
}
>
<
Typography
sx=
{
{
display
:
{
xs
:
"none"
,
md
:
"inline"
},
...
...
@@ -100,9 +88,7 @@ export default function Home() {
<
Button
size=
"small"
variant=
"contained"
startIcon=
{
<
ArrowDownwardIcon
sx=
{
{
transform
:
"rotate(180deg)"
}
}
/>
}
startIcon=
{
<
ArrowDownwardIcon
sx=
{
{
transform
:
"rotate(180deg)"
}
}
/>
}
>
<
Typography
sx=
{
{
...
...
@@ -116,11 +102,7 @@ export default function Home() {
</
Grid2
>
</
Grid2
>
<
InputField
name=
"Encoded"
value=
{
formData
.
encoded
}
onChange=
{
onInputChangeHandler
}
/>
<
InputField
name=
"Encoded"
value=
{
formData
.
encoded
}
onChange=
{
onInputChangeHandler
}
/>
</
Grid2
>
</
Box
>
</
Container
>
...
...
package-lock.json
deleted
100644 → 0
View file @
7b9451a2
{
"name"
:
"homework83_m11"
,
"lockfileVersion"
:
3
,
"requires"
:
true
,
"packages"
:
{}
}
service/src/app.controller.spec.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Test
,
TestingModule
}
from
'@nestjs/testing'
;
import
{
AppController
}
from
'./app.controller'
;
import
{
AppService
}
from
'./app.service'
;
describe
(
'AppController'
,
()
=>
{
let
appController
:
AppController
;
beforeEach
(
async
()
=>
{
const
app
:
TestingModule
=
await
Test
.
createTestingModule
({
controllers
:
[
AppController
],
providers
:
[
AppService
],
}).
compile
();
appController
=
app
.
get
<
AppController
>
(
AppController
);
});
describe
(
'root'
,
()
=>
{
it
(
'should return "Hello World!"'
,
()
=>
{
expect
(
appController
.
getHello
()).
toBe
(
'Hello World!'
);
});
});
});
service/src/app.controller.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Controller
,
Get
}
from
'@nestjs/common'
;
import
{
AppService
}
from
'./app.service'
;
@
Controller
()
export
class
AppController
{
constructor
(
private
readonly
appService
:
AppService
)
{}
@
Get
()
getHello
():
string
{
return
this
.
appService
.
getHello
();
}
}
service/src/app.module.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Module
}
from
'@nestjs/common'
;
import
{
AppController
}
from
'./app.controller'
;
import
{
AppService
}
from
'./app.service'
;
import
{
MessageModule
}
from
'./message/message.module'
;
@
Module
({
imports
:
[
MessageModule
],
controllers
:
[
AppController
],
providers
:
[
AppService
],
})
export
class
AppModule
{}
service/src/app.service.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Injectable
}
from
'@nestjs/common'
;
@
Injectable
()
export
class
AppService
{
getHello
():
string
{
return
'Hello World!'
;
}
}
service/src/main.ts
View file @
3f46dd44
import
{
NestFactory
}
from
'@nestjs/core'
;
import
{
AppModule
}
from
'./app.module'
;
import
{
ConfigModule
}
from
'@nestjs/config'
;
import
{
MessageModule
}
from
'./message/message.module'
;
ConfigModule
.
forRoot
();
async
function
bootstrap
()
{
const
app
=
await
NestFactory
.
create
(
App
Module
);
await
app
.
listen
(
process
.
env
.
PORT
??
3
000
);
async
function
startServer
()
{
const
app
=
await
NestFactory
.
create
(
Message
Module
);
await
app
.
listen
(
8
000
);
}
bootstrap
();
startServer
();
service/src/message/dto/update-message.dto.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
PartialType
}
from
'@nestjs/mapped-types'
;
import
{
CreateMessageDto
}
from
'./create-message.dto'
;
export
class
UpdateMessageDto
extends
PartialType
(
CreateMessageDto
)
{}
service/src/message/entities/message.entity.ts
deleted
100644 → 0
View file @
7b9451a2
export
class
Message
{}
service/src/message/message.controller.spec.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Test
,
TestingModule
}
from
'@nestjs/testing'
;
import
{
MessageController
}
from
'./message.controller'
;
import
{
MessageService
}
from
'./message.service'
;
describe
(
'MessageController'
,
()
=>
{
let
controller
:
MessageController
;
beforeEach
(
async
()
=>
{
const
module
:
TestingModule
=
await
Test
.
createTestingModule
({
controllers
:
[
MessageController
],
providers
:
[
MessageService
],
}).
compile
();
controller
=
module
.
get
<
MessageController
>
(
MessageController
);
});
it
(
'should be defined'
,
()
=>
{
expect
(
controller
).
toBeDefined
();
});
});
service/src/message/message.controller.ts
View file @
3f46dd44
...
...
@@ -6,7 +6,7 @@ import { CreateMessageDto } from './dto/create-message.dto';
export
class
MessageController
{
constructor
(
private
readonly
messageService
:
MessageService
)
{}
@
Post
(
'encode'
)
@
Post
(
'
/
encode'
)
encodeMessage
(@
Body
()
createMessageDto
:
CreateMessageDto
):
{
encoded
:
string
;
}
{
...
...
@@ -15,7 +15,7 @@ export class MessageController {
return
{
encoded
};
}
@
Post
(
'decode'
)
@
Post
(
'
/
decode'
)
decodeMessage
(@
Body
()
createMessageDto
:
CreateMessageDto
):
{
decoded
:
string
;
}
{
...
...
service/src/message/message.service.spec.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Test
,
TestingModule
}
from
'@nestjs/testing'
;
import
{
MessageService
}
from
'./message.service'
;
describe
(
'MessageService'
,
()
=>
{
let
service
:
MessageService
;
beforeEach
(
async
()
=>
{
const
module
:
TestingModule
=
await
Test
.
createTestingModule
({
providers
:
[
MessageService
],
}).
compile
();
service
=
module
.
get
<
MessageService
>
(
MessageService
);
});
it
(
'should be defined'
,
()
=>
{
expect
(
service
).
toBeDefined
();
});
});
service/src/message/message.service.ts
View file @
3f46dd44
...
...
@@ -4,10 +4,10 @@ import { Vigenere } from 'caesar-salad';
@
Injectable
()
export
class
MessageService
{
encodeMessage
(
password
:
string
,
message
:
string
):
string
{
return
Vigenere
.
Cipher
(
password
).
crypt
(
message
);
return
Vigenere
.
Cipher
(
password
.
trim
()
).
crypt
(
message
);
}
decodeMessage
(
password
:
string
,
message
:
string
):
string
{
return
Vigenere
.
Decipher
(
password
).
crypt
(
message
);
return
Vigenere
.
Decipher
(
password
.
trim
()
).
crypt
(
message
);
}
}
service/test/app.e2e-spec.ts
deleted
100644 → 0
View file @
7b9451a2
import
{
Test
,
TestingModule
}
from
'@nestjs/testing'
;
import
{
INestApplication
}
from
'@nestjs/common'
;
import
*
as
request
from
'supertest'
;
import
{
AppModule
}
from
'./../src/app.module'
;
describe
(
'AppController (e2e)'
,
()
=>
{
let
app
:
INestApplication
;
beforeEach
(
async
()
=>
{
const
moduleFixture
:
TestingModule
=
await
Test
.
createTestingModule
({
imports
:
[
AppModule
],
}).
compile
();
app
=
moduleFixture
.
createNestApplication
();
await
app
.
init
();
});
it
(
'/ (GET)'
,
()
=>
{
return
request
(
app
.
getHttpServer
())
.
get
(
'/'
)
.
expect
(
200
)
.
expect
(
'Hello World!'
);
});
});
service/test/jest-e2e.json
deleted
100644 → 0
View file @
7b9451a2
{
"moduleFileExtensions"
:
[
"js"
,
"json"
,
"ts"
],
"rootDir"
:
"."
,
"testEnvironment"
:
"node"
,
"testRegex"
:
".e2e-spec.ts$"
,
"transform"
:
{
"^.+
\\
.(t|j)s$"
:
"ts-jest"
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment