diff --git a/SCRIPTS_README.md b/SCRIPTS_README.md index 51ccad9..f0a6cbf 100644 --- a/SCRIPTS_README.md +++ b/SCRIPTS_README.md @@ -2,9 +2,28 @@ Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech. +## Структура проекта + +``` +smartsoltech.kr/ +├── cli # CLI для работы с контейнером веб-приложения +├── update # Полное обновление проекта +├── start # Быстрый запуск сервисов +├── stop # Остановка сервисов +├── logs # Просмотр логов +└── bin/ # Папка со всеми служебными скриптами + ├── cli.sh # CLI скрипт (основной) + ├── update.sh # Скрипт обновления (основной) + ├── start.sh # Скрипт запуска + ├── stop.sh # Скрипт остановки + ├── logs.sh # Скрипт логов + ├── demo.sh # Демонстрация возможностей + └── setup-backup.sh # Настройка backup репозитория +``` + ## Доступные скрипты -### 🚀 `./update.sh` - Полное обновление проекта +### 🚀 `./update` - Полное обновление проекта Выполняет полный цикл обновления: - Создание бэкапа в удаленном репозитории - Обновление кода из Git (origin или backup) @@ -17,32 +36,72 @@ **Использование:** ```bash -./update.sh # Обновление из origin (по умолчанию) -./update.sh origin # Обновление из origin репозитория -./update.sh backup # Обновление из backup репозитория -./update.sh origin backup # Обновление из origin с бэкапом в backup -./update.sh backup origin # Обновление из backup с бэкапом в origin -./update.sh --help # Показать справку -./update.sh --logs # Показать логи без обновления -./update.sh --status # Показать статус сервисов +./update # Обновление из origin (по умолчанию) +./update origin # Обновление из origin репозитория +./update backup # Обновление из backup репозитория +./update origin backup # Обновление из origin с бэкапом в backup +./update backup origin # Обновление из backup с бэкапом в origin +./update --help # Показать справку +./update --logs # Показать логи без обновления +./update --status # Показать статус сервисов ``` **Примеры использования удаленных репозиториев:** ```bash # Стандартное обновление из основного репозитория -./update.sh +./update # Обновление из резервного репозитория (если основной недоступен) -./update.sh backup +./update backup # Обновление из основного репозитория с созданием бэкапа в резервном -./update.sh origin backup +./update origin backup # Переключение на резервный сервер с бэкапом в основной -./update.sh backup origin +./update backup origin ``` -### ▶️ `./start.sh` - Быстрый запуск +### 💻 `./cli` - CLI для работы с контейнером веб-приложения +Интерфейс командной строки для выполнения команд внутри контейнера Django: +- Django команды (shell, migrate, collectstatic и др.) +- Системные команды (bash, ps, logs) +- Управление контейнером (restart, status) + +**Использование:** +```bash +./cli shell # Django shell +./cli bash # Bash в контейнере +./cli migrate # Выполнить миграции +./cli makemigrations # Создать миграции +./cli createsuperuser # Создать суперпользователя +./cli collectstatic # Собрать статические файлы +./cli manage # Произвольная Django команда +./cli exec # Произвольная системная команда +./cli logs [количество_строк] # Логи приложения +./cli status # Статус контейнеров +./cli restart # Перезапуск веб-контейнера +./cli --help # Показать справку +``` + +**Примеры использования CLI:** +```bash +# Django разработка +./cli shell # Интерактивная оболочка Django +./cli manage showmigrations # Показать статус миграций +./cli dbshell # Подключиться к базе данных + +# Системное администрирование +./cli bash # Зайти в контейнер +./cli exec cat /app/requirements.txt # Посмотреть зависимости +./cli ps # Процессы в контейнере +./cli logs 100 # Последние 100 строк логов + +# Управление +./cli status # Статус всех сервисов +./cli restart # Перезапуск веб-сервера +``` + +### ▶️ `./start` - Быстрый запуск Быстро запускает все сервисы проекта: - Запуск Docker контейнеров - Проверка статуса сервисов @@ -50,10 +109,10 @@ **Использование:** ```bash -./start.sh +./start ``` -### ⏹️ `./stop.sh` - Остановка сервисов +### ⏹️ `./stop` - Остановка сервисов Останавливает сервисы с различными опциями: - Простая остановка контейнеров - Остановка с удалением контейнеров и волюмов @@ -61,13 +120,13 @@ **Использование:** ```bash -./stop.sh # Простая остановка -./stop.sh --remove # Остановка + удаление контейнеров и волюмов -./stop.sh --clean # Полная очистка (контейнеры + образы + волюмы) -./stop.sh --help # Показать справку +./stop # Простая остановка +./stop --remove # Остановка + удаление контейнеров и волюмов +./stop --clean # Полная очистка (контейнеры + образы + волюмы) +./stop --help # Показать справку ``` -### 📋 `./logs.sh` - Просмотр логов +### 📋 `./logs` - Просмотр логов Показывает логи сервисов в реальном времени: - Все логи или конкретного сервиса - Последние N строк логов @@ -75,14 +134,31 @@ **Использование:** ```bash -./logs.sh # Все логи в реальном времени -./logs.sh web # Логи только веб-сервера -./logs.sh db # Логи базы данных -./logs.sh pgadmin # Логи PgAdmin -./logs.sh --tail 50 # Последние 50 строк -./logs.sh --help # Показать справку +./logs # Все логи в реальном времени +./logs web # Логи только веб-сервера +./logs db # Логи базы данных +./logs pgadmin # Логи PgAdmin +./logs --tail 50 # Последние 50 строк +./logs --help # Показать справку ``` +## Служебные скрипты в папке bin/ + +### 🛠️ `./bin/setup-backup.sh` - Настройка backup репозитория +Помогает настроить дополнительный удаленный репозиторий для резервного копирования. + +**Использование:** +```bash +./bin/setup-backup.sh # Интерактивная настройка +./bin/setup-backup.sh # Добавить backup репозиторий +./bin/setup-backup.sh # Добавить с именем +./bin/setup-backup.sh --remove # Удалить backup репозиторий +./bin/setup-backup.sh --list # Показать все репозитории +``` + +### 🎯 `./bin/demo.sh` - Демонстрация возможностей +Показывает примеры использования всех скриптов и текущий статус проекта. + ## Доступные сервисы После запуска будут доступны: @@ -110,29 +186,57 @@ ### Ежедневное обновление ```bash # Полное обновление с проверкой -./update.sh +./update # Если что-то пошло не так - смотрим логи -./logs.sh --tail 100 +./logs --tail 100 + +# Заходим в контейнер для диагностики +./cli bash ``` ### Разработка ```bash # Запуск для разработки -./start.sh +./start + +# Работа с Django +./cli shell # Django shell для тестирования +./cli makemigrations # Создание миграций +./cli migrate # Применение миграций # Просмотр логов во время разработки -./logs.sh web +./logs web + +# Перезапуск после изменений +./cli restart # Остановка после работы -./stop.sh +./stop +``` + +### Администрирование +```bash +# Создание суперпользователя +./cli createsuperuser + +# Сбор статических файлов +./cli collectstatic + +# Проверка состояния +./cli status +./cli logs 50 + +# Управление контейнером +./cli exec ps aux # Процессы в контейнере +./cli exec df -h # Дисковое пространство ``` ### Полная перезагрузка ```bash # Полная очистка и пересборка -./stop.sh --clean -./update.sh +./stop --clean +./update ``` ## Troubleshooting @@ -140,21 +244,36 @@ ### Проблемы с контейнерами ```bash # Проверить статус -./logs.sh --help -docker-compose ps +./cli status +./logs --help # Перезапустить проблемный сервис -docker-compose restart web +./cli restart ``` ### Проблемы с базой данных ```bash # Проверить логи БД -./logs.sh db +./logs db + +# Зайти в базу данных +./cli dbshell # Принудительная пересборка -./stop.sh --remove -./update.sh +./stop --remove +./update +``` + +### Проблемы с Django +```bash +# Django shell для диагностики +./cli shell + +# Проверка миграций +./cli manage showmigrations + +# Проверка конфигурации +./cli check ``` ### Проблемы с Git diff --git a/bin/cli.sh b/bin/cli.sh new file mode 100755 index 0000000..47a1f8e --- /dev/null +++ b/bin/cli.sh @@ -0,0 +1,207 @@ +#!/bin/bash + +# ============================================================================= +# SmartSolTech - CLI для выполнения команд в контейнере веб-приложения +# ============================================================================= + +set -e + +# Цвета для вывода +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +RED='\033[0;31m' +CYAN='\033[0;36m' +NC='\033[0m' + +log() { + echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1" +} + +success() { + echo -e "${GREEN}✅ $1${NC}" +} + +warning() { + echo -e "${YELLOW}⚠️ $1${NC}" +} + +error() { + echo -e "${RED}❌ $1${NC}" +} + +info() { + echo -e "${CYAN}ℹ️ $1${NC}" +} + +# Имя контейнера Django +CONTAINER_NAME="django_app" + +# Проверка что контейнер запущен +check_container() { + if ! docker ps --format "table {{.Names}}" | grep -q "^${CONTAINER_NAME}$"; then + error "Контейнер $CONTAINER_NAME не запущен" + warning "Запустите сервисы командой: ./bin/start.sh" + return 1 + fi +} + +# Выполнение команды в контейнере +run_in_container() { + local cmd="$*" + log "Выполнение в контейнере: $cmd" + docker exec -it $CONTAINER_NAME $cmd +} + +# Выполнение Django команды +run_django_command() { + local django_cmd="$*" + run_in_container python smartsoltech/manage.py $django_cmd +} + +# Выполнение команды без интерактивности +run_in_container_quiet() { + local cmd="$*" + docker exec $CONTAINER_NAME $cmd +} + +# Django команды без интерактивности +run_django_command_quiet() { + local django_cmd="$*" + run_in_container_quiet python smartsoltech/manage.py $django_cmd +} + +# Показать справку +show_help() { + echo "SmartSolTech CLI - Выполнение команд в контейнере веб-приложения" + echo "" + echo "Использование:" + echo " $0 <команда> [аргументы...]" + echo "" + echo "Django команды:" + echo " $0 shell # Django shell" + echo " $0 dbshell # Database shell" + echo " $0 migrate # Выполнить миграции" + echo " $0 makemigrations # Создать миграции" + echo " $0 collectstatic # Собрать статические файлы" + echo " $0 createsuperuser # Создать суперпользователя" + echo " $0 check # Проверка проекта" + echo " $0 runserver # Запуск dev сервера" + echo "" + echo "Системные команды:" + echo " $0 bash # Bash оболочка в контейнере" + echo " $0 sh # Sh оболочка в контейнере" + echo " $0 ps # Список процессов в контейнере" + echo " $0 logs [lines] # Логи приложения (по умолчанию 50 строк)" + echo "" + echo "Пользовательские команды:" + echo " $0 manage # Произвольная Django команда" + echo " $0 exec # Произвольная системная команда" + echo "" + echo "Специальные команды:" + echo " $0 status # Статус контейнеров" + echo " $0 restart # Перезапуск веб-контейнера" + echo " $0 --help # Показать эту справку" + echo "" + echo "Примеры:" + echo " $0 shell # Django shell" + echo " $0 manage showmigrations # Показать статус миграций" + echo " $0 exec cat /app/requirements.txt # Показать зависимости" + echo " $0 logs 100 # Последние 100 строк логов" + echo "" +} + +# Проверка параметров и выполнение команд +case "${1:-}" in + --help|-h|help) + show_help + exit 0 + ;; + + # Django команды + shell|dbshell|migrate|makemigrations|collectstatic|createsuperuser|check|runserver) + check_container + run_django_command "$@" + ;; + + # Системные команды + bash|sh) + check_container + run_in_container "$@" + ;; + + ps) + check_container + run_in_container_quiet ps aux + ;; + + logs) + check_container + lines="${2:-50}" + info "Показываем последние $lines строк логов..." + docker logs --tail=$lines $CONTAINER_NAME + ;; + + # Пользовательские команды + manage) + check_container + shift # убираем 'manage' из аргументов + run_django_command "$@" + ;; + + exec) + check_container + shift # убираем 'exec' из аргументов + run_in_container "$@" + ;; + + # Специальные команды + status) + echo "" + info "Статус контейнеров:" + docker-compose ps + echo "" + if docker ps --format "table {{.Names}}" | grep -q "^${CONTAINER_NAME}$"; then + success "Веб-контейнер $CONTAINER_NAME запущен" + info "Процессы в контейнере:" + docker exec $CONTAINER_NAME ps aux | head -10 + else + warning "Веб-контейнер $CONTAINER_NAME не запущен" + fi + ;; + + restart) + log "Перезапуск веб-контейнера..." + docker-compose restart web + success "Веб-контейнер перезапущен" + ;; + + "") + error "Не указана команда" + echo "" + echo "Используйте '$0 --help' для справки" + echo "" + echo "Быстрые команды:" + echo " $0 shell # Django shell" + echo " $0 bash # Bash в контейнере" + echo " $0 status # Статус сервисов" + exit 1 + ;; + + *) + # Пробуем выполнить как Django команду + check_container + log "Попытка выполнить как Django команду: $*" + if run_django_command_quiet help "$1" >/dev/null 2>&1; then + run_django_command "$@" + else + error "Неизвестная команда: $1" + echo "" + echo "Попробуйте:" + echo " $0 --help # Полная справка" + echo " $0 manage help # Список Django команд" + echo " $0 exec $* # Выполнить как системную команду" + exit 1 + fi + ;; +esac \ No newline at end of file diff --git a/bin/demo.sh b/bin/demo.sh new file mode 100755 index 0000000..61c1e9a --- /dev/null +++ b/bin/demo.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# ============================================================================= +# SmartSolTech - Пример использования скриптов обновления +# ============================================================================= + +echo "🚀 Демонстрация скриптов управления SmartSolTech" +echo "==============================================" +echo "" + +echo "📋 Доступные удаленные репозитории:" +git remote -v +echo "" + +echo "📊 Текущий статус проекта:" +./update.sh --status +echo "" + +echo "💡 Примеры команд обновления:" +echo "" +echo " # Стандартное обновление из основного репозитория" +echo " ./update.sh" +echo "" +echo " # Обновление из резервного репозитория" +echo " ./update.sh backup" +echo "" +echo " # Обновление из основного с созданием бэкапа в резервном" +echo " ./update.sh origin backup" +echo "" +echo " # Обновление из резервного с бэкапом в основной" +echo " ./update.sh backup origin" +echo "" + +echo "🛠️ Другие полезные команды:" +echo "" +echo " ./start.sh # Быстрый запуск сервисов" +echo " ./stop.sh # Остановка сервисов" +echo " ./stop.sh --clean # Полная очистка" +echo " ./logs.sh # Просмотр логов" +echo " ./logs.sh web # Логи веб-сервера" +echo "" + +echo "📚 Полная документация: cat SCRIPTS_README.md" +echo "" +echo "✅ Готово!" \ No newline at end of file diff --git a/logs.sh b/bin/logs.sh similarity index 100% rename from logs.sh rename to bin/logs.sh diff --git a/bin/setup-backup.sh b/bin/setup-backup.sh new file mode 100755 index 0000000..6131fb2 --- /dev/null +++ b/bin/setup-backup.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +# ============================================================================= +# SmartSolTech - Настройка резервного репозитория +# ============================================================================= + +set -e + +# Цвета для вывода +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +RED='\033[0;31m' +NC='\033[0m' + +log() { + echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1" +} + +success() { + echo -e "${GREEN}✅ $1${NC}" +} + +warning() { + echo -e "${YELLOW}⚠️ $1${NC}" +} + +error() { + echo -e "${RED}❌ $1${NC}" +} + +echo "" +echo "🔧 SmartSolTech - Настройка backup репозитория" +echo "==============================================" +echo "" + +# Проверка что мы в Git репозитории +if [ ! -d ".git" ]; then + error "Не найден Git репозиторий. Запустите скрипт из корня проекта." + exit 1 +fi + +# Показать текущие репозитории +log "Текущие удаленные репозитории:" +git remote -v +echo "" + +# Функция добавления нового backup репозитория +add_backup_repo() { + local repo_url="$1" + local repo_name="${2:-backup}" + + log "Добавление backup репозитория..." + + # Проверяем не существует ли уже такой remote + if git remote | grep -q "^${repo_name}$"; then + warning "Репозиторий $repo_name уже существует" + git remote -v | grep "^${repo_name}" + read -p "Заменить? (y/N): " replace_choice + if [[ $replace_choice =~ ^[Yy]$ ]]; then + git remote remove $repo_name + else + return 0 + fi + fi + + # Добавляем новый remote + if git remote add $repo_name "$repo_url"; then + success "Backup репозиторий $repo_name добавлен" + + # Проверяем подключение + log "Проверка подключения..." + if git ls-remote $repo_name > /dev/null 2>&1; then + success "Подключение к $repo_name работает" + + # Предлагаем сделать первый push + read -p "Отправить текущее состояние в backup? (y/N): " push_choice + if [[ $push_choice =~ ^[Yy]$ ]]; then + git push $repo_name master + success "Backup создан в $repo_name" + fi + else + error "Не удалось подключиться к $repo_name" + git remote remove $repo_name + return 1 + fi + else + error "Не удалось добавить backup репозиторий" + return 1 + fi +} + +# Обработка параметров +case "${1:-}" in + --help|-h) + echo "Использование:" + echo " $0 # Интерактивная настройка" + echo " $0 # Добавить backup репозиторий" + echo " $0 # Добавить с именем" + echo " $0 --remove # Удалить backup репозиторий" + echo " $0 --list # Показать все репозитории" + echo "" + echo "Примеры:" + echo " $0 git@github.com:user/backup.git" + echo " $0 git@server.com:backup.git mybkp" + echo " $0 --remove backup" + echo "" + exit 0 + ;; + --list) + log "Все удаленные репозитории:" + git remote -v + exit 0 + ;; + --remove) + if [ -z "$2" ]; then + error "Укажите имя репозитория для удаления" + exit 1 + fi + log "Удаление репозитория $2..." + if git remote remove "$2"; then + success "Репозиторий $2 удален" + else + error "Не удалось удалить репозиторий $2" + fi + exit 0 + ;; + "") + # Интерактивный режим + echo "💡 Примеры URL репозиториев:" + echo " git@github.com:username/repo-backup.git" + echo " ssh://git@server.com:2222/user/backup.git" + echo " https://github.com/username/repo-backup.git" + echo "" + + read -p "Введите URL backup репозитория: " repo_url + if [ -z "$repo_url" ]; then + warning "URL не указан, выход" + exit 0 + fi + + read -p "Введите имя (backup): " repo_name + repo_name="${repo_name:-backup}" + + add_backup_repo "$repo_url" "$repo_name" + ;; + *) + # URL передан как параметр + add_backup_repo "$1" "$2" + ;; +esac + +echo "" +log "Обновленный список репозиториев:" +git remote -v +echo "" +success "Готово!" \ No newline at end of file diff --git a/start.sh b/bin/start.sh similarity index 100% rename from start.sh rename to bin/start.sh diff --git a/stop.sh b/bin/stop.sh similarity index 100% rename from stop.sh rename to bin/stop.sh diff --git a/update.sh b/bin/update.sh similarity index 87% rename from update.sh rename to bin/update.sh index c709d86..fd93d38 100755 --- a/update.sh +++ b/bin/update.sh @@ -64,7 +64,29 @@ cleanup_staticfiles() { fi } -# Функция обновления кода +# Функция сохранения локальных изменений +save_local_changes() { + log "Проверка локальных изменений..." + + # Проверяем есть ли изменения в рабочей директории или индексе + if [ -n "$(git status --porcelain)" ]; then + warning "Обнаружены локальные изменения, сохраняем в коммит..." + + # Добавляем все изменения + git add . + + # Создаем коммит с временной меткой + local commit_msg="Auto commit before update $(date '+%Y-%m-%d %H:%M:%S')" + if git commit -m "$commit_msg"; then + success "Локальные изменения сохранены в коммит" + log "Коммит: $commit_msg" + else + warning "Не удалось создать коммит (возможно нет изменений для коммита)" + fi + else + log "Локальных изменений не обнаружено" + fi +} update_code() { local remote_name="${1:-origin}" log "Обновление кода из репозитория $remote_name..." @@ -83,13 +105,6 @@ update_code() { git config pull.rebase false fi - # Сохраняем неотслеживаемые изменения - if [ -n "$(git status --porcelain)" ]; then - warning "Обнаружены локальные изменения, сохраняем..." - git add . - git commit -m "Auto commit before update $(date '+%Y-%m-%d %H:%M:%S')" || true - fi - # Получаем обновления log "Получение обновлений из $remote_name..." git fetch $remote_name @@ -219,23 +234,25 @@ show_logs() { # Функция бэкапа в удаленный репозиторий backup_to_remote() { local backup_remote="${1:-backup}" + + # Пропускаем если это тот же репозиторий что используется для обновления + local update_remote="${2:-origin}" + if [ "$backup_remote" = "$update_remote" ]; then + log "Пропускаем бэкап - используется тот же репозиторий для обновления" + return 0 + fi + log "Создание бэкапа в удаленном репозитории $backup_remote..." if git remote | grep -q "^${backup_remote}$"; then - # Проверяем есть ли изменения для коммита - if ! git diff --quiet || ! git diff --cached --quiet; then - git add . - git commit -m "Auto backup before update $(date '+%Y-%m-%d %H:%M:%S')" - fi - - # Пушим в backup + # Пушим текущее состояние в backup (изменения уже сохранены в коммит) if git push $backup_remote master; then success "Бэкап создан в удаленном репозитории $backup_remote" else warning "Не удалось создать бэкап в $backup_remote" fi else - warning "$backup_remote репозиторий не настроен, пропускаем" + warning "$backup_remote репозиторий не настроен, пропускаем бэкап" fi } @@ -264,7 +281,8 @@ main() { # Выполняем все этапы check_dependencies - backup_to_remote "$backup_remote" + save_local_changes + backup_to_remote "$backup_remote" "$remote_source" cleanup_staticfiles update_code "$remote_source" stop_containers diff --git a/update_bot_token.sh b/bin/update_bot_token.sh similarity index 100% rename from update_bot_token.sh rename to bin/update_bot_token.sh diff --git a/cli b/cli new file mode 100755 index 0000000..aa6ffd4 --- /dev/null +++ b/cli @@ -0,0 +1,3 @@ +#!/bin/bash +# SmartSolTech CLI wrapper +exec ./bin/cli.sh "$@" \ No newline at end of file diff --git a/logs b/logs new file mode 100755 index 0000000..490b3e8 --- /dev/null +++ b/logs @@ -0,0 +1,3 @@ +#!/bin/bash +# SmartSolTech logs wrapper +exec ./bin/logs.sh "$@" \ No newline at end of file diff --git a/update_telegram_token.py b/patch/update_telegram_token.py similarity index 100% rename from update_telegram_token.py rename to patch/update_telegram_token.py diff --git a/response_delete.json b/response_delete.json deleted file mode 100644 index 672bf46..0000000 --- a/response_delete.json +++ /dev/null @@ -1 +0,0 @@ -{"detail":"User 4 deleted"} \ No newline at end of file diff --git a/response_login.json b/response_login.json deleted file mode 100644 index d578b9c..0000000 --- a/response_login.json +++ /dev/null @@ -1 +0,0 @@ -{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0Iiwicm9sZSI6InVzZXIiLCJleHAiOjE3NTI0OTc2NDV9.S_tquLFIPnyG6XlfwIw97hJv0l9oKpTcYw_XG0mDd6w","token_type":"bearer"} \ No newline at end of file diff --git a/response_me.json b/response_me.json deleted file mode 100644 index 289436b..0000000 --- a/response_me.json +++ /dev/null @@ -1 +0,0 @@ -{"id":4,"email":"testuser@example.com","role":"user"} \ No newline at end of file diff --git a/response_register.json b/response_register.json deleted file mode 100644 index 289436b..0000000 --- a/response_register.json +++ /dev/null @@ -1 +0,0 @@ -{"id":4,"email":"testuser@example.com","role":"user"} \ No newline at end of file diff --git a/response_update.json b/response_update.json deleted file mode 100644 index a54cdf8..0000000 --- a/response_update.json +++ /dev/null @@ -1 +0,0 @@ -{"id":4,"email":"updated_testuser@example.com","role":"admin"} \ No newline at end of file diff --git a/response_user.json b/response_user.json deleted file mode 100644 index 289436b..0000000 --- a/response_user.json +++ /dev/null @@ -1 +0,0 @@ -{"id":4,"email":"testuser@example.com","role":"user"} \ No newline at end of file diff --git a/response_users.json b/response_users.json deleted file mode 100644 index 8c60e3c..0000000 --- a/response_users.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"email":"user1@example.com","role":"user"},{"id":4,"email":"testuser@example.com","role":"user"}] \ No newline at end of file diff --git a/start b/start new file mode 100755 index 0000000..319b01f --- /dev/null +++ b/start @@ -0,0 +1,3 @@ +#!/bin/bash +# SmartSolTech start wrapper +exec ./bin/start.sh "$@" \ No newline at end of file diff --git a/stop b/stop new file mode 100755 index 0000000..806b78b --- /dev/null +++ b/stop @@ -0,0 +1,3 @@ +#!/bin/bash +# SmartSolTech stop wrapper +exec ./bin/stop.sh "$@" \ No newline at end of file diff --git a/update b/update new file mode 100755 index 0000000..88bbda0 --- /dev/null +++ b/update @@ -0,0 +1,3 @@ +#!/bin/bash +# SmartSolTech update wrapper +exec ./bin/update.sh "$@" \ No newline at end of file