-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathGoogleDrive.xml
185 lines (176 loc) · 8.59 KB
/
GoogleDrive.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?xml version="1.0" encoding="utf-8"?>
<Artifacts version="2.0">
<Artifact type="SqliteArtifact" name="Google Drive Snapshot db" version="1.1" platform="Computer">
<Source type="FileName">snapshot.db</Source>
<Query>
select
case cloud_entry.acl_role
when 2 then 'Can View'
when 1 then 'Can Contribute'
when 0 then 'Private'
else cloud_entry.acl_role
end as 'aclrole',
case cloud_entry.doc_type
when 0 then 'Folder'
when 1 then 'File'
when 4 then 'Google Spreadsheet'
when 6 then 'Google Document'
when 12 then 'Google My Maps'
else cloud_entry.doc_type
end as 'doctype',
(select filename from cloud_entry where cloud_entry.doc_id = cloud_relations.parent_doc_id) as 'CloudParent',
cloud_entry.filename as 'CloudFilename',
cloud_entry.checksum as 'CloudMD5Hash',
datetime(cloud_entry.modified, 'unixepoch','localtime') as 'CloudModified',
cloud_entry.size as 'CloudSize',
cloud_entry.original_size as 'OriginalSize',
case cloud_entry.removed
when 0 then 'No'
when 1 then 'Yes'
end as 'Removed' ,
case cloud_entry.shared
when 0 then 'No'
when 1 then 'Yes'
end as 'Shared',
case local_entry.is_folder
when 0 then 'No'
when 1 then 'Yes'
end as 'IsFolder',
(select filename from local_entry where local_entry.inode = local_relations.parent_inode) as 'LocalParent',
local_entry.filename as 'LocalFilename',
local_entry.size as 'LocalSize',
local_entry.checksum as 'LocalMD5Hash',
datetime(local_entry.modified, 'unixepoch','localtime') as 'LocalModified',
case
when cloud_entry.checksum = local_entry.checksum
then 'MD5 Match'
else (case
when cloud_entry.checksum notnull
then 'No_Match'
else ''
end)
end as 'MD5Check',
case
when cloud_entry.modified = local_entry.modified
then 'Dates Match'
else 'No Match'
end as 'CloudLocalDatesCheck',
case
when local_entry.volume = volume_info.volume
then volume_info.full_path||" - "||volume_info.device_type||" - Volume Name: ("||volume_info.label||")"
else local_entry.volume
end as 'Volume',
local_relations.child_volume as 'ChildVolume',
local_relations.parent_volume as 'ParentVolume'
from cloud_entry
join mapping on cloud_entry.doc_id = mapping.doc_id
join cloud_relations on cloud_entry.doc_id = cloud_relations.child_doc_id
join local_entry on local_entry.inode = mapping.inode
join local_relations on local_relations.child_inode = local_entry.inode
left join volume_info on volume_info.volume = local_entry.volume
</Query>
<Fragments>
<Fragment source="aclrole" alias="ACL Role" datatype="String" category="None" />
<Fragment source="doctype" alias="Doc Type" datatype="String" category="None" />
<Fragment source="CloudParent" alias="Cloud Parent Folder" datatype="String" category="None" />
<Fragment source="CloudFilename" alias="Cloud Filename" datatype="String" category="None" />
<Fragment source="CloudMD5Hash" alias="Cloud MD5 Hash" datatype="String" category="None" />
<Fragment source="CloudModified" alias="Cloud Modified Time" datatype="DateTime" category="DateTime" />
<Fragment source="CloudSize" alias="Cloud Size" datatype="Integer" category="None" />
<Fragment source="OriginalSize" alias="Original Size" datatype="Integer" category="None" />
<Fragment source="Removed" alias="Removed" datatype="String" category="None" />
<Fragment source="Shared" alias="Shared" datatype="String" category="None" />
<Fragment source="IsFolder" alias="Is Folder" datatype="String" category="None" />
<Fragment source="LocalParent" alias="DocID" datatype="String" category="None" />
<Fragment source="LocalFilename" alias="Local Filename" datatype="String" category="None" />
<Fragment source="LocalSize" alias="Local Size" datatype="Integer" category="None" />
<Fragment source="LocalMD5Hash" alias="Local MD5 Hash" datatype="String" category="None" />
<Fragment source="LocalModified" alias="Local Modified Time" datatype="DateTime" category="DateTime" />
<Fragment source="MD5Check" alias="Cloud/Local MD5 Check" datatype="String" category="None" />
<Fragment source="CloudLocalDatesCheck" alias="Cloud/Local Dates Check" datatype="String" category="None" />
<Fragment source="Volume" alias="Volume" datatype="String" category="None" />
<Fragment source="ChildVolume" alias="Child Volume" datatype="String" category="None" />
<Fragment source="ParentVolume" alias="Parent Volume" datatype="String" category="None" />
</Fragments>
</Artifact>
<Artifact type="SqliteArtifact" name="Google Drive Cloud_Graph" version="1" platform="Computer">
<Source type="FileName">cloud_graph.db</Source>
<Query>
Select
case
when doc_id = 'root' then 'root'
when parent_doc_id = 'root' then 'root'
else (select filename from cloud_graph_entry where parent_doc_id = doc_id)
end as 'Parent',
cloud_graph_entry.Filename as 'FileName',
cloud_graph_entry.size as 'Size',
checksum as 'MD5',
case doc_type
when 0 then 'Folder'
when 1 then 'File'
when 4 then 'Google Spreadsheet'
when 6 then 'Google Document'
when 12 then 'Google My Maps'
else doc_type
end as 'doctype',
case shared
when 0 then ''
when 1 then 'Yes'
end as 'shared',
cloud_graph_entry.modified as 'Modified',
cloud_graph_entry.version as 'Version',
case cloud_graph_entry.acl_role
when 2 then 'Can View'
when 1 then 'Can Contribute'
when 0 then 'Private'
else cloud_graph_entry.acl_role
end as 'aclrole',
case cloud_graph_entry.download_restricted
when 0 then ''
when 1 then 'Yes'
else cloud_graph_entry.download_restricted
end as 'downloadrestricted',
cloud_graph_entry.photos_storage_policy as 'psp',
cloud_graph_entry.down_sample_status as 'dss',
doc_id as 'docid',
cloud_relations.parent_doc_id as 'parentid'
From cloud_graph_entry
left join cloud_relations on cloud_graph_entry.doc_id = cloud_relations.child_doc_id
order by modified desc
</Query>
<Fragments>
<Fragment source="Parent" alias="Parent" datatype="String" category="None" />
<Fragment source="FileName" alias="Filename" datatype="String" category="None" />
<Fragment source="Size" alias="Size" datatype="String" category="None" />
<Fragment source="MD5" alias="MD5 Hash" datatype="String" category="None" />
<Fragment source="doctype" alias="Document Type" datatype="String" category="None" />
<Fragment source="shared" alias="Shared" datatype="String" category="None" />
<Fragment source="modified" alias="Modified Time" datatype="DateTime" category="DateTime" />
<Fragment source="version" alias="Version " datatype="Integer" category="None" />
<Fragment source="aclrole" alias="ACL Role" datatype="String" category="None" />
<Fragment source="downloadrestricted" alias="Download Rstricted" datatype="String" category="None" />
<Fragment source="psp" alias="Photo Storage Policy" datatype="String" category="None" />
<Fragment source="dss" alias="Down Sample Status" datatype="Integer" category="None" />
<Fragment source="docid" alias="Doc ID" datatype="String" category="None" />
<Fragment source="parentid" alias="Parent Doc ID" datatype="String" category="None" />
</Fragments>
</Artifact>
<Artifact type="SqliteArtifact" name="Google Drive USB Devices" version="1" platform="Computer">
<Source type="FileName">device_db.db</Source>
<Query>
select
device_id as 'DeviceId',
label as 'Label',
device_discovery_action as 'Action',
usb_type as 'USBType'
from external_devices
</Query>
<Fragments>
<Fragment source="DeviceId" alias="Device ID" datatype="String" category="None" />
<Fragment source="Label" alias="Label" datatype="String" category="None" />
<Fragment source="Action" alias="Device Discovery Action" datatype="Integer" category="None" />
<Fragment source="USBType" alias="USB Type" datatype="Integer" category="None" />
</Fragments>
</Artifact>
<Signature>1:AJ3q2BNcMVLP:AgD/////:H86SCkTBTkYBki1Q2chOOOpaQLNqP4Xt+V8ZLR9PbD+7BkvQOnA938xSditCLarbqp0poGe1S59YmYxDVr70LmYjeRK/gVAiknfozJPPPgdqo7qcpNVWECA89QncJsrPlJPonvCKdIQ5iZrLyDKXmVkfsVWWXf44x5FcYPtKBIyq5azG+TR6pAo31rfofqHiDNBgC2p8jMfM6kRAv4qiMzJ3BO6rslWZlrXQgUHjEJrgjUYMOvTmXjarZjmnNgtKo6gYXyWa777/ua6EduBZB7dKW8jZRLn4ys5Wr7V3ujUUcSzHk3gLZTyyBRAsFrtnqn/ETtWnbFnKWrHk8/2KYg==</Signature>
</Artifacts>