78b57273e2
- Add password hashing with bcrypt - Add AuthService with proper login - Add password strength validation - Add RBAC middleware (AdminOnly, ManagerOrAdmin) - Add tenant isolation middleware - Update CRM handler with tenant filtering - Add JWT fallback for development mode - Add user context helpers - Build successful
226 lines
7.2 KiB
SQL
226 lines
7.2 KiB
SQL
-- Seed contract templates for ISO 9001 and common business contracts
|
|
|
|
INSERT INTO boc_contract_templates (id, name, type, category, content, placeholders, created_at, updated_at) VALUES
|
|
('tmpl-iso-9001-1', 'ISO 9001:2015 Kvalitetsledningssystem', 'iso', 'quality',
|
|
E'KVALITETSPOLICY
|
|
|
|
{{company_name}} ska leverera produkter och tjänster som uppfyller kundernas krav och förväntningar samt tillämpliga lagkrav och andra krav.
|
|
|
|
KVALITETSLEDNINGSSYSTEM
|
|
|
|
{{company_name}} har upprättat, dokumenterat, implementerat och underhåller ett kvalitetsledningssystem i enlighet med kraven i ISO 9001:2015.
|
|
|
|
ANSVAR OCH MYNDIGHET
|
|
|
|
Kvalitetsansvarig: {{quality_manager}}
|
|
Datum: {{date}}
|
|
Giltig till: {{expiry_date}}
|
|
|
|
{{company_name}}
|
|
Org.nr: {{org_number}}
|
|
Adress: {{address}}
|
|
|
|
Underskrift: ___________________',
|
|
'["company_name", "quality_manager", "date", "expiry_date", "org_number", "address"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-iso-9001-2', 'ISO 9001:2015 Internrevision', 'iso', 'quality',
|
|
E'INTERNREVISIONSPROGRAM
|
|
|
|
Företag: {{company_name}}
|
|
Revisionsansvarig: {{auditor}}
|
|
Datum: {{date}}
|
|
|
|
1. SYFTE
|
|
Verifiera att kvalitetsledningssystemet:
|
|
- Upfyller planerade arrangemang
|
|
- Upfyller kraven i ISO 9001:2015
|
|
- Är effektivt implementerat och underhållet
|
|
|
|
2. OMFATTNING
|
|
{{scope}}
|
|
|
|
3. REFERENSER
|
|
- ISO 9001:2015
|
|
- Kvalitetshandbok
|
|
- Tillämpliga procedurer
|
|
|
|
4. REVISIONSRESULTAT
|
|
{{findings}}
|
|
|
|
5. ÅTGÄRDER
|
|
{{actions}}
|
|
|
|
Godkänd av: {{approver}}
|
|
Datum: {{approval_date}}',
|
|
'["company_name", "auditor", "date", "scope", "findings", "actions", "approver", "approval_date"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-iso-9001-3', 'ISO 9001:2015 Korrigerande åtgärd', 'iso', 'quality',
|
|
E'KORRIGERANDE ÅTGÄRDSRAPPORT (CAR)
|
|
|
|
CAR-nummer: {{car_number}}
|
|
Datum: {{date}}
|
|
Rapporterad av: {{reporter}}
|
|
|
|
1. BESKRIVNING AV AVVIKELSE
|
|
{{deviation_description}}
|
|
|
|
2. ROTORSAKSANALYS
|
|
{{root_cause}}
|
|
|
|
3. KORRIGERANDE ÅTGÄRD
|
|
{{corrective_action}}
|
|
|
|
4. FÖREBYGGANDE ÅTGÄRD
|
|
{{preventive_action}}
|
|
|
|
5. VERIFIERING
|
|
Verifierad av: {{verifier}}
|
|
Datum: {{verification_date}}
|
|
Resultat: {{verification_result}}',
|
|
'["car_number", "date", "reporter", "deviation_description", "root_cause", "corrective_action", "preventive_action", "verifier", "verification_date", "verification_result"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-employment-1', 'Anställningsavtal', 'employment', 'hr',
|
|
E'ANSTÄLLNINGSAVTAL
|
|
|
|
1. PARTER
|
|
Arbetsgivare: {{employer_name}} (org.nr {{employer_org}})
|
|
Arbetstagare: {{employee_name}} (personnr {{employee_ssn}})
|
|
|
|
2. ANSTÄLLNING
|
|
Befattning: {{position}}
|
|
Avdelning: {{department}}
|
|
Anställningsform: {{employment_type}}
|
|
Startdatum: {{start_date}}
|
|
|
|
3. LÖN OCH FÖRMÅNER
|
|
Månadslön: {{salary}} {{currency}}
|
|
Semester: {{vacation_days}} dagar/år
|
|
Arbetstid: {{working_hours}}
|
|
|
|
4. UPPSÄGNING
|
|
Uppsägningstid: {{notice_period}}
|
|
|
|
5. ÖVRIGT
|
|
{{additional_terms}}
|
|
|
|
Ort och datum: {{place_date}}
|
|
|
|
Arbetsgivarens underskrift: ___________________
|
|
Arbetstagarens underskrift: ___________________',
|
|
'["employer_name", "employer_org", "employee_name", "employee_ssn", "position", "department", "employment_type", "start_date", "salary", "currency", "vacation_days", "working_hours", "notice_period", "additional_terms", "place_date"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-nda-1', 'Sekretessavtal (NDA)', 'legal', 'confidentiality',
|
|
E'SEKRETESSAVTAL
|
|
|
|
1. PARTER
|
|
Uppdragsgivare: {{party_a}}
|
|
Mottagare: {{party_b}}
|
|
Datum: {{date}}
|
|
|
|
2. SYFTE
|
|
Part B ska få tillgång till konfidentiell information från Part A i syfte att {{purpose}}.
|
|
|
|
3. DEFINITION AV KONFIDENTIELL INFORMATION
|
|
Konfidentiell information inkluderar men är inte begränsat till:
|
|
- Affärsplaner och strategier
|
|
- Teknisk dokumentation
|
|
- Kundlistor och prisinformation
|
|
- Programkod och algoritmer
|
|
|
|
4. SKYLDIGHETER
|
|
Mottagaren förbinder sig att:
|
|
- Inte avslöja konfidentiell information för tredje part
|
|
- Inte använda informationen för andra syften än avtalat
|
|
- Vidta rimliga säkerhetsåtgärder
|
|
|
|
5. GILTIGHETSTID
|
|
{{validity_years}} år från avtalets undertecknande.
|
|
|
|
6. PÅFÖLJD
|
|
Vid brott mot detta avtal utgår vite om {{penalty}} {{currency}}.
|
|
|
|
Underskrifter:
|
|
{{party_a}}: ___________________ {{party_b}}: ___________________',
|
|
'["party_a", "party_b", "date", "purpose", "validity_years", "penalty", "currency"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-service-1', 'Tjänsteavtal (SLA)', 'service', 'operations',
|
|
E'TJÄNSTEAVTAL
|
|
|
|
1. PARTER
|
|
Leverantör: {{provider}}
|
|
Kund: {{customer}}
|
|
Avtalsnummer: {{contract_number}}
|
|
|
|
2. TJÄNSTER
|
|
{{services_description}}
|
|
|
|
3. SERVICENIVÅER (SLA)
|
|
- Tillgänglighet: {{availability}}%
|
|
- Responstid: {{response_time}} timmar
|
|
- Återställningstid: {{recovery_time}} timmar
|
|
|
|
4. PRISER OCH BETALNING
|
|
Månadsavgift: {{monthly_fee}} {{currency}}
|
|
Betalningsvillkor: {{payment_terms}} dagar
|
|
|
|
5. AVTALSTID
|
|
Start: {{start_date}}
|
|
Slut: {{end_date}}
|
|
Uppsägningstid: {{notice_period}} månader
|
|
|
|
6. KONTAKTPERSONER
|
|
Leverantör: {{provider_contact}}
|
|
Kund: {{customer_contact}}
|
|
|
|
Underskrifter:
|
|
{{provider}}: ___________________ {{customer}}: ___________________',
|
|
'["provider", "customer", "contract_number", "services_description", "availability", "response_time", "recovery_time", "monthly_fee", "currency", "payment_terms", "start_date", "end_date", "notice_period", "provider_contact", "customer_contact"]',
|
|
NOW(), NOW()),
|
|
|
|
('tmpl-gdpr-1', 'GDPR Personuppgiftsbiträdesavtal', 'gdpr', 'privacy',
|
|
E'PERSONUPPGIFTSBITRÄDESAVTAL
|
|
|
|
1. PARTER
|
|
Personuppgiftsansvarig: {{data_controller}}
|
|
Personuppgiftsbiträde: {{data_processor}}
|
|
Datum: {{date}}
|
|
|
|
2. BEHANDLING
|
|
Personuppgiftsbiträdet ska behandla personuppgifter för följande ändamål:
|
|
{{processing_purpose}}
|
|
|
|
3. KATEGORIER AV REGISTERFÖRDA
|
|
{{data_subjects}}
|
|
|
|
4. TYP AV PERSONUPPGIFTER
|
|
{{data_types}}
|
|
|
|
5. SÄKERHETSÅTGÄRDER
|
|
Biträdet ska implementera följande tekniska och organisatoriska åtgärder:
|
|
{{security_measures}}
|
|
|
|
6. UNDERLEVERANTÖRER
|
|
Godkända underleverantörer: {{subprocessors}}
|
|
|
|
7. AVTALSTID OCH UPPSÄGNING
|
|
Giltig från: {{start_date}}
|
|
Uppsägningstid: {{notice_period}} månader
|
|
|
|
Underskrifter:
|
|
{{data_controller}}: ___________________ {{data_processor}}: ___________________',
|
|
'["data_controller", "data_processor", "date", "processing_purpose", "data_subjects", "data_types", "security_measures", "subprocessors", "start_date", "notice_period"]',
|
|
NOW(), NOW());
|
|
|
|
-- Seed sample contracts
|
|
INSERT INTO boc_contracts (id, template_type, name, counterparty, counterparty_org, status, value, currency, start_date, end_date, responsible, created_at, updated_at) VALUES
|
|
('ctr-001', 'tmpl-employment-1', 'Anställningsavtal - Erik Svensson', 'Erik Svensson', 'LandveX AB', 'active', 0, 'SEK', '2024-01-01', NULL, 'Erik Svensson', NOW(), NOW()),
|
|
('ctr-002', 'tmpl-employment-1', 'Anställningsavtal - Johan Berglund', 'Johan Berglund', 'LandveX AB', 'active', 0, 'SEK', '2024-01-01', NULL, 'Erik Svensson', NOW(), NOW()),
|
|
('ctr-003', 'tmpl-iso-9001-1', 'ISO 9001:2015 Kvalitetscertifiering', 'LandveX AB', 'LandveX AB', 'active', 150000, 'SEK', '2024-01-01', '2027-01-01', 'Erik Svensson', NOW(), NOW()),
|
|
('ctr-004', 'tmpl-service-1', 'AWS Hosting SLA', 'Amazon Web Services', 'AWS', 'active', 50000, 'USD', '2024-01-01', '2025-01-01', 'Johan Berglund', NOW(), NOW()),
|
|
('ctr-005', 'tmpl-nda-1', 'Sekretessavtal - Atlas Capture', 'Jun Wakabayashi', 'Atlas Capture', 'active', 0, 'SEK', '2024-07-03', '2026-07-03', 'Erik Svensson', NOW(), NOW());
|