Commit Graph
9 Commits
Author SHA1 Message Date
nutcas3 a78599fa1f feat: Implement eSIM provisioning and AMF integration in subscriber service
- Add AMFClient and ES2Service dependencies to SubscriberService
- Initialize AMF client with default URL and ES2 service in NewSubscriberService
- Implement provisionESIMProfile with EID validation, profile provisioning, activation, and AMF notification
- Implement deactivateESIMProfile with profile deactivation, status updates, and session termination
- Add generateOPc helper for deriving OPc from OP and K using XOR-based
2026-04-14 16:00:46 +03:00
nutcas3 92ed80fec6 style: Format subscriber models with consistent spacing and add inactive status
- Reformat struct field alignment for improved readability
- Add SubscriberStatusInactive to SubscriberStatus enum
- Add blank lines after type declarations for consistency
- Adjust whitespace and alignment across all model structs
2026-04-14 16:00:33 +03:00
nutcas3 6e11d40f5e feat: Add AMF client for session termination and subscriber status notifications
- Add AMFClient struct with base URL and HTTP client
- Add NewAMFClient with 30s timeout
- Add TerminateSession for subscriber session termination with reason and timestamp
- Add NotifySubscriberUpdate for subscriber status change notifications
- Add SessionTerminationRequest and SessionTerminationResponse models
- Add generateRequestID helper for request tracking
2026-04-14 16:00:24 +03:00
nutcas3 2e1300282d feat: Add ES2Service for GSMA ES2+ eSIM profile management operations
- Add ES2Service struct with HTTP client and ES2Config
- Add NewES2Service with 30s timeout and TLS configuration
- Add ProvisionProfile for eSIM profile provisioning with metadata support
- Add ActivateProfile, DeactivateProfile, and DeleteProfile for profile lifecycle management
- Add GetProfileStatus for profile state queries
- Add ListProfiles for eUICC profile enumeration
- Add ValidateEID and ValidateICCID for identifier
2026-04-14 16:00:15 +03:00
nutcas3 24baebbf37 feat: Add subscriber service with IMSI allocation, authentication, and lifecycle management
- Add SubscriberService struct with Database and Config dependencies
- Add NewSubscriberService constructor
- Add CreateSubscriber with IMSI allocation, auth key generation, and eSIM provisioning support
- Add GetSubscriber and GetSubscriberByIMSI for subscriber retrieval
- Add UpdateSubscriber for subscriber information updates
- Add SuspendSubscriber with session termination
- Add TerminateSubscriber with session termination and eSIM profile deactivation
- Add ListSubscribers with pagination and
2026-04-14 15:52:23 +03:00
nutcas3 5c4281f01a feat: Add subscriber data models with GORM integration and 5G network support
- Add Subscriber model with IMSI, MSISDN, IMEI, and authentication fields
- Add ServicePlan model with data/voice/SMS limits and QoS settings
- Add Session model with PDU address, DNN, SNSSAI, and usage tracking
- Add UsageRecord model for billing with usage type, volume, rate, and cost
- Add SubscriberStatus enum (active, suspended, terminated, provisioning)
- Add ProfileStatus enum for eSIM profile state tracking
- Add SessionStatus enum (active, inactive, terminating)
- Add UsageType enum (data, voice, sms)
- Add PLMN struct with
2026-04-14 15:52:10 +03:00
nutcas3 a2021f64af feat: Add subscriber HTTP handlers with CRUD operations and lifecycle management
- Add SubscriberHandler struct with SubscriberService dependency
- Add NewSubscriberHandler constructor
- Add CreateSubscriber endpoint for subscriber creation with IMSI allocation
- Add GetSubscriber endpoint for ID-based retrieval
- Add GetSubscriberByIMSI endpoint for IMSI-based lookup
- Add UpdateSubscriber endpoint for subscriber information updates
- Add ListSubscribers endpoint with pagination, filtering (status, organization_id), and search
- Add SuspendSubscriber endpoint for subscriber suspension and session
2026-04-14 15:50:43 +03:00
nutcas3 8366e0011d feat: Add database layer with GORM integration and subscriber management
- Add Database struct with GORM PostgreSQL connection
- Add IMSIAllocation model for IMSI range tracking and allocation
- Add NewDatabase function with connection pooling (10 idle, 100 max connections, 1h lifetime)
- Add AutoMigrate for Subscriber, ServicePlan, Session, UsageRecord, and IMSIAllocation models
- Add InitializeIMSIAllocation with default IMSI range (1-999999999)
- Add CRUD operations for subscribers (Create, Get, GetByIMSI, Update, List)
- Add ListSubscribers with pagination, filtering by status/
2026-04-14 15:50:18 +03:00
nutcas3 5b8c5d81d5 feat: Add configuration management for api-server
- Add Config struct with server, database, Redis, IMSI, and ES2+ settings
- Add ServerConfig with port and timeout settings (30s read/write)
- Add DatabaseConfig for PostgreSQL connection parameters
- Add RedisConfig for cache connection settings
- Add IMSIConfig with France MCC+MNC prefix (20893) and IMSI range
- Add ES2Config for eSIM provisioning with SMDP connection parameters
- Add LoadConfig function with default configuration values
- Include JSON
2026-04-14 15:50:08 +03:00