@univerjs-pro/collaboration-history-database-sqlite 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});var e=Object['create'],t=Object['defineProperty'],n=Object['getOwnPropertyDescriptor'],r=Object['getOwnPropertyNames'],i=Object['getPrototypeOf'],a=Object['prototype']['hasOwnProperty'],o=(_0x5c5c98,_0x2a8eb4,_0x1fac07,_0x24e209)=>{if(_0x2a8eb4&&typeof _0x2a8eb4=='object'||typeof _0x2a8eb4=='function'){for(var _0x124413=r(_0x2a8eb4),_0x490834=0x0,_0x36e239=_0x124413['length'],_0x1ef2a3;_0x490834<_0x36e239;_0x490834++)_0x1ef2a3=_0x124413[_0x490834],!a['call'](_0x5c5c98,_0x1ef2a3)&&_0x1ef2a3!==_0x1fac07&&t(_0x5c5c98,_0x1ef2a3,{'get':(_0x44a387=>_0x2a8eb4[_0x44a387])['bind'](null,_0x1ef2a3),'enumerable':!(_0x24e209=n(_0x2a8eb4,_0x1ef2a3))||_0x24e209['enumerable']});}return _0x5c5c98;},s=(_0x5c12cf,_0x4cc6e8,_0x5f424e)=>(_0x5f424e=_0x5c12cf==null?{}:e(i(_0x5c12cf)),o(_0x4cc6e8||!_0x5c12cf||!_0x5c12cf['__esModule']?t(_0x5f424e,'default',{'value':_0x5c12cf,'enumerable':!0x0}):_0x5f424e,_0x5c12cf));let c=require('libsql');c=s(c,0x1);var l='\x0a\x20\x20CREATE\x20TABLE\x20collaboration_history_records\x20(\x0a\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20start_revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(start_revision\x20>=\x201),\x0a\x20\x20\x20\x20user_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(created_at_ms\x20>=\x200),\x0a\x20\x20\x20\x20origin\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20additional_fields\x20TEXT,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(unit_id,\x20start_revision)\x0a\x20\x20);\x0a',u='\x0a\x20\x20CREATE\x20INDEX\x20collaboration_history_origin_lookup\x0a\x20\x20\x20\x20ON\x20collaboration_history_records(unit_id,\x20origin,\x20start_revision);\x0a\x20\x20CREATE\x20INDEX\x20collaboration_history_creator_lookup\x0a\x20\x20\x20\x20ON\x20collaboration_history_records(unit_id,\x20user_id,\x20start_revision);\x0a',d=class{['_database'];['_disposed']=!0x1;constructor(_0x435963){if(!_0x435963?.['filename'])throw TypeError('SQLiteHistoryDatabaseAdapter\x20requires\x20a\x20filename');let _0xd21118=_0x435963['busyTimeoutMs']??0x1388;if(!Number['isSafeInteger'](_0xd21118)||_0xd21118<0x0)throw TypeError('busyTimeoutMs\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_database']=new c['default'](_0x435963['filename'],{'timeout':_0xd21118});try{this['_database']['exec']('PRAGMA\x20busy_timeout\x20=\x20'+_0xd21118+';'),this['_initializeSchema']();}catch(_0x6fb5a){throw this['_database']['close'](),_0x6fb5a;}}async['getLatestRecord'](_0x263965,_0x155d04){this['_assertOpen']();let _0x3c9a89=this['_latest'](_0x155d04);return _0x3c9a89?f(_0x3c9a89):null;}async['appendRecord'](_0x47225c,_0x2a2973,_0x36d1bc){if(this['_assertOpen'](),!_0x2a2973['unitID']||!_0x2a2973['userID']||!Number['isSafeInteger'](_0x2a2973['startRevision'])||_0x2a2973['startRevision']<0x1||!Number['isSafeInteger'](_0x2a2973['createdAt'])||_0x2a2973['createdAt']<0x0)throw TypeError('History\x20record\x20is\x20invalid');return this['_transaction'](()=>{let _0x112fa0=this['_database']['prepare']('SELECT\x20*\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20start_revision\x20=\x20?')['get'](_0x2a2973['unitID'],_0x2a2973['startRevision']);if(_0x112fa0)return{'status':_0x112fa0['user_id']===_0x2a2973['userID']&&_0x112fa0['created_at_ms']===_0x2a2973['createdAt']&&_0x112fa0['origin']===_0x2a2973['origin']&&_0x112fa0['additional_fields']===(_0x2a2973['additionalFields']??null)?'already-exists':'conflict'};let _0x883779=this['_latest'](_0x2a2973['unitID'])?.['start_revision']??null;return _0x883779!==_0x36d1bc['expectedLatestStartRevision']||_0x2a2973['startRevision']<=(_0x883779??0x0)?{'status':'conflict'}:(this['_database']['prepare']('INSERT\x20INTO\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20\x20\x20(unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x20additional_fields)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x2a2973['unitID'],_0x2a2973['startRevision'],_0x2a2973['userID'],_0x2a2973['createdAt'],_0x2a2973['origin'],_0x2a2973['additionalFields']??null),{'status':'appended'});});}async['listRecords'](_0x230b9c,_0x1b9588,_0x9df6b9){this['_assertOpen']();let _0x55aba0=[_0x9df6b9['throughRevision'],_0x9df6b9['throughRevision'],_0x1b9588,_0x9df6b9['throughRevision']],_0x3d423b=[];_0x9df6b9['beforeRevision']!==void 0x0&&(_0x3d423b['push']('r.start_revision\x20<\x20?'),_0x55aba0['push'](_0x9df6b9['beforeRevision'])),_0x9df6b9['origin']&&(_0x3d423b['push']('r.origin\x20=\x20?'),_0x55aba0['push'](_0x9df6b9['origin'])),_0x9df6b9['userIDs']?.['length']&&(_0x3d423b['push']('r.user_id\x20IN\x20('+_0x9df6b9['userIDs']['map'](()=>'?')['join'](',\x20')+')'),_0x55aba0['push'](..._0x9df6b9['userIDs'])),_0x55aba0['push'](_0x9df6b9['length']+0x1);let _0x2c9f20=this['_database']['prepare']('\x0a\x20\x20\x20\x20\x20\x20SELECT\x20r.*,\x20MIN(?,\x20COALESCE((\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20next.start_revision\x20-\x201\x20FROM\x20collaboration_history_records\x20AS\x20next\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20next.unit_id\x20=\x20r.unit_id\x20AND\x20next.start_revision\x20>\x20r.start_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20next.start_revision\x20ASC\x20LIMIT\x201\x0a\x20\x20\x20\x20\x20\x20),\x20?))\x20AS\x20end_revision\x0a\x20\x20\x20\x20\x20\x20FROM\x20collaboration_history_records\x20AS\x20r\x0a\x20\x20\x20\x20\x20\x20WHERE\x20r.unit_id\x20=\x20?\x20AND\x20r.start_revision\x20<=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3d423b['length']?'AND\x20'+_0x3d423b['join']('\x20AND\x20'):'')+'\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20r.start_revision\x20DESC\x20LIMIT\x20?\x0a\x20\x20\x20\x20')['all'](..._0x55aba0);return{'records':_0x2c9f20['slice'](0x0,_0x9df6b9['length'])['map'](_0x14da22=>({'record':f(_0x14da22),'endRevision':_0x14da22['end_revision']})),'hasMore':_0x2c9f20['length']>_0x9df6b9['length']};}async['listCreators'](_0x4eafca,_0x586dcf,_0x170e56){this['_assertOpen']();let _0x50059d=this['_database']['prepare']('SELECT\x20DISTINCT\x20user_id,\x20origin\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20start_revision\x20<=\x20?\x20ORDER\x20BY\x20user_id,\x20origin')['all'](_0x586dcf,_0x170e56['throughRevision']),_0x4dd603=new Map();for(let _0xebd329 of _0x50059d){let _0x41728a=_0x4dd603['get'](_0xebd329['user_id'])??[];_0x41728a['push'](_0xebd329['origin']),_0x4dd603['set'](_0xebd329['user_id'],_0x41728a);}return[..._0x4dd603]['map'](([_0x19c877,_0x2a32c9])=>({'userID':_0x19c877,'origins':_0x2a32c9}));}async['dispose'](){this['_disposed']||(this['_disposed']=!0x0,this['_database']['close']());}['_latest'](_0xf1b300){return this['_database']['prepare']('SELECT\x20*\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20ORDER\x20BY\x20start_revision\x20DESC\x20LIMIT\x201')['get'](_0xf1b300);}['_initializeSchema'](){this['_transaction'](()=>{let _0x24efa7=_0x1d1c97=>!!this['_database']['prepare']('SELECT\x201\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20?')['get'](_0x1d1c97),_0x55a263=_0x24efa7('collaboration_history_revisions')||_0x24efa7('collaboration_history_records');if(!_0x24efa7('collaboration_schema_versions')){if(_0x55a263)throw Error('SQLite\x20History\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('CREATE\x20TABLE\x20collaboration_schema_versions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20component\x20TEXT\x20PRIMARY\x20KEY,\x20version\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(version\x20>=\x201));');}let _0x56af2f=this['_database']['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27history\x27')['get']();if(_0x56af2f){if(_0x56af2f['version']===0x1)throw Error('SQLite\x20History\x20schema\x20v1\x20requires\x20migrateSQLiteHistoryV1ToV2\x20before\x20opening\x20the\x20Adapter');if(_0x56af2f['version']!==0x2)throw Error('SQLite\x20History\x20schema\x20version\x20'+_0x56af2f['version']+'\x20is\x20not\x20supported');if(!_0x24efa7('collaboration_history_records'))throw Error('SQLite\x20History\x20schema\x20v2\x20is\x20incomplete');this['_database']['prepare']('SELECT\x20unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20additional_fields\x20FROM\x20collaboration_history_records\x20LIMIT\x200')['all']();return;}if(_0x55a263)throw Error('SQLite\x20History\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec'](l+u+'INSERT\x20INTO\x20collaboration_schema_versions\x20(component,\x20version)\x20VALUES\x20(\x27history\x27,\x202);');});}['_transaction'](_0x530bf1){this['_database']['exec']('BEGIN\x20IMMEDIATE;');try{let _0x54963a=_0x530bf1();return this['_database']['exec']('COMMIT;'),_0x54963a;}catch(_0x26c23c){throw this['_database']['exec']('ROLLBACK;'),_0x26c23c;}}['_assertOpen'](){if(this['_disposed'])throw Error('SQLite\x20History\x20Database\x20Adapter\x20is\x20disposed');}};function f(_0x3524ac){return{'unitID':_0x3524ac['unit_id'],'startRevision':_0x3524ac['start_revision'],'userID':_0x3524ac['user_id'],'createdAt':_0x3524ac['created_at_ms'],'origin':_0x3524ac['origin'],..._0x3524ac['additional_fields']===null?{}:{'additionalFields':_0x3524ac['additional_fields']}};}async function p(_0x2c535a){let _0x539834=new c['default'](_0x2c535a['filename'],{'fileMustExist':!0x0}),_0x19af82=!0x1;try{if(_0x539834['exec']('BEGIN\x20IMMEDIATE;'),_0x19af82=!0x0,_0x539834['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27history\x27')['get']()?.['version']!==0x1)throw Error('History\x20v1-to-v2\x20migration\x20requires\x20schema\x20version\x201');if(_0x539834['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27core\x27')['get']()?.['version']===0x1)throw Error('Migrate\x20SQLite\x20Core\x20v1\x20before\x20History\x20so\x20creation\x20facts\x20remain\x20available');let _0x7780f4=_0x539834['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']();if(_0x7780f4&&_0x7780f4['version']<0x3)throw Error('Migrate\x20SQLite\x20Worktree\x20before\x20History\x20so\x20creation\x20facts\x20remain\x20available');if(_0x539834['prepare']('SELECT\x201\x20FROM\x20collaboration_history_revisions\x20AS\x20r\x0a\x20\x20\x20\x20\x20\x20LEFT\x20JOIN\x20collaboration_history_revisions\x20AS\x20first\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20first.unit_id\x20=\x20r.unit_id\x20AND\x20first.revision\x20=\x20r.history_revision\x0a\x20\x20\x20\x20\x20\x20WHERE\x20r.history_revision\x20>\x20r.revision\x20OR\x20first.revision\x20IS\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20first.history_revision\x20!=\x20first.revision\x20OR\x20first.user_id\x20=\x20\x27\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20typeof(first.committed_at)\x20!=\x20\x27integer\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20first.committed_at\x20<\x200\x20OR\x20first.committed_at\x20>\x209007199254740991\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201')['get']())throw Error('History\x20v1\x20contains\x20a\x20missing\x20or\x20invalid\x20segment\x20starting\x20revision');_0x539834['exec'](l),_0x539834['exec']('INSERT\x20INTO\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20(unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x20additional_fields)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20unit_id,\x20revision,\x20user_id,\x20committed_at,\x20origin,\x20additional_fields\x0a\x20\x20\x20\x20\x20\x20FROM\x20collaboration_history_revisions\x20WHERE\x20revision\x20=\x20history_revision;\x0a\x20\x20\x20\x20\x20\x20DROP\x20TABLE\x20collaboration_history_revisions;'),_0x539834['exec'](u),_0x539834['exec']('UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x202\x20WHERE\x20component\x20=\x20\x27history\x27;\x20COMMIT;'),_0x19af82=!0x1;}finally{try{_0x19af82&&_0x539834['exec']('ROLLBACK;');}finally{_0x539834['close']();}}}exports['SQLiteHistoryDatabaseAdapter']=d,exports['migrateSQLiteHistoryV1ToV2']=p;
|
|
1
|
+
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});var e=Object['create'],t=Object['defineProperty'],n=Object['getOwnPropertyDescriptor'],r=Object['getOwnPropertyNames'],i=Object['getPrototypeOf'],a=Object['prototype']['hasOwnProperty'],o=(_0x531197,_0x3b6132,_0x25cc0b,_0x5f049e)=>{if(_0x3b6132&&typeof _0x3b6132=='object'||typeof _0x3b6132=='function'){for(var _0x59f9ac=r(_0x3b6132),_0x6d33eb=0x0,_0x2c86bf=_0x59f9ac['length'],_0x1d69e9;_0x6d33eb<_0x2c86bf;_0x6d33eb++)_0x1d69e9=_0x59f9ac[_0x6d33eb],!a['call'](_0x531197,_0x1d69e9)&&_0x1d69e9!==_0x25cc0b&&t(_0x531197,_0x1d69e9,{'get':(_0x291bb3=>_0x3b6132[_0x291bb3])['bind'](null,_0x1d69e9),'enumerable':!(_0x5f049e=n(_0x3b6132,_0x1d69e9))||_0x5f049e['enumerable']});}return _0x531197;},s=(_0xb5731e,_0x310df2,_0x52d0e5)=>(_0x52d0e5=_0xb5731e==null?{}:e(i(_0xb5731e)),o(_0x310df2||!_0xb5731e||!_0xb5731e['__esModule']?t(_0x52d0e5,'default',{'value':_0xb5731e,'enumerable':!0x0}):_0x52d0e5,_0xb5731e));let c=require('libsql');c=s(c,0x1);var l='\x0a\x20\x20CREATE\x20TABLE\x20collaboration_history_records\x20(\x0a\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20start_revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(start_revision\x20>=\x201),\x0a\x20\x20\x20\x20user_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(created_at_ms\x20>=\x200),\x0a\x20\x20\x20\x20origin\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20additional_fields\x20TEXT,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(unit_id,\x20start_revision)\x0a\x20\x20);\x0a',u='\x0a\x20\x20CREATE\x20INDEX\x20collaboration_history_origin_lookup\x0a\x20\x20\x20\x20ON\x20collaboration_history_records(unit_id,\x20origin,\x20start_revision);\x0a\x20\x20CREATE\x20INDEX\x20collaboration_history_creator_lookup\x0a\x20\x20\x20\x20ON\x20collaboration_history_records(unit_id,\x20user_id,\x20start_revision);\x0a',d=class{['_database'];['_disposed']=!0x1;constructor(_0x2c7774){if(!_0x2c7774?.['filename'])throw TypeError('SQLiteHistoryDatabaseAdapter\x20requires\x20a\x20filename');let _0x386edd=_0x2c7774['busyTimeoutMs']??0x1388;if(!Number['isSafeInteger'](_0x386edd)||_0x386edd<0x0)throw TypeError('busyTimeoutMs\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_database']=new c['default'](_0x2c7774['filename'],{'timeout':_0x386edd});try{this['_database']['exec']('PRAGMA\x20busy_timeout\x20=\x20'+_0x386edd+';'),this['_initializeSchema']();}catch(_0x18b662){throw this['_database']['close'](),_0x18b662;}}async['getLatestRecord'](_0x3ea739,_0x4e344b){this['_assertOpen']();let _0x47e446=this['_latest'](_0x4e344b);return _0x47e446?f(_0x47e446):null;}async['appendRecord'](_0x3b11bb,_0x27f5b4,_0x3d1c99){if(this['_assertOpen'](),!_0x27f5b4['unitID']||!_0x27f5b4['userID']||!Number['isSafeInteger'](_0x27f5b4['startRevision'])||_0x27f5b4['startRevision']<0x1||!Number['isSafeInteger'](_0x27f5b4['createdAt'])||_0x27f5b4['createdAt']<0x0)throw TypeError('History\x20record\x20is\x20invalid');return this['_transaction'](()=>{let _0x134ff5=this['_database']['prepare']('SELECT\x20*\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20start_revision\x20=\x20?')['get'](_0x27f5b4['unitID'],_0x27f5b4['startRevision']);if(_0x134ff5)return{'status':_0x134ff5['user_id']===_0x27f5b4['userID']&&_0x134ff5['created_at_ms']===_0x27f5b4['createdAt']&&_0x134ff5['origin']===_0x27f5b4['origin']&&_0x134ff5['additional_fields']===(_0x27f5b4['additionalFields']??null)?'already-exists':'conflict'};let _0x16aa78=this['_latest'](_0x27f5b4['unitID'])?.['start_revision']??null;return _0x16aa78!==_0x3d1c99['expectedLatestStartRevision']||_0x27f5b4['startRevision']<=(_0x16aa78??0x0)?{'status':'conflict'}:(this['_database']['prepare']('INSERT\x20INTO\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20\x20\x20(unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x20additional_fields)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x27f5b4['unitID'],_0x27f5b4['startRevision'],_0x27f5b4['userID'],_0x27f5b4['createdAt'],_0x27f5b4['origin'],_0x27f5b4['additionalFields']??null),{'status':'appended'});});}async['listRecords'](_0x3e9227,_0xb89887,_0x27eb93){this['_assertOpen']();let _0x158529=[_0x27eb93['throughRevision'],_0x27eb93['throughRevision'],_0xb89887,_0x27eb93['throughRevision']],_0x3297ab=[];_0x27eb93['beforeRevision']!==void 0x0&&(_0x3297ab['push']('r.start_revision\x20<\x20?'),_0x158529['push'](_0x27eb93['beforeRevision'])),_0x27eb93['origin']&&(_0x3297ab['push']('r.origin\x20=\x20?'),_0x158529['push'](_0x27eb93['origin'])),_0x27eb93['userIDs']?.['length']&&(_0x3297ab['push']('r.user_id\x20IN\x20('+_0x27eb93['userIDs']['map'](()=>'?')['join'](',\x20')+')'),_0x158529['push'](..._0x27eb93['userIDs'])),_0x158529['push'](_0x27eb93['length']+0x1);let _0x2cd9a4=this['_database']['prepare']('\x0a\x20\x20\x20\x20\x20\x20SELECT\x20r.*,\x20MIN(?,\x20COALESCE((\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20next.start_revision\x20-\x201\x20FROM\x20collaboration_history_records\x20AS\x20next\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20next.unit_id\x20=\x20r.unit_id\x20AND\x20next.start_revision\x20>\x20r.start_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20next.start_revision\x20ASC\x20LIMIT\x201\x0a\x20\x20\x20\x20\x20\x20),\x20?))\x20AS\x20end_revision\x0a\x20\x20\x20\x20\x20\x20FROM\x20collaboration_history_records\x20AS\x20r\x0a\x20\x20\x20\x20\x20\x20WHERE\x20r.unit_id\x20=\x20?\x20AND\x20r.start_revision\x20<=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3297ab['length']?'AND\x20'+_0x3297ab['join']('\x20AND\x20'):'')+'\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20r.start_revision\x20DESC\x20LIMIT\x20?\x0a\x20\x20\x20\x20')['all'](..._0x158529);return{'records':_0x2cd9a4['slice'](0x0,_0x27eb93['length'])['map'](_0x8727f1=>({'record':f(_0x8727f1),'endRevision':_0x8727f1['end_revision']})),'hasMore':_0x2cd9a4['length']>_0x27eb93['length']};}async['listCreators'](_0x348c9c,_0x5baacc,_0x3c9df4){this['_assertOpen']();let _0x4a9a80=this['_database']['prepare']('SELECT\x20DISTINCT\x20user_id,\x20origin\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20start_revision\x20<=\x20?\x20ORDER\x20BY\x20user_id,\x20origin')['all'](_0x5baacc,_0x3c9df4['throughRevision']),_0x3ad981=new Map();for(let _0xdde9db of _0x4a9a80){let _0x41aae0=_0x3ad981['get'](_0xdde9db['user_id'])??[];_0x41aae0['push'](_0xdde9db['origin']),_0x3ad981['set'](_0xdde9db['user_id'],_0x41aae0);}return[..._0x3ad981]['map'](([_0x2e5d40,_0x2e0aa9])=>({'userID':_0x2e5d40,'origins':_0x2e0aa9}));}async['dispose'](){this['_disposed']||(this['_disposed']=!0x0,this['_database']['close']());}['_latest'](_0x42860c){return this['_database']['prepare']('SELECT\x20*\x20FROM\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20WHERE\x20unit_id\x20=\x20?\x20ORDER\x20BY\x20start_revision\x20DESC\x20LIMIT\x201')['get'](_0x42860c);}['_initializeSchema'](){this['_transaction'](()=>{let _0x1ba5c5=_0x41af74=>!!this['_database']['prepare']('SELECT\x201\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20?')['get'](_0x41af74),_0x364d1d=_0x1ba5c5('collaboration_history_revisions')||_0x1ba5c5('collaboration_history_records');if(!_0x1ba5c5('collaboration_schema_versions')){if(_0x364d1d)throw Error('SQLite\x20History\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('CREATE\x20TABLE\x20collaboration_schema_versions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20component\x20TEXT\x20PRIMARY\x20KEY,\x20version\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(version\x20>=\x201));');}let _0x6b757d=this['_database']['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27history\x27')['get']();if(_0x6b757d){if(_0x6b757d['version']===0x1)throw Error('SQLite\x20History\x20schema\x20v1\x20requires\x20migrateSQLiteHistoryV1ToV2\x20before\x20opening\x20the\x20Adapter');if(_0x6b757d['version']!==0x2)throw Error('SQLite\x20History\x20schema\x20version\x20'+_0x6b757d['version']+'\x20is\x20not\x20supported');if(!_0x1ba5c5('collaboration_history_records'))throw Error('SQLite\x20History\x20schema\x20v2\x20is\x20incomplete');this['_database']['prepare']('SELECT\x20unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20additional_fields\x20FROM\x20collaboration_history_records\x20LIMIT\x200')['all']();return;}if(_0x364d1d)throw Error('SQLite\x20History\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec'](l+u+'INSERT\x20INTO\x20collaboration_schema_versions\x20(component,\x20version)\x20VALUES\x20(\x27history\x27,\x202);');});}['_transaction'](_0x3592b3){this['_database']['exec']('BEGIN\x20IMMEDIATE;');try{let _0x196686=_0x3592b3();return this['_database']['exec']('COMMIT;'),_0x196686;}catch(_0x24f11c){throw this['_database']['exec']('ROLLBACK;'),_0x24f11c;}}['_assertOpen'](){if(this['_disposed'])throw Error('SQLite\x20History\x20Database\x20Adapter\x20is\x20disposed');}};function f(_0x348afd){return{'unitID':_0x348afd['unit_id'],'startRevision':_0x348afd['start_revision'],'userID':_0x348afd['user_id'],'createdAt':_0x348afd['created_at_ms'],'origin':_0x348afd['origin'],..._0x348afd['additional_fields']===null?{}:{'additionalFields':_0x348afd['additional_fields']}};}async function p(_0x432a50){let _0x4f8747=new c['default'](_0x432a50['filename'],{'fileMustExist':!0x0}),_0x149ab7=!0x1;try{if(_0x4f8747['exec']('BEGIN\x20IMMEDIATE;'),_0x149ab7=!0x0,_0x4f8747['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27history\x27')['get']()?.['version']!==0x1)throw Error('History\x20v1-to-v2\x20migration\x20requires\x20schema\x20version\x201');if(_0x4f8747['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27core\x27')['get']()?.['version']===0x1)throw Error('Migrate\x20SQLite\x20Core\x20v1\x20before\x20History\x20so\x20creation\x20facts\x20remain\x20available');let _0x24b989=_0x4f8747['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']();if(_0x24b989&&_0x24b989['version']<0x3)throw Error('Migrate\x20SQLite\x20Worktree\x20before\x20History\x20so\x20creation\x20facts\x20remain\x20available');if(_0x4f8747['prepare']('SELECT\x201\x20FROM\x20collaboration_history_revisions\x20AS\x20r\x0a\x20\x20\x20\x20\x20\x20LEFT\x20JOIN\x20collaboration_history_revisions\x20AS\x20first\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20first.unit_id\x20=\x20r.unit_id\x20AND\x20first.revision\x20=\x20r.history_revision\x0a\x20\x20\x20\x20\x20\x20WHERE\x20r.history_revision\x20>\x20r.revision\x20OR\x20first.revision\x20IS\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20first.history_revision\x20!=\x20first.revision\x20OR\x20first.user_id\x20=\x20\x27\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20typeof(first.committed_at)\x20!=\x20\x27integer\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20first.committed_at\x20<\x200\x20OR\x20first.committed_at\x20>\x209007199254740991\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201')['get']())throw Error('History\x20v1\x20contains\x20a\x20missing\x20or\x20invalid\x20segment\x20starting\x20revision');_0x4f8747['exec'](l),_0x4f8747['exec']('INSERT\x20INTO\x20collaboration_history_records\x0a\x20\x20\x20\x20\x20\x20(unit_id,\x20start_revision,\x20user_id,\x20created_at_ms,\x20origin,\x20additional_fields)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20unit_id,\x20revision,\x20user_id,\x20committed_at,\x20origin,\x20additional_fields\x0a\x20\x20\x20\x20\x20\x20FROM\x20collaboration_history_revisions\x20WHERE\x20revision\x20=\x20history_revision;\x0a\x20\x20\x20\x20\x20\x20DROP\x20TABLE\x20collaboration_history_revisions;'),_0x4f8747['exec'](u),_0x4f8747['exec']('UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x202\x20WHERE\x20component\x20=\x20\x27history\x27;\x20COMMIT;'),_0x149ab7=!0x1;}finally{try{_0x149ab7&&_0x4f8747['exec']('ROLLBACK;');}finally{_0x4f8747['close']();}}}exports['SQLiteHistoryDatabaseAdapter']=d,exports['migrateSQLiteHistoryV1ToV2']=p;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x20a153=_0x2eae;(function(_0x237ff4,_0x43f6b3){const _0x13a343=_0x2eae,_0x1ef63b=_0x237ff4();while(!![]){try{const _0x4a785f=parseInt(_0x13a343(0x100))/0x1+-parseInt(_0x13a343(0xfd))/0x2+-parseInt(_0x13a343(0x102))/0x3*(parseInt(_0x13a343(0xfb))/0x4)+parseInt(_0x13a343(0x103))/0x5+parseInt(_0x13a343(0xfe))/0x6+parseInt(_0x13a343(0x101))/0x7*(parseInt(_0x13a343(0xf9))/0x8)+-parseInt(_0x13a343(0xff))/0x9;if(_0x4a785f===_0x43f6b3)break;else _0x1ef63b['push'](_0x1ef63b['shift']());}catch(_0x2f6792){_0x1ef63b['push'](_0x1ef63b['shift']());}}}(_0x4245,0xb4fbf));import _0x2d5dc3 from'./index.cjs';function _0x2eae(_0x20b176,_0x12254a){_0x20b176=_0x20b176-0xf9;const _0x424576=_0x4245();let _0x2eae37=_0x424576[_0x20b176];return _0x2eae37;}function _0x4245(){const _0x4c6231=['3078018YhdqJC','17956116fMpOOS','938630uoVxHb','12292QhSyLh','390501amuypa','7069145QbJwxp','2952UdlexJ','SQLiteHistoryDatabaseAdapter','12JbLEsy','migrateSQLiteHistoryV1ToV2','772980GyjBNB'];_0x4245=function(){return _0x4c6231;};return _0x4245();}const facadeExport0=_0x2d5dc3[_0x20a153(0xfa)],facadeExport1=_0x2d5dc3[_0x20a153(0xfc)];export{facadeExport0 as SQLiteHistoryDatabaseAdapter,facadeExport1 as migrateSQLiteHistoryV1ToV2};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.0.
|
|
7
|
+
"version": "1.0.1",
|
|
8
8
|
"main": "./dist/index.cjs",
|
|
9
9
|
"module": "./dist/index.mjs",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@univerjs-pro/collaboration-history-service": "1.0.
|
|
23
|
-
"@univerjs/protocol": "1.0.
|
|
22
|
+
"@univerjs-pro/collaboration-history-service": "1.0.1",
|
|
23
|
+
"@univerjs/protocol": "1.0.1",
|
|
24
24
|
"libsql": "^0.5.29"
|
|
25
25
|
}
|
|
26
26
|
}
|