astro_avtourist/scripts/create-post.ts

168 lines
No EOL
9.7 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import PocketBase from 'pocketbase';
const PB_URL = process.env.POCKETBASE_URL || 'http://127.0.0.1:8090';
const ADMIN_EMAIL = process.env.PB_ADMIN_EMAIL;
const ADMIN_PASSWORD = process.env.PB_ADMIN_PASSWORD;
const NEW_POST = {
title: 'Протокол и постановление ГИБДД: отличия и что важно знать',
description: 'Разбираемся в двух ключевых документах при нарушении ПДД. Что такое протокол, что такое постановление и как понимание разницы помогает защитить свои права.',
author: 'Автоюрист',
category: 'Штрафы ГИБДД',
categoryColor: 'bg-green',
date: '2024-04-15',
readTime: '7 мин',
readmeTime: '7',
image: '',
slug: 'protocol-vs-resolution',
draft: false,
content: `<h2>Введение</h2>
<p style="text-align: justify;">Многие водители путают два документа, которые сотрудники ГИБДД составляют при нарушении правил дорожного движения — протокол и постановление. Между тем, это принципиально разные документы с разными юридическими последствиями. Понимание разницы поможет вам правильно оценить ситуацию и при необходимости защитить свои права.</p>
<h2>Что такое протокол</h2>
<p style="text-align: justify;">Протокол — это документ, фиксирующий факт совершения административного правонарушения. Его составляет инспектор ГИБДД на месте остановки вашего транспортного средства.</p>
<p style="text-align: justify;"><strong>Протокол содержит:</strong></p>
<blockquote>
<ul>
<li>✅ Дату, время и место составления</li>
<li>✅ Данные инспектора (должность, звание, ФИО)</li>
<li>✅ Сведения о нарушителе (ваши данные)</li>
<li>✅ Описание нарушения со ссылкой на статью КоАП</li>
<li>✅ Объяснения нарушителя и свидетелей</li>
</ul>
</blockquote>
<blockquote>
<p><strong>Важно:</strong> Протокол — это не решение о наказании, а лишь документ, фиксирующий нарушение. После составления протокола материалы передаются для рассмотрения.</p>
</blockquote>
<h3>Когда составляется протокол</h3>
<p style="text-align: justify;">Протокол составляется при любом нарушении ПДД, независимо от того, какое наказание предусмотрено — предупреждение, штраф или лишение прав. Это обязательный первичный документ.</p>
<h2>Что такое постановление</h2>
<p style="text-align: justify;">Постановление — это итоговый документ, который выносится по результатам рассмотрения дела об административном правонарушении. Именно постановление устанавливает вину и назначает наказание.</p>
<p style="text-align: justify;"><strong>Постановление содержит:</strong></p>
<blockquote>
<ul>
<li>✅ Результаты рассмотрения дела</li>
<li>✅ Признание виновным или невиновным</li>
<li>✅ Назначенное наказание (размер штрафа, срок лишения прав)</li>
<li>✅ Порядок обжалования</li>
</ul>
</blockquote>
<h3>Когда выносится постановление</h3>
<p style="text-align: justify;">Постановление выносится после того, как материалы дела изучаются должностным лицом (инспектором, начальником подразделения) или судом. Если вы согласны с нарушением, постановление может быть вынесено сразу на месте.</p>
<h2>Ключевые отличия</h2>
<div class="comparison-grid">
<div class="grid-row grid-header">
<div class="grid-cell">Критерий</div>
<div class="grid-cell">Протокол</div>
<div class="grid-cell">Постановление</div>
</div>
<div class="grid-row">
<div class="grid-cell cell-label"><strong>Назначение</strong></div>
<div class="grid-cell">Фиксация нарушения</div>
<div class="grid-cell">Решение о вине и наказании</div>
</div>
<div class="grid-row">
<div class="grid-cell cell-label"><strong>Кто составляет</strong></div>
<div class="grid-cell">Инспектор на месте</div>
<div class="grid-cell">Уполномоченное лицо после рассмотрения</div>
</div>
<div class="grid-row">
<div class="grid-cell cell-label"><strong>Оспаривание</strong></div>
<div class="grid-cell">Можно указать несогласие</div>
<div class="grid-cell">Обжалование в течение 10 дней</div>
</div>
<div class="grid-row">
<div class="grid-cell cell-label"><strong>Юридическая сила</strong></div>
<div class="grid-cell">Документ-основание</div>
<div class="grid-cell">Исполнительный документ</div>
</div>
<div class="grid-row">
<div class="grid-cell cell-label"><strong>Последствия</strong></div>
<div class="grid-cell">Передача дела на рассмотрение</div>
<div class="grid-cell">Штраф, лишение прав, предупреждение</div>
</div>
</div>
<h2>На что обратить внимание водителю</h2>
<h3>При подписании протокола</h3>
<blockquote>
<ol>
<li><strong>Внимательно читайте</strong> весь текст перед подписью</li>
<li><strong>Укажите «не согласен»</strong> в графе объяснений, если считаете себя невиновным</li>
<li><strong>Запишите данные свидетелей</strong>, если они есть</li>
<li><strong>Проследите</strong>, чтобы инспектор зафиксировал все обстоятельства</li>
</ol>
</blockquote>
<h3>После получения постановления</h3>
<blockquote>
<ol>
<li><strong>Проверьте сроки</strong> — на обжалование даётся 10 дней</li>
<li><strong>Сохраните копию</strong> постановления</li>
<li><strong>Оплатите штраф</strong> в течение 60 дней (или 20 дней со скидкой 50%)</li>
<li><strong>Не игнорируйте</strong> — неоплаченные штрафы приводят к проблемам</li>
</ol>
</blockquote>
<h2>Заключение</h2>
<p style="text-align: justify;">Протокол и постановление — это разные этапы одного процесса привлечения к ответственности. Протокол фиксирует нарушение, постановление налагает наказание. Зная эту разницу, вы сможете:</p>
<blockquote>
<ul>
<li>✅ Правильно реагировать на действия инспектора</li>
<li>✅ Грамотно защитить свои интересы при обжаловании</li>
<li>✅ Не пропустить сроки для оспаривания</li>
</ul>
</blockquote>
<p style="text-align: justify;">Если вы получили протокол или постановление и считаете, что нарушения не было — обращайтесь за консультацией к автоюристу. Правильно составленная жалоба может отменить незаконное решение.</p>`,
};
const UPDATE_EXISTING = true;
const EXISTING_POST_ID = 'ippq714mm4dec7k';
async function createPost() {
if (!ADMIN_EMAIL || !ADMIN_PASSWORD) {
console.error('❌ Укажите PB_ADMIN_EMAIL и PB_ADMIN_PASSWORD в .env');
process.exit(1);
}
const pb = new PocketBase(PB_URL);
try {
await pb.admins.authWithPassword(ADMIN_EMAIL, ADMIN_PASSWORD);
console.log('✅ Подключено к PocketBase');
} catch (e) {
console.error('❌ Ошибка авторизации admin');
process.exit(1);
}
try {
let post;
if (UPDATE_EXISTING && EXISTING_POST_ID) {
post = await pb.collection('posts').update(EXISTING_POST_ID, NEW_POST);
console.log('✅ Пост обновлён');
} else {
post = await pb.collection('posts').create(NEW_POST);
console.log('✅ Пост создан');
}
console.log(' ID:', post.id);
console.log(' title:', post.title);
console.log(' slug:', post.slug);
} catch (e: any) {
if (e.data?.message?.includes('already exists')) {
console.log(' Пост уже существует');
} else {
console.error('❌ Ошибка:', e.data || e.message);
}
}
}
createPost();