Open michielbdejong opened 3 months ago
Additional operations:
{
"operation": "merge",
"from": string,
"into": string
}
And:
{
"operation": "fork",
"left": Set<string>,
"right": Set<string>
}
we somehow need to apply the design of this protocol to the csv format from https://github.com/federatedbookkeeping/timesheets/wiki/API-Definitions-for-Federated-Time-tracking-tools#wikisuite
URI,User,Project,Task,Description,"Start Time","End Time",Date,Duration,"Minutes (Calculated)","Hours (Calculated)" https://timesheet.dev3.evoludata.com/api/trackers/2/items/45,victor,federated-timesheets,,"Meeting with Michiel, George and others to discuss initial steps for defining the data model of the federated timesheets and other complexities","Thursday March 10, 2022 00:00:00 UTC",,2022-03-10,"1 hour, 9 minutes",69,1.15 https://timesheet.dev3.evoludata.com/api/trackers/2/items/46,victor,federated-timesheets,,"add WkiSuite timesheet example from avan.tech for federated timesheets","Friday March 11, 2022 00:00:00 UTC",,2022-03-11,"30 minutes",30,0.5
If two users insert timesheet entries, they will have different URIs
it doesn't really make sense to have create and update separately, and deletion is handles with a 'deleted' flag anyway, so we can merge those three operation types into an 'upsert' operation.
I used this for https://github.com/federatedbookkeeping/github-dxos/blob/main/src/data.ts Now working on https://github.com/federatedbookkeeping/github-dxos/blob/167b420ee870a00f7530e200febe4a075dd700dd/src/github.ts#L106 - will continue tomorrow!
Using the union data format we can define the federation protocol as follows:
operation
can be 'create', 'update', or 'delete'.type
can be 'issue' or 'comment'.object
can be an issue or a comment as defined in #30 (version 2)