MCPcopy Create free account
hub / github.com/dropbox/dbxcli / jsonMetadataFromDropbox

Function jsonMetadataFromDropbox

cmd/json_metadata.go:22–62  ·  view source on GitHub ↗
(metadata files.IsMetadata)

Source from the content-addressed store, hash-verified

20}
21
22func jsonMetadataFromDropbox(metadata files.IsMetadata) (jsonMetadata, error) {
23 switch m := metadata.(type) {
24 case *files.FileMetadata:
25 if m == nil {
26 return jsonMetadata{}, fmt.Errorf("unexpected nil Dropbox file metadata")
27 }
28 size := m.Size
29 return jsonMetadata{
30 Type: "file",
31 PathDisplay: m.PathDisplay,
32 PathLower: m.PathLower,
33 ID: m.Id,
34 Rev: m.Rev,
35 Size: &size,
36 ServerModified: jsonTime(time.Time(m.ServerModified)),
37 ClientModified: jsonTime(time.Time(m.ClientModified)),
38 }, nil
39 case *files.FolderMetadata:
40 if m == nil {
41 return jsonMetadata{}, fmt.Errorf("unexpected nil Dropbox folder metadata")
42 }
43 return jsonMetadata{
44 Type: "folder",
45 PathDisplay: m.PathDisplay,
46 PathLower: m.PathLower,
47 ID: m.Id,
48 }, nil
49 case *files.DeletedMetadata:
50 if m == nil {
51 return jsonMetadata{}, fmt.Errorf("unexpected nil Dropbox deleted metadata")
52 }
53 return jsonMetadata{
54 Type: "deleted",
55 PathDisplay: m.PathDisplay,
56 PathLower: m.PathLower,
57 Deleted: true,
58 }, nil
59 default:
60 return jsonMetadata{}, fmt.Errorf("unexpected Dropbox metadata type %T", metadata)
61 }
62}
63
64func jsonMetadataListFromDropbox(entries []files.IsMetadata) ([]jsonMetadata, error) {
65 result := make([]jsonMetadata, 0, len(entries))

Calls 1

jsonTimeFunction · 0.85