fix for history and allMessages table
This commit is contained in:
		@@ -3,7 +3,7 @@
 | 
			
		||||
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
 | 
			
		||||
    <!--https://github.com/kmtong/logback-redis-appender-->
 | 
			
		||||
    <appender name="LOGSTASH" class="com.release11.klaus.utilis.RedisAppender">
 | 
			
		||||
        <host>localhost</host>
 | 
			
		||||
        <host>redis-image</host>
 | 
			
		||||
        <port>6379</port>
 | 
			
		||||
        <key>logstash</key>
 | 
			
		||||
        <layout class="ch.qos.logback.classic.PatternLayout">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
 | 
			
		||||
.page-section{
 | 
			
		||||
  padding: 2rem 0;
 | 
			
		||||
}
 | 
			
		||||
@@ -11,4 +12,56 @@
 | 
			
		||||
  content: "";
 | 
			
		||||
  display: table;
 | 
			
		||||
  clear: both;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 600px) {
 | 
			
		||||
  .column {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button:hover { font-weight: 600; }
 | 
			
		||||
button:hover i { margin-right: 20px; }
 | 
			
		||||
 | 
			
		||||
button:focus {
 | 
			
		||||
    outline: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.pageable {
 | 
			
		||||
    border: 1px solid rgba(0, 0, 0, .11);
 | 
			
		||||
    ;
 | 
			
		||||
    padding: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.tr-pageable{
 | 
			
		||||
    margin-left:1000px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.controls-item {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.btn {
 | 
			
		||||
    margin: 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button[name="allMessagesClicked"] {
 | 
			
		||||
    color: #00b3b3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#pagination-wrapper button {
 | 
			
		||||
    background: none;
 | 
			
		||||
    border: 2px solid #00b3b3;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    transition: background-color 0.3s, color 0.3s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
button[name="removeHeader"] {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    background: none;
 | 
			
		||||
    border: none;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    transition: background-color 0.3s, color 0.3s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,51 +2,64 @@
 | 
			
		||||
<html lang="en" xmlns:th="http://thymeleaf.org">
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="UTF-8">
 | 
			
		||||
    <title>Title</title>
 | 
			
		||||
    <script src="/js/main.js">
 | 
			
		||||
        document.getElementById('localDateTimeFrom').valueAsDate = new Date();
 | 
			
		||||
    </script>
 | 
			
		||||
    <link href="css/styles.css" rel="stylesheet" />
 | 
			
		||||
    <title>R11 Klaus</title>
 | 
			
		||||
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 | 
			
		||||
    <link href="https://fonts.googleapis.com/css?family=Lato:100,300,600" rel="stylesheet" type="text/css">
 | 
			
		||||
    <link href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" type="text/css">
 | 
			
		||||
    <link href="/css/styles.css" rel="stylesheet"/>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
<hr>
 | 
			
		||||
 | 
			
		||||
<div><br>In order to set mockup response. Please send the response, that you want to receive, on:
 | 
			
		||||
    <br>http://localhost:8097/klaus/v1/set/ <a th:text="${mockedResponseDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId}?httpStatus=200
 | 
			
		||||
<div><br>In order to set mockup response please fill the form below:
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<section class="page-section" id="main-section">
 | 
			
		||||
<section class="page-section" id="main-section" >
 | 
			
		||||
    <div class="container">
 | 
			
		||||
        <div class="row">
 | 
			
		||||
            <div class="column">
 | 
			
		||||
                    <br>You can also simply fill and submit the below form:
 | 
			
		||||
 | 
			
		||||
                <form action="#" th:action="@{/home}" th:object="${mockedResponseDto}" method="post">
 | 
			
		||||
            <div class="column" >
 | 
			
		||||
                <br>You can also simply fill and submit the below form:
 | 
			
		||||
                <form action="#" th:action="@{/home/__${mockedMessageDto.clientUUID}__}"
 | 
			
		||||
                      th:object="${mockedMessageDto}" method="post">
 | 
			
		||||
                    <table>
 | 
			
		||||
                        <input type="text" th:field="*{clientUUID}" th:placeholder="*{clientUUID}" hidden/>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Mocked response id:</td>
 | 
			
		||||
                            <td><input type="text" th:field="*{mockedResponseId}"/></td>
 | 
			
		||||
                            <td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id Error</td>
 | 
			
		||||
                            <td th:if="${#fields.hasErrors('mockedResponseId')}" th:errors="*{mockedResponseId}">Id
 | 
			
		||||
                                Error
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Mocked response body:</td>
 | 
			
		||||
                            <td><textarea rows="4" cols="50" th:field="*{messageBody}"></textarea></td>
 | 
			
		||||
                            <td><textarea rows="4" cols="30" th:field="*{messageBody}"></textarea></td>
 | 
			
		||||
                            <td th:if="${#fields.hasErrors('messageBody')}" th:errors="*{messageBody}">Body Error</td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Mocked response http code status:</td>
 | 
			
		||||
                            <td><input type="text" th:field="*{httpStatus}"></td>
 | 
			
		||||
                            <td th:if="${#fields.hasErrors('httpStatus')}" th:errors="*{httpStatus}">HttpStatus Error</td>
 | 
			
		||||
                            <td th:if="${#fields.hasErrors('httpStatus')}" th:errors="*{httpStatus}">HttpStatus Error
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Header name</td>
 | 
			
		||||
                            <td>Header value</td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <td>Provide mocked response headers:</td>
 | 
			
		||||
                            <td><a href="#" id="addHeader" onclick="addFields()">Add a new header</a>
 | 
			
		||||
                                <table>
 | 
			
		||||
                                    <tr>
 | 
			
		||||
                                        <td><div id="headers"></div></td>
 | 
			
		||||
                                    </tr>
 | 
			
		||||
                                </table>
 | 
			
		||||
                            <td><input type="text" name="headerKey" id="headerKey" placeholder="myHeaderKey"/></td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="headerValue" id="headerValue" placeholder="myHeaderValue"/>
 | 
			
		||||
                                <input type="image" name="addHeader" src="/img/icons8-plus-48.png"
 | 
			
		||||
                                       style="width: 20px;"/>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr th:each="entry, stats : *{httpHeaders}" bgcolor="#b3ffff">
 | 
			
		||||
                            <td><input type="text" name="value" th:value="${entry.key}" disabled="disabled"/></td>
 | 
			
		||||
                            <td>
 | 
			
		||||
                                <input type="text" name="value" th:field="*{httpHeaders[__${entry.key}__]}"/>
 | 
			
		||||
                                <button type="submit" name="removeHeader" th:value="${entry.key}" >
 | 
			
		||||
                                    <img src="/img/icons8-cancel-64.png" style="width: 20px;"/>
 | 
			
		||||
                                </button>
 | 
			
		||||
                            </td>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        <tr>
 | 
			
		||||
@@ -68,7 +81,8 @@
 | 
			
		||||
                            <p th:if="${mockSaved}">Mock has been saved</p>
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <form action="#" th:action="@{/home/getMockedResponse}" th:object="${mockedResponseDto}" method="get">
 | 
			
		||||
                            <form action="#" th:action="@{/home/getMockedResponse}" th:object="${mockedMessageDto}"
 | 
			
		||||
                                  method="get">
 | 
			
		||||
                                <input type="text" th:field="*{clientUUID}" hidden/>
 | 
			
		||||
                                <input type="text" th:field="*{mockedResponseId}" hidden/>
 | 
			
		||||
                                <p th:if="${mockSaved}"><input type="submit" value="Test your mock"/></p>
 | 
			
		||||
@@ -78,43 +92,70 @@
 | 
			
		||||
                </table>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="column">
 | 
			
		||||
                Your mocked requests:
 | 
			
		||||
                <br>
 | 
			
		||||
larum ispum srutum tutum
 | 
			
		||||
                    <table>
 | 
			
		||||
                        <thead>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <th class="tr-pageable">#</th>
 | 
			
		||||
                            <th class="tr-pageable">MessageId</th>
 | 
			
		||||
                            <th class="tr-pageable">Media Type</th>
 | 
			
		||||
                            <th class="tr-pageable">Http Status</th>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        </thead>
 | 
			
		||||
                        <tbody id="table-body">
 | 
			
		||||
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="container ">
 | 
			
		||||
                    <div id="pagination-wrapper"></div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</section>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <hr>
 | 
			
		||||
    <div>
 | 
			
		||||
        <br>In order to use the mocked response in your integration tests or simply
 | 
			
		||||
        get your mocked response please send a request to
 | 
			
		||||
        <br>http://localhost:8097/klaus/v1/get/<a th:text="${mockedResponseDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId}
 | 
			
		||||
        <br>You will receive the same body and headers as you sent them in the step 1.
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <hr>
 | 
			
		||||
    <div>
 | 
			
		||||
        <br>To see your activity history use the form below
 | 
			
		||||
        <form action="#" th:action="@{/eventsForm}" th:object="${eventsDto}" method="post">
 | 
			
		||||
            <input type="text" th:name="clientUUID" th:value="${mockedResponseDto.clientUUID}" hidden/>
 | 
			
		||||
            <br><label>Date from:</label><br>
 | 
			
		||||
            <input type="datetime-local" th:field="*{localDateTimeFrom}"/>
 | 
			
		||||
            <td th:if="${#fields.hasErrors('localDateTimeFrom')}" th:errors="*{localDateTimeFrom}">localDateTimeFrom Error</td>
 | 
			
		||||
            <br><label>Date to:</label><br>
 | 
			
		||||
            <input type="datetime-local" th:field="*{localDateTimeTo}"/>
 | 
			
		||||
            <td th:if="${#fields.hasErrors('localDateTimeTo')}" th:errors="*{localDateTimeTo}">localDateTimeTo Error</td>
 | 
			
		||||
            <div th:if="${#fields.hasAnyErrors()}">
 | 
			
		||||
                <p th:each="err : ${#fields.allErrors()}" th:text="${err}">...</p>
 | 
			
		||||
            </div>
 | 
			
		||||
            <input type="submit" value="See my history"/>
 | 
			
		||||
        </form>
 | 
			
		||||
    </div>
 | 
			
		||||
    <hr>
 | 
			
		||||
</div>
 | 
			
		||||
<hr>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
<div>
 | 
			
		||||
    <br>In order to set or get responses through curl or http tools you can use urls below.
 | 
			
		||||
    <br>When you set your response simply set headers and media type of your request that you expect to get in the
 | 
			
		||||
    response from the next step.
 | 
			
		||||
    <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/set/ <a
 | 
			
		||||
        th:text="${mockedMessageDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId}?httpStatus={httpStatus}
 | 
			
		||||
    <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/get/<a
 | 
			
		||||
        th:text="${mockedMessageDto.clientUUID}">clientUUID should be here</a>/{mockedResponseId}
 | 
			
		||||
    <br>http://<a th:text="@{__${localhost}__}">localhost</a>:8097/klaus/v1/getAll/<a
 | 
			
		||||
        th:text="${mockedMessageDto.clientUUID}">clientUUID should be here</a>
 | 
			
		||||
</div>
 | 
			
		||||
<hr>
 | 
			
		||||
 | 
			
		||||
<div>
 | 
			
		||||
    <br>To see your activity history use the form below
 | 
			
		||||
    <form action="#" th:action="@{/eventsForm}" th:object="${eventsDto}" method="post">
 | 
			
		||||
        <input type="text" th:name="clientUUID" th:value="${mockedMessageDto.clientUUID}" hidden/>
 | 
			
		||||
        <br><label>Date from:</label><br>
 | 
			
		||||
        <input type="datetime-local" th:field="*{localDateTimeFrom}"/>
 | 
			
		||||
        <td th:if="${#fields.hasErrors('localDateTimeFrom')}" th:errors="*{localDateTimeFrom}">localDateTimeFrom Error
 | 
			
		||||
        </td>
 | 
			
		||||
        <br><label>Date to:</label><br>
 | 
			
		||||
        <input type="datetime-local" th:field="*{localDateTimeTo}"/>
 | 
			
		||||
        <td th:if="${#fields.hasErrors('localDateTimeTo')}" th:errors="*{localDateTimeTo}">localDateTimeTo Error</td>
 | 
			
		||||
        <div th:if="${#fields.hasAnyErrors()}">
 | 
			
		||||
            <p th:each="err : ${#fields.allErrors()}" th:text="${err}">...</p>
 | 
			
		||||
        </div>
 | 
			
		||||
        <input type="submit" value="See my history"/>
 | 
			
		||||
    </form>
 | 
			
		||||
</div>
 | 
			
		||||
<hr>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<script type="text/javascript" th:inline="javascript">
 | 
			
		||||
var mockedMessageDtoList = /*[[${mockedMessageDtoList}]]*/;
 | 
			
		||||
</script>
 | 
			
		||||
<script src="/js/paggination.js"></script>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -3,12 +3,14 @@
 | 
			
		||||
<head>
 | 
			
		||||
    <meta charset="UTF-8">
 | 
			
		||||
    <title>Login</title>
 | 
			
		||||
    <script src="/js/main.js"></script>
 | 
			
		||||
    <script>var mockedMessageDtoList = "[[${mockedMessageDtoList}]]";
 | 
			
		||||
console.log(mockedMessageDtoList.mockedResponseId);
 | 
			
		||||
console.log(mockedMessageDtoList);</script>
 | 
			
		||||
    <link href="css/styles.css" rel="stylesheet" />
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
<div><br>Please move to the next step with your own client UUID: </div>
 | 
			
		||||
<form action="#" th:action="@{/home}" method="get">
 | 
			
		||||
<form action="#" th:action="@{/home/{path}(path=${type})}" method="get">
 | 
			
		||||
    <br><label >Please provide your client UUID:</label><br/>
 | 
			
		||||
    <input type="text" name="clientUUID" value="436c4774-038f-4540-9c18-2691ca9b53d4" />
 | 
			
		||||
    <input type="submit" value="Proceed"/>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user