Implement Team Drives portion of the API.
Description
Details
- Differential Revisions
- D19836: Add TeamdriveModifyJob and update teamdrive example to allow renaming a Team Drive.
D19693: Add TeamdriveDeleteJob with updated example and test
D19576: Add Team Drive create job feature.
D19546: Add TeamdriveSearchQuery and support for it in TeamdriveFetchJob.
D19490: Refactor FileSearchQuery and create base class SearchQuery
D19403: Add Team Drive model and basic fetch.
D19368: Fetch Team Drive files and add Drive auth scope
Related Objects
- Mentioned In
- R477:b9fbf330daca: Add TeamdriveModifyJob and update teamdrive example to allow renaming a Team…
R477:7eff624deb18: Add TeamdriveModifyJob and update teamdrive example to allow renaming a Team…
R477:de7e03a9225a: Add TeamdriveDeleteJob with updated example and test
R477:86f53f91d6de: Add Team Drive create job feature.
R477:f7ec21500919: Add TeamdriveSearchQuery and support for it in TeamdriveFetchJob.
R477:0f3edc914b45: Add Team Drive model and basic fetch.
R477:4f226717ee1f: Refactor FileSearchQuery and create base class SearchQuery
R477:ed60b82afdf2: Fetch Team Drive files and add Drive auth scope
My understanding of the documentation is that you can /only/ use the four fields for teamdrive.list to search for Team Drives, so adding those fields to FileSearchQuery doesn't feel right to me. So I'd say let's create TeamDriveSearchQuery. You can just duplicate the code form FileSearchQuery, or you could try to refactor the sub-query handling code from FileSearchQuery into SearchQuery, that both FileSearchQuery and TeamDriveSearchQuery would inherit - they would then only specify the list of fields and their (de-)serialization and the overall query-building and serialization would be handled by the base class.
As of D19546, fetch support should be complete. I already started working on create functionality, after that only delete and update are missing.
When D19836 gets approved I believe this task is complete, @dvratil correct me if I'm wrong.
@elvisangelaccio I want to start working on the KIO GDrive side of Team Drive integration, care to create a task there so we can start discussing it?
Great, nice job David! We are after Applications 19.04 freeze now for April release, so any new features added after this point will be available in Applications 19.08 in August (we can still add bugfixes to the stable branch of course). I sneaked the ModifyJob into the stable branch for 19.04, so if nothing is missing, we should now have full Teamdrive support in KGAPI in 19.04 release. Well done!
KIO GDrive does not follow the Applications release cycle, so once you add the support there, Elvis can do a release, so you are not limited by the freeze there. He just needs to wait for Applications 19.04 to be released, as KIO GDrive cannot depend on features from an unreleased version of libkgapi obviously.