Files
crm.clientright.ru/modules/WSAPP/synclib/models/SyncStateModel.php
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

71 lines
1.8 KiB
PHP

<?php
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
require_once 'modules/WSAPP/synclib/models/BaseModel.php';
class WSAPP_SyncStateModel extends WSAPP_BaseModel{
// Represents the module which will the synchronize will happen
protected $type;
public function getLastSyncTime(){
return $this->get('lastSyncTime');
}
public function setLastSyncTime($lastSyncTime){
return $this->set('lastSyncTime',$lastSyncTime);
}
public function setMoreRecords($more){
return $this->set('more',$more);
}
public function hasMoreRecords(){
return ($this->get('more')==1) ? true : false;
}
public function getSyncTrackerId(){
return $this->get('synctrackerid');
}
public function setSyncTrackerId($value){
return $this->set('synctrackerid',$value);
}
public function getSyncToken(){
return $this->get('synctoken');
}
public function setSyncToken($syncToken){
return $this->set('synctoken',$syncToken);
}
public function setType($type){
$this->type = $type;
return $this;
}
public function getType(){
return $this->type;
}
public static function getInstanceFromSyncResult($syncResult){
$model = new self();
return $model->setLastSyncTime($syncResult['lastModifiedTime'])->setMoreRecords($syncResult['more']);
}
public static function getInstanceFromQueryResult($rowData){
$model = new self();
return $model->setData($rowData);
}
}
?>