@bernierllc/content-service
v1.0.7
Published
Service layer for content management with storage, validation, and search capabilities
Readme
@bernierllc/content-service
Service layer for content management with storage, validation, and search capabilities
🎯 Package Purpose
Service layer that manages content CRUD operations, validation, versioning, and search capabilities. Orchestrates content storage with validation rules and provides comprehensive content management functionality.
📦 Dependencies
BernierLLC Dependencies
- @bernierllc/content-storage - Content persistence
- @bernierllc/content-validator - Content validation
- @bernierllc/content-transformer - Content transformation
- @bernierllc/neverhub-adapter - Event publishing
- @bernierllc/logger - Logging
- @bernierllc/file-handler - Media file handling
🏗️ Core Features
- Content CRUD Operations - Create, read, update, delete content
- Content Validation - Integrated validation with core validator
- Version Management - Track content versions and changes
- Search & Query - Flexible content querying capabilities
- Event Integration - NeverHub event publishing for real-time updates
- Factory Pattern - Pre-configured services for different use cases
- Utility Functions - Content processing helpers
🚀 Quick Start
import { ContentServiceFactory, ContentType } from '@bernierllc/content-service';
// Create service for blog content
const contentService = ContentServiceFactory.createForBlog();
// Create content
const content = await contentService.createContent({
draft: {
title: 'My First Post',
body: 'This is my first blog post content.',
type: ContentType.BLOG_POST,
authorId: 'user123',
tags: ['first-post', 'blog']
}
});
// Query content
const results = await contentService.queryContent({
authorId: 'user123',
type: ContentType.BLOG_POST,
pagination: { page: 1, limit: 10 }
});🏭 Factory Patterns
// Default configuration
const service = ContentServiceFactory.create();
// Blog-optimized service
const blogService = ContentServiceFactory.createForBlog();
// Documentation-optimized service
const docsService = ContentServiceFactory.createForDocumentation();
// Social media-optimized service
const socialService = ContentServiceFactory.createForSocial();🛠️ Utilities
import { ContentUtils } from '@bernierllc/content-service';
// Generate URL-friendly slugs
const slug = ContentUtils.generateSlug('My Article Title');
// Result: 'my-article-title'
// Extract excerpts from content
const excerpt = ContentUtils.extractExcerpt(longContent, 160);
// Calculate reading time
const readingTime = ContentUtils.calculateReadingTime(content);
// Sanitize tags and categories
const cleanTags = ContentUtils.sanitizeTags([' Tag1 ', 'TAG2', 'tag1']);
// Result: ['tag1', 'tag2']📋 Current Status
🚧 Work in Progress - This package is currently under development.
Completed:
- ✅ Core service architecture
- ✅ Content CRUD operations
- ✅ Factory pattern implementation
- ✅ Utility functions
- ✅ TypeScript type definitions
- ✅ Event integration design
Pending:
- 🔄 Dependency integration with core packages
- 🔄 Comprehensive test coverage
- 🔄 Production-ready build process
- 🔄 Performance optimization
🔗 Architecture
This service orchestrates multiple core packages:
content-service
├── content-storage (data persistence)
├── content-validator (validation rules)
├── content-transformer (content processing)
├── neverhub-adapter (event publishing)
├── logger (structured logging)
└── file-handler (media management)📝 API Overview
Content Management
createContent(request)- Create new contentupdateContent(id, updates)- Update existing contentdeleteContent(id, authorId)- Delete content (soft/hard)getContent(id)- Retrieve content by IDqueryContent(query)- Search and filter content
Content Validation
validateContent(id, rules?)- Validate published contentvalidateDraft(draft)- Validate draft content
Version Management
createVersion(id, changes)- Create content versiongetVersions(id)- Get content version historyrestoreVersion(id, version)- Restore previous versioncompareVersions(id, v1, v2)- Compare content versions
🎯 Use Cases
- Blog Management - Complete blog content lifecycle
- Documentation Systems - Technical documentation management
- Social Media - Short-form content with validation rules
- CMS Integration - Content management system backend
- Multi-tenant Publishing - Content isolation and management
🔧 Configuration
const config = {
storage: {
provider: 'database',
config: { connectionString: '...' }
},
validation: {
enabled: true,
strict: true,
customRules: ['seo-required', 'word-count']
},
versioning: {
enabled: true,
maxVersions: 10,
compression: true
},
events: {
enabled: true,
async: true
}
};
const service = ContentServiceFactory.create(config);📄 License
Copyright (c) 2025 Bernier LLC. All rights reserved.
This package is part of the BernierLLC tools ecosystem and provides content management capabilities for enterprise applications.
