| 892 | } |
| 893 | |
| 894 | static void PrintUsage() { |
| 895 | fprintf(stderr, "Usage: cloud_redirect --cli <command> [args...]\n"); |
| 896 | fprintf(stderr, "\nCommands:\n"); |
| 897 | fprintf(stderr, " auth-status <provider> Check authentication status\n"); |
| 898 | fprintf(stderr, " list-remote-apps <provider> <account_id> List apps in cloud (full scan)\n"); |
| 899 | fprintf(stderr, " list-remote-app-ids <provider> <account_id> List app IDs in cloud (fast)\n"); |
| 900 | fprintf(stderr, " list-remote-app-files <provider> <account_id> <app_id> List every file path in one remote app\n"); |
| 901 | fprintf(stderr, " delete-remote-app <provider> <account_id> <app_id> Delete app from cloud\n"); |
| 902 | fprintf(stderr, " list-blobs <provider> <account_id> <app_id> List blob files in app\n"); |
| 903 | fprintf(stderr, " download-blob <provider> <account_id> <app_id> <blob> Download a single blob's content\n"); |
| 904 | fprintf(stderr, " list-all-stats <provider> Search the cloud for every app's stats.json\n"); |
| 905 | fprintf(stderr, " delete-blobs <provider> <account_id> <app_id> <blob>... Delete specific blobs\n"); |
| 906 | fprintf(stderr, " sync-remote-app <provider> <account_id> <app_id> <cloud_root> Run SyncFromCloud for one app\n"); |
| 907 | fprintf(stderr, " sync-all-remote-apps <provider> <account_id> <cloud_root> Run SyncAllFromCloud for one account\n"); |
| 908 | fprintf(stderr, " prune-local-legacy-metadata <cloud_root> Remove local legacy metadata siblings where safe\n"); |
| 909 | fprintf(stderr, " publish-full-manifest <provider> <account_id> <app_id> <cloud_root> Publish local inventory manifest and CN\n"); |
| 910 | fprintf(stderr, " gc-blobs <provider> <account_id> <app_id> <cloud_root> Delete unreferenced SHA blobs from cloud\n"); |
| 911 | fprintf(stderr, "\nProviders: gdrive, onedrive\n"); |
| 912 | } |
| 913 | |
| 914 | int RunCli(int argc, char** argv) { |
| 915 | // Skip program name and "--cli" |