mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-22 23:52:13 +02:00
0404ee2e37
* Add Client Architecture Documentation
72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
@startuml
|
|
start
|
|
:Start;
|
|
partition "checkPathAgainstClientSideFiltering" {
|
|
:Get localFilePath;
|
|
|
|
if (Does path exist?) then (no)
|
|
:Return false;
|
|
stop
|
|
endif
|
|
|
|
if (Check .nosync?) then (yes)
|
|
:Check for .nosync file;
|
|
if (.nosync found) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
|
|
if (Skip dotfiles?) then (yes)
|
|
:Check if dotfile;
|
|
if (Is dotfile) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
|
|
if (Skip symlinks?) then (yes)
|
|
:Check if symlink;
|
|
if (Is symlink) then (yes)
|
|
if (Config says skip?) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
elseif (Unexisting symlink?) then (yes)
|
|
:Check if relative link works;
|
|
if (Relative link ok) then (no)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
if (Skip dir or file?) then (yes)
|
|
:Check dir or file exclusion;
|
|
if (Excluded by config?) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
|
|
if (Use sync_list?) then (yes)
|
|
:Check sync_list exclusions;
|
|
if (Excluded by sync_list?) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
|
|
if (Check file size?) then (yes)
|
|
:Check for file size limit;
|
|
if (File size exceeds limit?) then (yes)
|
|
:Log and return true;
|
|
stop
|
|
endif
|
|
endif
|
|
|
|
:Return false;
|
|
}
|
|
stop
|
|
@enduml
|