Skip to content

Commit e063493

Browse files
committed
feat: support for Create/Delete file revisions
Extracted from fork https://github.com/henrybear327/go-proton-api
1 parent 98a73ff commit e063493

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

link_file.go

+20
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,23 @@ func (c *Client) UpdateRevision(ctx context.Context, shareID, linkID, revisionID
5353
return r.SetBody(req).Put("/drive/shares/" + shareID + "/files/" + linkID + "/revisions/" + revisionID)
5454
})
5555
}
56+
57+
func (c *Client) DeleteRevision(ctx context.Context, shareID, linkID, revisionID string) error {
58+
return c.do(ctx, func(r *resty.Request) (*resty.Response, error) {
59+
return r.Delete("/drive/shares/" + shareID + "/files/" + linkID + "/revisions/" + revisionID)
60+
})
61+
}
62+
63+
func (c *Client) CreateRevision(ctx context.Context, shareID, linkID string) (CreateRevisionRes, error) {
64+
var res struct {
65+
Revision CreateRevisionRes
66+
}
67+
68+
if err := c.do(ctx, func(r *resty.Request) (*resty.Response, error) {
69+
return r.SetResult(&res).Post("/drive/shares/" + shareID + "/files/" + linkID + "/revisions")
70+
}); err != nil {
71+
return CreateRevisionRes{}, err
72+
}
73+
74+
return res.Revision, nil
75+
}

link_file_types.go

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ type CreateFileRes struct {
2222
RevisionID string // Encrypted Revision ID
2323
}
2424

25+
type CreateRevisionRes struct {
26+
ID string // Encrypted Revision ID
27+
}
28+
2529
type UpdateRevisionReq struct {
2630
BlockList []BlockToken
2731
State RevisionState

0 commit comments

Comments
 (0)