@afriapps/fs-client
Version:
React Native FileServer Client SDK for file synchronization and data management. Requires React Native environment with SQLite and File System support.
23 lines (18 loc) • 921 B
text/typescript
import DatabaseService from "../database/DatabaseService";
import FS_FileEntity from "../models/FS_FileEntity";
import { FS_ProtoBufReceivedDataHandler } from "./FS_ProtoBufReceivedDataHandler";
import { FS_ReceivedDataHandler } from "./FS_ReceivedDataHandler";
// FS_BinaryReceivedDataHandler
class FS_BinaryReceivedDataHandler implements FS_ReceivedDataHandler<Uint8Array> {
async handle(databaseService: DatabaseService, fsEntity: FS_FileEntity, fileData: Uint8Array): Promise<boolean> {
if (fsEntity.applicationFormat === 'UDC') {
const handler = new FS_ProtoBufReceivedDataHandler();
return handler.handle(databaseService, fsEntity, fileData);
} else {
const values = { data: fileData.toString() };
await databaseService.addRecord(fsEntity.name!, values);
return true;
}
}
}
export { FS_BinaryReceivedDataHandler };