-
Notifications
You must be signed in to change notification settings - Fork 2
test test #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: first
Are you sure you want to change the base?
test test #15
Changes from all commits
30ce615
db9af4e
a035857
498858d
2ffc7a4
8030d11
f06459d
11a2782
742fde6
311d805
d45cb24
eba3953
9138ad8
b9b539b
b1a3d24
c1a0361
39035cd
290b040
84e0686
376c645
b14d47c
bfaac9b
e2d2162
aca44c7
514751a
277976c
714f0b8
ab6530e
d1f4e8f
afa497f
54b42e3
58a96db
90bb2b2
e0cbf16
6647058
757c451
008f25e
05c4ec5
56b5c1e
182acbd
a96fbbf
e148533
0f95c9f
60213f0
6b976c7
f8f70a7
9de6ed3
881fd9d
7773440
9ab5c92
6686692
ceed8dd
19fec1c
7036a69
0d070c7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # Default ignored files | ||
| /.idea/shelf/ | ||
| /.idea/workspace.xml | ||
| /gitCopies/* | ||
| Config |
This file was deleted.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,12 @@ | ||
| # telegramPullRequestBot | ||
| JAVA/Kotlin | ||
| Телеграм бот, принимает ссылку на pull request на гитхаб, возвращает ссылку на поднятую виртуальную машину(сайт). под копотом работает с Netangels как хостингом | ||
| Телеграм бот, принимает ссылку на pull request на гитхаб, возвращает ссылку на поднятую виртуальную машину(сайт). под капотом работает с Netangels как хостингом | ||
|
|
||
|
|
||
| # TODO | ||
| - [ ] рефакторинг бота | ||
| - [x] исправление синтаксических ошибок | ||
| - [x] токен в отдельный файл :) | ||
| - [x] переместить lib в корень проекта | ||
| - [ ] добавить обработку ошибок | ||
|
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <module type="JAVA_MODULE" version="4" /> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| import java.sql.*; | ||
| import java.util.Objects; | ||
|
|
||
| public class DataBase { | ||
| static Connection conn; | ||
| String databaseName; | ||
|
|
||
|
|
||
| //Конструктор с подключением к бд | ||
| //В переменной path должно находится расположние файла с бд (имя файла и самой таблицы должны сопадать) | ||
| public DataBase(String path) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Думаю, было бы лучше принимать в аргументах и путь и имя базы данных. Тогда не придётся сплитить строку и что-то там доставать. |
||
| databaseName = path.split("\\W+")[path.split("\\W+").length - 2]; | ||
|
|
||
| try { | ||
| Class.forName("org.sqlite.JDBC"); | ||
| path = "jdbc:sqlite:".concat(path); | ||
| conn = DriverManager.getConnection(path); | ||
| System.out.println("successfully connected to '" + databaseName + "'"); | ||
| } catch (Exception e) { | ||
| System.out.println(e.getMessage()); | ||
| } | ||
| } | ||
|
|
||
| // Добавляем запись в бд | ||
| // Этот же метод используется для изменения уже существующих данных | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Не кажется хорошим идея использовать один и тот же метод и для добавления и для изменения данных. А это это логика даже в названии метода не прослеживается. |
||
| public void addData(String id, String token) throws SQLException { | ||
| // Создаем ввод команды SQLite | ||
| String query = | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Я не помню, есть ли такая возможность в котлине, но может лучше использовать интерполяцию строк? |
||
| "INSERT INTO " + databaseName + " (%s, %s) ".formatted("id", "token") + | ||
| "VALUES ('%s', '%s');".formatted(id, token); | ||
| // Пробуем создать новую запись | ||
| try { | ||
| Statement statement = conn.createStatement(); | ||
| statement.executeUpdate(query); | ||
| } catch (Exception e) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Тут же может произойти какое-то исключение не связанное с тем, что такой id уже существует. В таком случае выполнение блока finally может привести ещё к какой-то ошибке. Тут нужно использовать сначала проверку на одно конкретное исключение существования id, а потом проверять отдельно на прочие исключения. |
||
| { | ||
| System.out.println(e.getMessage()); | ||
| } | ||
| // Если запись с таки id уже существует, изменяем ее | ||
| finally { | ||
| query = | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| "UPDATE " + databaseName + " " + | ||
| "SET token = \"%s\"".formatted(token) + | ||
| "WHERE id = \"%s\";".formatted(id); | ||
| Statement statement = conn.createStatement(); | ||
| statement.executeUpdate(query); | ||
| } | ||
|
|
||
| System.out.println("data added"); | ||
| } | ||
|
|
||
| // По названию и так понятен функционал | ||
| public String getTokenById(String id) throws SQLException { | ||
|
|
||
| ResultSet resSet; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Лучше объявить эту переменную в месте её присвоения. Меньше строк будет. |
||
| String res = null; | ||
|
|
||
| String query = | ||
| "SELECT token FROM " + databaseName + " WHERE id = \"" + id + "\";"; | ||
|
|
||
| try | ||
| { | ||
| Statement statement = conn.createStatement(); | ||
| resSet = statement.executeQuery(query); | ||
|
|
||
| } catch (Exception e) { | ||
| System.out.println(e.getMessage()); | ||
| return ""; | ||
| } | ||
|
|
||
| while (Objects.requireNonNull(resSet).next()) { | ||
| res = resSet.getString("token"); | ||
| } | ||
|
|
||
| return res; | ||
| } | ||
| } | ||

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Может не таблицы, а базы данных?