1370 Commits

Author SHA1 Message Date
c116ea9791 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 14:21:02 -06:00
7c35af8c49 fix 2024-12-28 14:19:40 -06:00
d6475a85d7 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 13:55:25 -06:00
9ae56c17a1 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 13:52:31 -06:00
1809f5a7de fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 12:54:18 -06:00
aa7d24ef2a refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-28 12:49:37 -06:00
b3b2a32557 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 12:41:28 -06:00
827d0b5371 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 11:25:15 -06:00
d81be88d8d refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 09:42:55 -06:00
fd18fdd8b8 fix tests
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 09:26:36 -06:00
5a2cd7d0dd fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 09:11:08 -06:00
504556bedd revert
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 08:34:08 -06:00
6fdda46869 refactor 2024-12-28 08:28:42 -06:00
f63175626e fix 2024-12-28 08:25:02 -06:00
b312fa7795 revert
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-28 08:24:39 -06:00
53c1ada480 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-28 07:55:42 -06:00
5ad7094a3e fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 21:06:13 -06:00
ecd24784aa refactor 2024-12-27 20:56:55 -06:00
7b98f26d34 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 20:36:40 -06:00
9baae9c185 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 20:08:44 -06:00
1e32fab8b0 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 17:31:17 -06:00
b04f903e4d refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-27 17:30:30 -06:00
8b36a007b6 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 17:23:12 -06:00
520f5974f3 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 15:47:24 -06:00
6ad65d30da refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 15:30:01 -06:00
96bdd2c6dd fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-27 15:29:44 -06:00
dd6f631960 revert
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-12-27 15:27:00 -06:00
e4d8f99d7a refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-27 15:08:14 -06:00
869e271fde refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-27 14:56:14 -06:00
c203662fce refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 10:38:43 -06:00
424a1f6cce unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 09:59:13 -06:00
1667c18d7e unit tests and fixes 2024-12-27 09:56:33 -06:00
1c2927790b refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-27 03:54:21 -06:00
c6870c0299 refactor 2024-12-27 03:52:39 -06:00
cc70aadc03 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 21:09:41 -06:00
467d22fe44 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-26 21:04:10 -06:00
d7ac977823 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 20:54:03 -06:00
d67e41bc1d refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 20:43:47 -06:00
45a5e7b9aa refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 20:20:44 -06:00
c7870fdab4 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 16:00:37 -06:00
ef98fb7d59 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 15:30:22 -06:00
633e7376f7 unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 15:16:18 -06:00
567756916b unit tests and fixes 2024-12-26 15:15:07 -06:00
934d400cb4 unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-26 13:06:10 -06:00
4fcc2ec076 unit tests and fixes 2024-12-26 12:59:56 -06:00
54bfaf70c4 unit tests and fixes 2024-12-26 12:28:21 -06:00
2632388b91 refactor 2024-12-26 11:22:22 -06:00
0ef364b85f unit tests and fixes 2024-12-26 11:21:37 -06:00
05b61410ca unit tests and fixes 2024-12-26 11:17:39 -06:00
d3e2e768c6 unit test fixes 2024-12-26 10:56:51 -06:00
ac1183589c fixes 2024-12-26 09:56:33 -06:00
89daf1d688 fix 2024-12-26 09:24:53 -06:00
f402f2ef9a fix 2024-12-26 09:18:30 -06:00
4260aa9d9b refactor 2024-12-26 09:00:09 -06:00
ee68904585 fixes 2024-12-26 08:58:49 -06:00
6444b407c1 fix 2024-12-26 08:09:47 -06:00
daabab3a1b refactor 2024-12-26 08:06:22 -06:00
bc0e216b75 refactor direct_open_file 2024-12-26 07:57:59 -06:00
5d3ee92636 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 19:43:38 -06:00
3339658c70 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-25 19:32:55 -06:00
4c72cfe9bf renamed default download type
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 19:29:13 -06:00
7919c514e8 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 17:32:48 -06:00
04166b64cf refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-25 17:29:03 -06:00
561943ddca refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 17:07:12 -06:00
e161113ad5 fix open file data 2024-12-25 17:01:20 -06:00
a0a257fe22 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 12:19:07 -06:00
1d939e69fd refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 12:05:16 -06:00
c4707c2cf7 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-25 11:57:33 -06:00
76a7b3eaf0 refactor 2024-12-25 11:52:05 -06:00
3587b47edd refactor 2024-12-25 11:48:59 -06:00
e569b1dd14 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 22:01:23 -06:00
815d179d82 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-24 21:57:43 -06:00
fb9425381e cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 21:48:40 -06:00
12dfc0ab94 fix 2024-12-24 21:38:44 -06:00
2ce86e1498 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-24 21:34:40 -06:00
aab3d8866e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 21:32:49 -06:00
587c0559b5 refactor 2024-12-24 21:29:14 -06:00
0c31cc217f refactor 2024-12-24 21:27:43 -06:00
b9060328fc fix 2024-12-24 21:25:10 -06:00
8531500d7d refactor 2024-12-24 21:24:01 -06:00
923e3be6a5 fix cache size 2024-12-24 21:23:06 -06:00
9ebfb30871 fix cache size 2024-12-24 21:21:26 -06:00
cd574e85c3 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 14:51:43 -06:00
de30ac5399 allocate after open 2024-12-24 14:51:14 -06:00
d578dbe141 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 14:26:18 -06:00
9ae04b75c6 refactor 2024-12-24 14:24:11 -06:00
80eb1f2a50 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-24 13:59:16 -06:00
12f552b000 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 13:47:43 -06:00
ae5bdb490d fix 2024-12-24 13:46:09 -06:00
dd00ea4439 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-24 13:44:09 -06:00
6af3b30b4c cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 13:30:21 -06:00
dcaa200b67 removed debug logs
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-24 13:28:14 -06:00
02053ad8f2 continue dead-lock fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 13:23:46 -06:00
66df44a8dd continue fixes for dead-lock when max cache size is reached
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-24 11:30:43 -06:00
7ec7544995 partial fixes for dead-lock when max cache size is reached 2024-12-24 11:23:32 -06:00
2a80d4053c troubleshoot deadlock
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-23 12:50:33 -06:00
ac3e7eef61 Complete ring buffer and direct download support #26 2024-12-23 10:06:15 -06:00
63c1b83f18 Complete ring buffer and direct download support #26 2024-12-23 10:04:30 -06:00
a8f16ab89d fix progress 2024-12-23 09:53:46 -06:00
8c412a6cff Complete ring buffer and direct download support #26 2024-12-23 09:42:41 -06:00
29d83fc5e8 Complete ring buffer and direct download support #26 2024-12-23 09:31:36 -06:00
6fe0088c1b Complete ring buffer and direct download support #26 2024-12-23 09:29:43 -06:00
b3f7a9b659 Complete ring buffer and direct download support #26 2024-12-23 09:28:01 -06:00
2d5508eb7c Complete ring buffer and direct download support #26 2024-12-23 09:27:17 -06:00
1a84e507fc Complete ring buffer and direct download support #26 2024-12-23 08:54:01 -06:00
4f419be42d Complete ring buffer and direct download support #26 2024-12-23 08:51:49 -06:00
539d7e8402 Complete ring buffer and direct download support #26 2024-12-23 08:50:45 -06:00
ad22233308 Complete ring buffer and direct download support #26 2024-12-23 08:46:49 -06:00
f344665ddc Complete ring buffer and direct download support #26 2024-12-23 08:43:21 -06:00
8ff90ae769 Complete ring buffer and direct download support #26 2024-12-23 08:35:04 -06:00
2fd0ff8a93 Complete ring buffer and direct download support #26 2024-12-23 08:28:41 -06:00
3c659e57ec Complete ring buffer and direct download support #26 2024-12-23 08:27:37 -06:00
1c2d2cd13c Complete ring buffer and direct download support #26 2024-12-23 08:27:11 -06:00
ce1676f3d3 Complete ring buffer and direct download support #26 2024-12-23 07:53:42 -06:00
75a4676eac ring buffer background reader 2024-12-23 07:46:25 -06:00
0a70469cd0 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 19:06:33 -06:00
13f6c10e6e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 19:00:22 -06:00
73a8b2c9fc cleanup 2024-12-22 18:50:27 -06:00
f22d96df0c refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-22 18:49:14 -06:00
3bdb342d24 ring buffer fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 18:47:20 -06:00
e4a80e22f3 try to fix ring buffer
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 15:57:40 -06:00
5df2a5c3c0 Complete ring buffer and direct download support #26
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 13:45:32 -06:00
9bead305cf Complete ring buffer and direct download support #26 2024-12-22 13:44:50 -06:00
49fa2e6637 Complete ring buffer and direct download support #26 2024-12-22 13:44:22 -06:00
924875d0b2 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 12:54:10 -06:00
18b865bbea ring buffer selection fixes 2024-12-22 12:50:28 -06:00
086feaf7a5 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-22 12:46:06 -06:00
88436c9d1f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 12:43:11 -06:00
b41699af5c ring buffer selection fixes 2024-12-22 12:42:08 -06:00
6886f7d392 refactor 2024-12-22 12:23:06 -06:00
ac66240fac refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 11:46:30 -06:00
9d873c0147 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 11:22:02 -06:00
9489609b61 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 11:15:46 -06:00
57d583d6b5 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 10:49:02 -06:00
8bb179c4dd refactor 2024-12-22 10:46:09 -06:00
a68eb0fadb updated CHANGELOG.md
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-22 10:36:12 -06:00
efe61762b5 unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 10:33:15 -06:00
3b72e971e6 added download type selection 2024-12-22 09:33:33 -06:00
ad01aa72b2 added direct open file 2024-12-22 09:16:55 -06:00
4620dc72fe refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 08:40:25 -06:00
fd18ad9102 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 08:16:36 -06:00
2952cc8373 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 08:14:23 -06:00
ab07d7e192 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 07:32:09 -06:00
fc9624e996 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-22 07:30:08 -06:00
ca7257d7f7 unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-21 17:33:35 -06:00
1511603b6a unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-21 08:35:38 -06:00
1e69f793e2 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-21 06:27:23 -06:00
636f8ec0fb added event for invalid cache shrink 2024-12-21 06:26:50 -06:00
9bb91682da refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 21:42:57 -06:00
b305b9c6f1 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 21:12:06 -06:00
5c7a5daf73 refactor 2024-12-20 21:11:11 -06:00
fe0c687f82 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-20 21:09:09 -06:00
4a203ebf47 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 21:03:16 -06:00
f260f1d50a refactor 2024-12-20 20:57:29 -06:00
d2928e5580 fix meta db
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 20:48:44 -06:00
d908e931b1 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 19:56:07 -06:00
806b129292 cleanup
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-20 19:42:19 -06:00
819459664e cleanup 2024-12-20 19:41:35 -06:00
c6435b026d cleanup 2024-12-20 19:41:01 -06:00
eae1ef32db cleanup 2024-12-20 19:40:02 -06:00
1cc66122df cleanup 2024-12-20 19:37:49 -06:00
cedc425704 cleanup 2024-12-20 19:36:43 -06:00
07d7699ba7 cleanup 2024-12-20 19:36:02 -06:00
c93e6abaa9 cleanup 2024-12-20 19:34:52 -06:00
5753bdba52 cleanup 2024-12-20 19:33:31 -06:00
7910a6b3d0 cleanup 2024-12-20 19:31:10 -06:00
5a054cc9ca refactor app config 2024-12-20 19:12:23 -06:00
4d70adf26e unit tests and fixes 2024-12-20 19:00:54 -06:00
db51ec6489 unit tests and fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-20 18:55:48 -06:00
df60ac8dfc unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-20 18:39:10 -06:00
a9be30e6e7 unit tests and fixes 2024-12-20 18:27:45 -06:00
b65c9d2ab7 unit tests and fixes 2024-12-20 18:24:11 -06:00
f333b74cd1 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-20 18:21:18 -06:00
0a182a87aa refactor 2024-12-20 18:10:17 -06:00
cf0589f6b3 refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-20 17:58:11 -06:00
a72746d491 refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-20 17:55:33 -06:00
a0f6ff6f7d refactor app config 2024-12-20 17:53:18 -06:00
ca6f919664 refactor app config 2024-12-20 17:51:30 -06:00
d2a8aef843 refactor app config
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-20 15:23:03 -06:00
f14b1c7168 refactor app config 2024-12-20 15:13:13 -06:00
0a08914a01 refactor app config 2024-12-20 15:10:38 -06:00
031e8e3495 refactor 2024-12-20 14:49:47 -06:00
62489245cb cleanup 2024-12-20 14:13:55 -06:00
00844cb89c refactor 2024-12-20 14:12:22 -06:00
c943c1ecd7 refactor 2024-12-20 14:03:30 -06:00
74f9364196 fixes 2024-12-20 14:00:08 -06:00
4fd1e7507a fixes 2024-12-20 13:54:36 -06:00
edb57903bc refactor 2024-12-20 13:47:17 -06:00
c8f4af7455 fixes 2024-12-20 13:42:50 -06:00
7a6a7421cd refactor app config 2024-12-20 13:21:35 -06:00
cfa96f2476 refactor app config 2024-12-20 13:14:42 -06:00
1c2759f2d7 refactor app config 2024-12-20 13:12:18 -06:00
2e858bdd5a refactor app config 2024-12-20 08:29:57 -06:00
2c8950d5b4 refactor app config 2024-12-20 08:27:58 -06:00
895464f50d unit tests and fixes 2024-12-20 07:28:56 -06:00
7a69989275 fix 2024-12-19 15:17:05 -06:00
a6bfd2306c fix 2024-12-19 14:22:13 -06:00
447f9a886d refactor 2024-12-19 14:10:00 -06:00
fc2af3f935 refactor 2024-12-19 13:37:32 -06:00
12db0a3753 fix 2024-12-19 13:34:57 -06:00
a3991e7c76 fix 2024-12-19 13:31:57 -06:00
ce0e1358fc refactor 2024-12-19 13:16:13 -06:00
ce2bf344f9 refactor 2024-12-19 13:15:30 -06:00
ebb9f59196 refactor 2024-12-19 13:12:00 -06:00
b03060a00f refactor 2024-12-19 13:11:13 -06:00
39996b2dc8 refactor 2024-12-19 13:10:43 -06:00
3fcb846eca refactor 2024-12-19 13:10:27 -06:00
d66c818c1e refactor 2024-12-19 13:07:57 -06:00
0348492f6c refactor 2024-12-19 13:04:55 -06:00
ead3bcde1a refactor 2024-12-19 13:03:12 -06:00
2ca277ddf7 removed legacy option 2024-12-19 12:58:06 -06:00
274471a066 fix 2024-12-19 12:37:13 -06:00
001f586a24 fix 2024-12-19 12:36:57 -06:00
e2efb78385 fix 2024-12-19 12:36:16 -06:00
5018a192d7 fix 2024-12-19 12:35:35 -06:00
bd821d0a63 refactor 2024-12-19 11:16:25 -06:00
c5e463c366 fix 2024-12-19 11:15:25 -06:00
c46334b046 refactor 2024-12-19 11:13:15 -06:00
146d301002 refactor 2024-12-19 11:11:47 -06:00
e6ad15889e fix 2024-12-19 11:10:12 -06:00
7fb2889c74 refactor 2024-12-19 11:09:48 -06:00
f750a52f75 refactor 2024-12-19 10:36:25 -06:00
cf0ff8cf62 refactor 2024-12-19 10:33:39 -06:00
b7f79c4192 refactor remote mount 2024-12-19 10:31:18 -06:00
ad4e950005 refactor remote mount 2024-12-19 10:29:24 -06:00
18929038fb refactor remote mount 2024-12-19 10:15:47 -06:00
890b3e12dc refactor remote mount 2024-12-19 09:56:12 -06:00
0a45b51760 refactor remote mount 2024-12-19 09:54:29 -06:00
c0a6bde9e5 refactor 2024-12-19 08:36:34 -06:00
e4289295e8 refactor 2024-12-19 08:33:51 -06:00
60b06790a3 refactor 2024-12-19 08:19:09 -06:00
c421e84854 refactor app config 2024-12-19 07:54:00 -06:00
ba5f6a62c8 refactor app config
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-18 20:21:18 -06:00
65b7428bdf [broken build] refactor app_config
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-18 15:12:57 -06:00
f68917c8cc Writes should block when maximum cache size is reached #25 2024-12-18 13:58:20 -06:00
80fd52625e Writes should block when maximum cache size is reached #25 2024-12-18 13:51:16 -06:00
9961cb700e refactor create rocksdb 2024-12-18 12:38:25 -06:00
bb983594d5 refactor create rocksdb 2024-12-18 12:37:00 -06:00
eeea09f65a refactor create rocksdb 2024-12-18 12:34:45 -06:00
95b9464c9f refactor create rocksdb 2024-12-18 12:32:47 -06:00
f1ab604fe9 refactor db directory 2024-12-18 12:24:51 -06:00
d9740445dc refactor db directory 2024-12-18 12:24:02 -06:00
69d44c27cc refactor db directory 2024-12-18 12:22:26 -06:00
f8ded1ecd1 Writes should block when maximum cache size is reached #25 2024-12-18 12:10:52 -06:00
3cae30eedd Writes should block when maximum cache size is reached #25 2024-12-18 12:08:17 -06:00
e34f0efc79 Writes should block when maximum cache size is reached #25 2024-12-18 12:05:51 -06:00
c9ac60a2fc file db unit tests and fixes 2024-12-18 09:12:15 -06:00
8c8d7b3bf9 file db unit tests and fixes 2024-12-18 08:59:14 -06:00
7fa51e906c file db unit tests and fixes 2024-12-18 08:45:32 -06:00
a0d653fff7 file db unit tests and fixes 2024-12-18 08:44:25 -06:00
2df67abffb file db unit tests and fixes 2024-12-18 08:43:42 -06:00
c944039759 file db unit tests and fixes 2024-12-18 08:37:12 -06:00
73d1d993d7 file db unit tests and fixes 2024-12-18 08:23:22 -06:00
efa5e07549 file db unit tests and fixes 2024-12-18 07:43:39 -06:00
72fe3613d3 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-17 17:58:56 -06:00
a936603e37 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-17 17:23:08 -06:00
f5c9fb3842 file db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-17 17:19:22 -06:00
68e76285fe file db unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-17 14:52:17 -06:00
f23f214cfc file db unit tests and fixes 2024-12-17 14:49:03 -06:00
bfd698fd56 file db unit tests and fixes 2024-12-17 14:08:33 -06:00
f6bd64159f file db unit tests and fixes 2024-12-17 14:07:14 -06:00
c22594c6ab encryption provider db unit tests and fixes 2024-12-17 13:46:14 -06:00
5f1d65f1f2 refactor encryption provider db 2024-12-17 11:16:00 -06:00
db0b209ca6 [broken build] refactor encryption provider db 2024-12-17 10:44:29 -06:00
2017897ad6 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-16 15:14:19 -06:00
0d7e6284bc refactor 2024-12-16 15:13:35 -06:00
77d985a483 fix encrypt provider start 2024-12-16 14:56:41 -06:00
f68de677c6 fix encrypt provider start 2024-12-16 14:55:41 -06:00
9d00a87851 fix encrypt provider start 2024-12-16 14:54:59 -06:00
4aebc2502d refactor 2024-12-16 14:31:12 -06:00
f1ca91faf1 refactor 2024-12-16 14:25:16 -06:00
fd1ec1c853 refactor encrypt provider db 2024-12-16 14:24:04 -06:00
575dbcd7f1 refactor encrypt provider db 2024-12-16 13:54:24 -06:00
c420ff1c81 refactor encrypt provider db 2024-12-16 13:52:15 -06:00
9af77225f2 refactor 2024-12-16 10:34:30 -06:00
dbf4a58807 refactor 2024-12-16 10:33:25 -06:00
6b58a0e0f7 refactor 2024-12-16 10:31:46 -06:00
7f044442bc refactor 2024-12-16 10:31:10 -06:00
35e6993629 refactor 2024-12-16 10:30:09 -06:00
f82fbf9b55 refactor 2024-12-16 10:26:31 -06:00
5fcb182cb8 refactor 2024-12-16 10:24:05 -06:00
6fc0085292 refactor 2024-12-16 10:22:49 -06:00
3cee38bf92 refactor 2024-12-16 10:21:54 -06:00
f85d0bd333 refactor 2024-12-16 10:17:42 -06:00
bf66bff7b4 refactor 2024-12-16 09:56:46 -06:00
f5668c82a7 updated build system 2024-12-16 09:53:01 -06:00
595d638ee0 boost 1.87.0 changes 2024-12-16 09:50:34 -06:00
e3bf579fd3 updated build system 2024-12-16 09:05:21 -06:00
fd137cad90 fix 2024-12-16 08:14:10 -06:00
6a9acb20dc refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-12-12 13:16:16 -06:00
29c0a98f01 refactor 2024-12-11 14:58:42 -06:00
b0670976ff refactor 2024-12-11 14:58:18 -06:00
317325aeb8 fix 2024-12-11 14:56:36 -06:00
13ad145811 RocksDB implementations should be transactional #24 2024-12-11 14:02:45 -06:00
12a373324e RocksDB implementations should be transactional #24 2024-12-11 14:02:23 -06:00
45a444eb29 RocksDB implementations should be transactional #24 2024-12-11 13:47:59 -06:00
fe75412dfe RocksDB implementations should be transactional #24 2024-12-11 13:46:53 -06:00
85136c9af2 RocksDB implementations should be transactional #24 2024-12-11 13:32:17 -06:00
5187f32346 RocksDB implementations should be transactional #24 2024-12-11 13:31:16 -06:00
3a62c389ef RocksDB implementations should be transactional #24 2024-12-11 12:06:20 -06:00
48ed06a255 RocksDB implementations should be transactional #24 2024-12-11 11:59:14 -06:00
7d5d52afe3 RocksDB implementations should be transactional #24 2024-12-11 11:36:56 -06:00
bb9892cc84 RocksDB implementations should be transactional #24 2024-12-11 11:35:06 -06:00
f0c774de5a updated CHANGELOG.md
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-10 12:49:30 -06:00
555824d913 refactor 2024-12-10 12:43:49 -06:00
cc1000e73b fix 2024-12-10 12:41:31 -06:00
0d979459a4 make database type configurable 2024-12-10 12:39:35 -06:00
78d7949347 refactor 2024-12-10 12:24:26 -06:00
2fe468826d file manager fixes 2024-12-10 11:12:06 -06:00
8128ac09b3 file manager fixes 2024-12-10 11:08:37 -06:00
3a52dfc4ea file mgr db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-09 14:10:55 -06:00
b8b364f292 file mgr db unit tests and fixes 2024-12-09 13:56:30 -06:00
a995afa6eb file mgr db unit tests and fixes 2024-12-09 13:38:51 -06:00
7415f562ff file mgr db unit tests and fixes 2024-12-09 13:38:05 -06:00
3425619773 file mgr db unit tests and fixes 2024-12-09 13:30:53 -06:00
1e8a351f67 file mgr db unit tests and fixes 2024-12-09 13:22:05 -06:00
2ff18fe98d switch back to rocksdb by default 2024-12-09 11:53:23 -06:00
06380ccc58 updated build system 2024-12-09 11:49:47 -06:00
d93204bfe6 revert rocksdb 2024-12-09 11:47:22 -06:00
3b87050dcb file mgr db unit tests and fixes 2024-12-09 10:52:23 -06:00
6da907910c file mgr db unit tests and fixes 2024-12-09 10:33:46 -06:00
2493a16828 file mgr db unit tests and fixes 2024-12-09 09:39:34 -06:00
1bbe5fbef4 updated build system 2024-12-09 09:37:39 -06:00
8c9c7254b4 file mgr db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-08 20:35:04 -06:00
55a88e7576 file mgr db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-08 12:02:55 -06:00
9c9c7cdf8b file mgr db unit tests and fixes 2024-12-08 11:55:32 -06:00
fa72388a8b file mgr db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-08 11:39:52 -06:00
9eb6a377fd file mgr db unit tests and fixes 2024-12-08 11:39:17 -06:00
7567e3289c refactor file manager db 2024-12-08 10:29:53 -06:00
f276356172 added medium frequency
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-07 13:53:17 -06:00
7d39fc0667 added medium frequency 2024-12-07 13:44:49 -06:00
56350c8704 added medium frequency 2024-12-07 13:44:03 -06:00
7bd31b1c0a added medium frequency 2024-12-07 13:40:11 -06:00
cf5bb87b6c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-07 10:48:39 -06:00
31df328be7 added TaskWaitMillis to config
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-07 10:43:12 -06:00
ff8d037474 removed event
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-07 07:27:10 -06:00
031682051f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-07 07:21:15 -06:00
0e8824a8d2 refactor 2024-12-07 07:13:13 -06:00
f0ddbe7a8c refactor 2024-12-07 07:12:52 -06:00
18c5948e3f use new tasks interface
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-06 17:40:26 -06:00
660bc28f0c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-06 14:31:29 -06:00
9c5166b921 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-06 13:59:34 -06:00
4a7c76cc1c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-06 13:55:05 -06:00
1e2fd53b86 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-05 13:59:40 -06:00
ab09407c3d refactor 2024-12-05 13:26:58 -06:00
9b2310a3e7 refactor 2024-12-05 12:40:41 -06:00
56a56e57c8 meta db unit tests and fixes 2024-12-05 11:09:16 -06:00
7908e7e982 meta db unit tests and fixes 2024-12-05 11:08:53 -06:00
92b32b838c meta db unit tests and fixes 2024-12-05 10:50:59 -06:00
65efa8590f meta db unit tests and fixes 2024-12-05 10:46:30 -06:00
d70aa968d6 meta db unit tests and fixes 2024-12-05 09:15:22 -06:00
591cd0ad2d meta db unit tests and fixes 2024-12-05 09:13:31 -06:00
1bdc78e5e0 meta db unit tests and fixes 2024-12-05 09:08:47 -06:00
7100708dfd meta db unit tests and fixes 2024-12-05 08:34:35 -06:00
08379ea622 meta db unit tests and fixes 2024-12-05 08:08:40 -06:00
161208a1fd meta db unit tests and fixes 2024-12-05 07:00:16 -06:00
3959067f22 meta db unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-04 18:40:50 -06:00
65096f60b1 updates
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-04 17:58:52 -06:00
4b32664e46 meta db unit tests and fixes 2024-12-04 14:53:01 -06:00
cf1ee8db02 meta db unit tests and fixes 2024-12-04 14:44:41 -06:00
89d4b4245d meta db unit tests and fixes 2024-12-04 14:21:03 -06:00
1d7d221da1 meta db unit tests and fixes 2024-12-04 13:56:06 -06:00
b4621f6a4e meta db unit tests and fixes 2024-12-04 13:51:41 -06:00
c6b895ced2 meta db unit tests and fixes 2024-12-04 12:16:42 -06:00
5f51a9384e meta db unit tests and fixes 2024-12-04 12:08:19 -06:00
88736fc58a meta db unit tests and fixes 2024-12-04 11:38:02 -06:00
be96d79281 added rocksdb meta db 2024-12-04 10:11:09 -06:00
2a28eed7e8 added rocksdb 2024-12-04 08:07:37 -06:00
443aaff217 added task scheduler and refactored remove deleted items 2024-12-04 07:38:59 -06:00
b4d3bb083d refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-03 17:39:30 -06:00
b9ce21853f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-03 16:38:38 -06:00
31e20e9af0 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-03 14:32:28 -06:00
cfb7a74841 refactor 2024-12-03 14:28:01 -06:00
c8f2485ff0 refactor meta db to allow alternate implementations 2024-12-03 14:25:35 -06:00
62857e1372 refactor 2024-12-03 14:02:51 -06:00
ae3b592cf6 move event to trace 2024-12-03 10:44:40 -06:00
3365363d23 updated build system 2024-12-03 10:27:46 -06:00
f480720665 refactor 2024-12-03 10:08:19 -06:00
d0a8f9df58 refactor 2024-12-03 10:03:42 -06:00
28dc153822 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-02 19:20:17 -06:00
b265dcf73f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-02 19:18:23 -06:00
4b9b095104 refactor stop 2024-12-02 19:16:52 -06:00
ea8eb53a34 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-02 18:26:14 -06:00
412b807d3f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-02 14:54:58 -06:00
14cbde2586 refactor 2024-12-02 14:37:49 -06:00
429751e1fc refactor 2024-12-02 13:57:25 -06:00
04f50f7453 refactor 2024-12-02 13:56:08 -06:00
3814b9797d refactor 2024-12-02 13:54:02 -06:00
44d810c398 refactor used drive space and get_file_list 2024-12-02 13:46:49 -06:00
c982972ee8 refactor used drive space and get_file_list 2024-12-02 13:45:41 -06:00
cfba3d3082 refactor used drive space and get_file_list 2024-12-02 13:44:04 -06:00
587527e418 evict 0 byte files 2024-12-02 12:12:05 -06:00
bb4a3bc6cb refactor 2024-12-02 12:03:26 -06:00
29615d61eb [bug] Incorrect file size displayed while upload is pending #23 2024-12-02 11:10:40 -06:00
86f910c865 [bug] Incorrect file size displayed while upload is pending #23 2024-12-02 11:05:28 -06:00
2f6a691f65 [bug] Incorrect file size displayed while upload is pending #23 2024-12-02 11:03:25 -06:00
ea59ce6dc3 [bug] Incorrect file size displayed while upload is pending #23 2024-12-02 10:57:56 -06:00
3cbe39784f update
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-01 19:17:00 -06:00
cb2089ccfe updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-01 18:52:39 -06:00
c2bdb884c2 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-01 12:12:28 -06:00
7daec9d0f5 moved to debug
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-12-01 09:18:58 -06:00
a05c642f5e updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-12-01 09:04:57 -06:00
4c70641d8f refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-30 18:57:42 -06:00
e1939d4d11 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-30 17:41:49 -06:00
6da5d9f4f0 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-11-30 17:40:48 -06:00
401344ac5a s3 fixes 2024-11-30 17:40:22 -06:00
329ba1d5e4 s3 fixes 2024-11-30 17:38:24 -06:00
7faf648919 s3 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-30 17:21:41 -06:00
8b5369d120 fix drive space 2024-11-30 16:59:11 -06:00
8af198f7a4 fix drive space 2024-11-30 16:58:26 -06:00
b1735ab0af fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-29 06:47:21 -06:00
1ab36272f6 fuse unit tests and fixes 2024-11-29 06:44:26 -06:00
86e5f0359d revert
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-25 16:44:40 -06:00
ff007bca7f future support 2024-11-24 17:25:05 -06:00
d03e6e8201 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-14 13:25:35 -06:00
d481aeae66 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-14 12:41:21 -06:00
c832d4ce21 updated changelog
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-14 09:54:10 -06:00
a5a0e690ce updates
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-11-14 09:52:47 -06:00
74496016f0 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-14 09:42:42 -06:00
bb8ff0de59 fix aarch64
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-13 17:33:38 -06:00
c66369f302 fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 17:17:32 -06:00
de800f79e9 fuse unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 14:31:53 -06:00
c0111d83ae refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 12:44:11 -06:00
596b171c2c refactor 2024-11-13 12:31:10 -06:00
99785c0b41 refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 12:02:57 -06:00
f2eafe0f14 fuse unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 11:58:30 -06:00
5ea9f27645 fuse unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 10:10:01 -06:00
6300270a21 fuse unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 10:03:10 -06:00
2e587fd897 fuse unit tests and fixes 2024-11-13 09:42:57 -06:00
f022be6fb9 fuse unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-13 08:41:35 -06:00
8ebf66a686 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-11 19:54:56 -06:00
ee695eb738 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-11 18:55:14 -06:00
80d8d6f32f fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-11 18:38:47 -06:00
0b7a9c6a56 fuse unit tests and fixes 2024-11-11 18:05:59 -06:00
54b70f99cc refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-11 14:15:00 -06:00
fe0fef2f21 refactor 2024-11-11 14:12:48 -06:00
1eec19c583 cleanup 2024-11-11 13:59:20 -06:00
6b40658eac refactor 2024-11-11 13:58:47 -06:00
bd836b9ecb fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-11 12:58:02 -06:00
074a026d64 fuse unit tests and fixes 2024-11-10 17:21:57 -06:00
60864649c0 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 17:14:19 -06:00
d2a26f0c09 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 17:10:29 -06:00
74546807f4 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 16:53:00 -06:00
d7d9199f8e fuse unit tests and fixes 2024-11-10 16:33:44 -06:00
77299455f9 fuse unit tests and fixes 2024-11-10 16:32:38 -06:00
0d5ac30e49 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 16:21:26 -06:00
2c55e243f5 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 16:09:31 -06:00
cb2362432e cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 15:48:29 -06:00
9c3e464ce4 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 15:45:25 -06:00
4e8e188d24 fuse unit tests and fixes 2024-11-10 15:18:05 -06:00
e476b4f0c6 fuse unit tests and fixes 2024-11-10 10:26:38 -06:00
eec286845e fuse unit tests and fixes 2024-11-10 10:25:53 -06:00
c276cb8979 fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-10 10:24:13 -06:00
58107e6ed8 fuse unit tests and fixes 2024-11-10 10:18:08 -06:00
eb4c8c6cc0 fuse unit tests and fixes 2024-11-10 10:13:02 -06:00
0f7dfc6ce7 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-09 17:06:08 -06:00
a4693f8acc refactor 2024-11-09 17:02:26 -06:00
fc7c6b9705 fuse unit tests and fixes 2024-11-09 16:58:38 -06:00
43ce2d13ec fuse unit tests and fixes 2024-11-09 16:21:13 -06:00
6f6f8d4d52 temporarily disable sia testing
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-11-09 16:18:38 -06:00
54fdcf6d80 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-09 16:15:00 -06:00
fd46d3ef96 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:56:52 -06:00
2a15d6b4a3 fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:54:34 -06:00
acdc165102 remove tests
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:44:10 -06:00
bb4e3c26f4 unit test fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:39:08 -06:00
8e4a8f0f4b refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:20:02 -06:00
2fd6f68c97 winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 15:14:32 -06:00
f7ca4f8fa3 spelling
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 14:18:30 -06:00
4c3d759837 winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 14:11:44 -06:00
04daf393d7 winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 12:07:00 -06:00
e62477a38e winfsp unit tests and fixes 2024-11-09 12:06:17 -06:00
3338fcf91f winfsp unit tests and fixes 2024-11-09 11:50:27 -06:00
136f76c575 winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 09:36:17 -06:00
b94c124869 winfsp unit tests and fixes 2024-11-09 09:21:52 -06:00
1fe7b68f0e winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 09:19:01 -06:00
3d9ed2dfe8 spelling
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-09 09:17:04 -06:00
c8cc0feae5 winfsp unit tests and fixes 2024-11-09 09:16:17 -06:00
1d53cd8e8b refactor 2024-11-09 07:22:33 -06:00
73ec7f2252 winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-08 14:49:22 -06:00
5450ffc280 winfsp unit tests and fixes 2024-11-08 14:41:59 -06:00
a9125196ce winfsp unit tests and fixes 2024-11-08 14:35:55 -06:00
ab9765582a winfsp unit tests and fixes 2024-11-08 14:27:10 -06:00
060b2b70dc winfsp unit tests and fixes 2024-11-08 13:10:21 -06:00
739a31538f winfsp unit tests and fixes 2024-11-08 13:05:53 -06:00
67595b4d45 winfsp unit tests and fixes 2024-11-08 13:04:15 -06:00
c5003e0ee6 winfsp unit tests and fixes 2024-11-08 13:01:28 -06:00
984657a5dd fix 2024-11-08 12:41:21 -06:00
2930933f19 winfsp unit tests and fixes 2024-11-08 12:37:15 -06:00
72a6f5ae08 refactor 2024-11-08 12:33:38 -06:00
7a96a8cbf3 winfsp unit tests and fixes 2024-11-08 12:32:00 -06:00
0b4befd823 winfsp unit tests and fixes 2024-11-08 12:26:48 -06:00
151b6775b0 winfsp unit tests and fixes 2024-11-08 12:24:01 -06:00
47a6bdbcd2 winfsp unit tests and fixes 2024-11-08 11:53:21 -06:00
20ab95380a winfsp unit tests and fixes 2024-11-08 11:09:03 -06:00
73afdaedb9 winfsp unit tests and fixes 2024-11-08 10:54:23 -06:00
a231c2afaf fuse unit tests and fixes 2024-11-08 10:32:37 -06:00
74109d1195 fuse unit tests and fixes 2024-11-08 10:31:20 -06:00
2bd847b833 winfsp unit tests and fixes 2024-11-08 10:17:43 -06:00
2d74fb30de remote fixes 2024-11-08 09:40:56 -06:00
af339e6086 debugging
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-08 05:55:52 -06:00
ae5c4a11a8 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-07 16:50:31 -06:00
4ce7d76500 refactor 2024-11-07 16:39:13 -06:00
a031f9d867 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-07 14:34:01 -06:00
2f6fa792df refactor 2024-11-07 14:32:57 -06:00
be0f977dc7 refactor 2024-11-07 14:32:12 -06:00
73efae7c2f refactor 2024-11-07 14:31:56 -06:00
6b67cd676d refactor 2024-11-07 14:29:47 -06:00
2db38a87e3 refactor 2024-11-07 14:28:25 -06:00
213511a77d fix 2024-11-07 14:27:13 -06:00
a38a033143 refactor 2024-11-07 14:22:49 -06:00
619d5939b3 refactor 2024-11-07 14:22:03 -06:00
68a26d2bc6 refactor 2024-11-07 14:20:14 -06:00
2661885cf2 refactor 2024-11-07 14:19:26 -06:00
6a820837cc refactor 2024-11-07 14:16:27 -06:00
02b74402f4 refactor 2024-11-07 14:13:30 -06:00
3535a61844 refactor 2024-11-07 14:12:44 -06:00
eb4fe4ff60 refactor 2024-11-07 14:12:17 -06:00
793ec5b4a5 refactor 2024-11-07 14:08:08 -06:00
c14b637536 winfsp unit tests and fixes 2024-11-07 14:06:39 -06:00
489d9b1960 winfsp unit tests and fixes 2024-11-07 12:37:35 -06:00
2f60890d29 winfsp unit tests and fixes 2024-11-07 12:36:24 -06:00
19d4b0a247 winfsp unit tests and fixes 2024-11-07 12:33:15 -06:00
69d190e485 winfsp unit tests and fixes 2024-11-07 12:32:07 -06:00
2df84f53ed winfsp unit tests and fixes 2024-11-07 11:14:38 -06:00
876a1e9cd8 refactor 2024-11-07 09:57:21 -06:00
2945793de9 fix 2024-11-07 09:25:51 -06:00
0de0e511ee winfsp unit tests and fixes 2024-11-07 09:22:24 -06:00
c16d9f9712 winfsp unit tests and fixes 2024-11-07 09:21:00 -06:00
0903d4b83e winfsp unit tests and fixes 2024-11-07 09:17:32 -06:00
0bd1f72017 winfsp unit tests and fixes 2024-11-07 08:56:18 -06:00
7bc1440b8b winfsp unit tests and fixes 2024-11-07 08:31:39 -06:00
9562ac2c62 winfsp unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-06 11:51:39 -06:00
9da78b82f3 debugging
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-05 14:02:30 -06:00
8018ce51a0 winfsp unit tests and fixes 2024-11-05 13:52:05 -06:00
3871e44732 winfsp unit tests and fixes 2024-11-05 13:20:08 -06:00
beb1058a51 winfsp unit tests and fixes 2024-11-05 13:07:50 -06:00
259efff707 winfsp unit tests and fixes 2024-11-05 13:07:22 -06:00
3c4a4d8976 winfsp unit tests and fixes 2024-11-05 13:01:01 -06:00
e3ad402853 winfsp unit tests and fixes 2024-11-05 13:00:34 -06:00
470e7b0b07 winfsp unit tests and fixes 2024-11-05 12:53:19 -06:00
cda89d0588 winfsp unit tests and fixes-support remote mount 2024-11-05 12:46:13 -06:00
f5993d472c winfsp unit tests and fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-11-04 14:17:59 -06:00
0d01862441 winfsp unit tests and fixes 2024-11-04 13:54:04 -06:00
ec2ff87ac7 winfsp unit tests and fixes 2024-11-04 13:43:59 -06:00
fd16a55745 winfsp unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-11-01 09:41:50 -05:00
f1f9e4547d updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-31 17:22:12 -05:00
3238b6d4de fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-31 17:06:43 -05:00
43f0a4b646 fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-31 16:53:04 -05:00
c760b7328b fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-31 16:51:27 -05:00
7d9db55d5d refactor
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-31 16:50:29 -05:00
0741e307cc fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-31 16:49:17 -05:00
38f5374e49 winfsp unit tests and fixes
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-31 14:46:42 -05:00
db1320dd3a updated build system 2024-10-31 14:12:32 -05:00
2f8f38b6a2 winfsp unit tests and fixes 2024-10-31 12:14:09 -05:00
0303dcf16a updated build system 2024-10-31 10:55:31 -05:00
4c4db56a82 winfsp unit tests and fixes 2024-10-31 10:43:41 -05:00
11c58c4afb winfsp unit tests and fixes 2024-10-30 15:28:33 -05:00
07d0eb0616 winfsp unit tests and fixes 2024-10-30 14:56:50 -05:00
7d74d192f9 winfsp unit tests and fixes 2024-10-30 12:37:26 -05:00
da60c39216 winfsp unit tests and fixes 2024-10-30 11:25:08 -05:00
5ca67b28cf winfsp unit tests and fixes 2024-10-30 11:01:45 -05:00
8247669d3b winfsp unit tests and fixes 2024-10-30 09:49:28 -05:00
55762f9c92 winfsp unit tests and fixes 2024-10-30 09:26:45 -05:00
2a1a48bc68 show logging 2024-10-30 07:49:01 -05:00
d5b47a803c winfsp unit tests and fixes 2024-10-29 14:53:30 -05:00
695a7b0195 winfsp unit tests and fixes 2024-10-29 14:45:19 -05:00
ff13142093 winfsp unit tests and fixes 2024-10-29 14:45:05 -05:00
d6aace8c51 winfsp unit tests and fixes 2024-10-29 14:29:10 -05:00
ec2b8e1854 winfsp unit tests and fixes 2024-10-29 14:21:15 -05:00
884d2d6890 winfsp unit tests 2024-10-29 14:15:04 -05:00
72899173a0 fix 2024-10-28 15:15:10 -05:00
79c72d1aef added test 2024-10-28 14:36:38 -05:00
ab0b1b645b fix 2024-10-28 14:20:02 -05:00
7eb12d09f9 fixes 2024-10-28 14:18:24 -05:00
ed8ec257cc fix 2024-10-28 14:09:52 -05:00
c7a28ae526 refactor 2024-10-28 13:57:06 -05:00
c22c68ef28 refactor 2024-10-28 13:51:24 -05:00
d07e1f9cce refactor 2024-10-28 12:50:53 -05:00
158cd55b1a fixes 2024-10-28 12:50:20 -05:00
5fcc59434b refactor 2024-10-28 12:35:46 -05:00
0650790c43 fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-26 21:27:35 -05:00
55debcb643 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-26 21:17:58 -05:00
ded55057cc updated changelog
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-26 21:15:24 -05:00
7cb78cab40 fix 2024-10-26 21:11:20 -05:00
468aba1399 fixes 2024-10-26 20:53:41 -05:00
eba242de7f fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-26 20:39:01 -05:00
fa92540bb9 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-25 18:38:56 -05:00
b508d98dd7 windows fixes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-25 17:42:32 -05:00
4b68e5e4b7 fixes 2024-10-25 13:19:02 -05:00
3f6121839a fix 2024-10-25 12:03:45 -05:00
5e1745ebfb fix 2024-10-25 11:59:29 -05:00
b20bc6c28a refactor 2024-10-25 11:50:19 -05:00
9a1483377c refactor 2024-10-25 11:45:10 -05:00
4c97f6b098 remove logging 2024-10-25 11:37:52 -05:00
f9af43309d fixes 2024-10-25 11:24:47 -05:00
a77fd75687 refactor 2024-10-25 10:18:29 -05:00
f5b4928818 fix windows upload 2024-10-25 10:15:35 -05:00
25d61b5cd4 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-24 20:41:21 -05:00
e65e14f796 fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-24 20:33:20 -05:00
6aea801779 fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-24 20:28:14 -05:00
21fd9fe227 fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-24 20:25:06 -05:00
948b0fdd99 fix
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-24 20:14:43 -05:00
b5cf2de900 refactor 2024-10-24 20:08:40 -05:00
18d05ca635 fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-24 20:07:04 -05:00
b8cd42e235 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-24 19:06:05 -05:00
4e8ff7815e refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-24 19:02:11 -05:00
57b007759e fixes
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-24 19:01:33 -05:00
8692541e7f fuse test fixes 2024-10-24 18:27:36 -05:00
f5b827a039 test fixes 2024-10-24 17:32:07 -05:00
3a79cee2f9 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-24 14:58:06 -05:00
3b68543e32 fix 2024-10-24 14:47:13 -05:00
7c2a245944 fix 2024-10-24 14:42:47 -05:00
56e27e3184 fix 2024-10-24 14:41:45 -05:00
b7c87bed82 refactor 2024-10-24 12:44:52 -05:00
3cfda97c05 refactor 2024-10-24 12:42:56 -05:00
52df12493b refactor 2024-10-24 12:40:30 -05:00
6e7b030afa fix 2024-10-24 08:14:43 -05:00
afeeb97f05 refactor 2024-10-24 08:10:46 -05:00
5f925d3e71 refactor 2024-10-24 08:08:40 -05:00
26e1975edc added winfsp test executable 2024-10-24 08:02:39 -05:00
2169456d6a added winfsp test executable 2024-10-24 07:45:20 -05:00
cca53b2d26 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-23 11:19:59 -05:00
2a6ecf61b2 refactor 2024-10-23 11:13:56 -05:00
18c53fad9a refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-22 19:11:00 -05:00
84fc05acc0 fixes 2024-10-22 19:00:08 -05:00
c960df8f70 refactor
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-22 15:08:50 -05:00
9d0baf30b8 refactor 2024-10-22 15:07:15 -05:00
312e4bc0f1 fix 2024-10-22 15:05:54 -05:00
1d7f5b7ef1 fix 2024-10-22 15:04:38 -05:00
08e381a307 refactor 2024-10-22 15:01:04 -05:00
49e518ac19 refactor 2024-10-22 13:10:01 -05:00
8e2ebf05b8 refactor 2024-10-22 13:06:02 -05:00
924b79add2 refactor 2024-10-22 13:02:17 -05:00
857dcc5535 cleanup 2024-10-22 12:22:58 -05:00
7c0d583435 temp disable drive and provider unit tests 2024-10-22 11:53:24 -05:00
2b6a88f8cb continue refactor drive tests 2024-10-22 10:47:51 -05:00
fbf31c77ed fixes 2024-10-22 10:45:08 -05:00
9c2aa62f1f continue refactor drive tests 2024-10-22 10:36:39 -05:00
b6456abf0d continue refactor drive tests 2024-10-22 10:27:31 -05:00
5138b0d1ab refactor 2024-10-22 09:25:55 -05:00
0f60a5a467 continue refactor drive tests 2024-10-22 09:18:09 -05:00
982e5357a5 continue refactor drive tests 2024-10-22 09:14:33 -05:00
0ad0ff508b continue refactor drive tests 2024-10-22 08:18:53 -05:00
b4d61649cb refactor winfsp test 2024-10-22 08:00:16 -05:00
cdfbaa47b6 grammar 2024-10-21 11:57:38 -05:00
211805e460 updated CHANGELOG.md 2024-10-21 11:55:32 -05:00
841d57cf13 fuse permission fixes 2024-10-21 11:52:21 -05:00
bd25904371 fix 2024-10-21 08:30:26 -05:00
3c001c11ae updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-20 18:48:01 -05:00
1f6036ec18 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-20 12:01:23 -05:00
104e101158 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-19 20:45:55 -05:00
b281b4c105 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-19 20:06:39 -05:00
cf6a370eea updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-19 15:58:51 -05:00
8feb244dc9 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-19 11:39:55 -05:00
f9e2e72d84 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-19 11:34:41 -05:00
32ef8ba3c3 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-19 11:33:28 -05:00
2fb53e34af updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-19 11:10:36 -05:00
c72dec6369 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-18 15:15:27 -05:00
c0b0c5d397 fixes 2024-10-18 14:56:44 -05:00
d34ccc424d refactor 2024-10-18 14:53:31 -05:00
663c89ac53 refactor 2024-10-18 14:30:13 -05:00
414f18a518 fix 2024-10-18 14:28:22 -05:00
9bfdece859 fixes 2024-10-18 14:27:50 -05:00
ad79c5daf5 refactor 2024-10-18 14:22:24 -05:00
48a1bef1ae fix 2024-10-18 13:28:21 -05:00
09cb5d8f19 updated build system 2024-10-18 11:46:59 -05:00
c216df9b73 refactor 2024-10-18 11:38:27 -05:00
a0a5ca3390 refactor 2024-10-18 07:36:52 -05:00
ae0a921ba8 updated build system 2024-10-18 06:50:09 -05:00
3ce03dabf5 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-17 18:49:50 -05:00
4a530c4703 refactor 2024-10-17 18:26:24 -05:00
c9f9c2a24c fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-17 17:13:20 -05:00
cd538566d3 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-17 16:34:32 -05:00
f0fe0a1962 fix 2024-10-17 14:41:01 -05:00
68e3f6fc00 fix 2024-10-17 13:43:45 -05:00
a23adf6db6 fixes 2024-10-17 13:35:00 -05:00
da5752e971 refactor 2024-10-17 13:14:40 -05:00
40682e37c0 refactor 2024-10-17 13:13:13 -05:00
cbd36efd91 refactor 2024-10-17 12:52:40 -05:00
96c712ae9c refactor 2024-10-17 12:51:31 -05:00
28065c2c8e refactor 2024-10-17 12:49:00 -05:00
9677ebb44e disable tests 2024-10-17 12:41:16 -05:00
172ea8bc00 disable tests 2024-10-17 12:40:24 -05:00
d2ec6f1f10 Add support for bucket name in Sia provider #16 2024-10-17 12:37:22 -05:00
bc7a74e432 Add support for bucket name in Sia provider #16 2024-10-17 12:29:46 -05:00
8561278539 fixes 2024-10-17 12:24:11 -05:00
f932799efa refactor 2024-10-17 12:14:31 -05:00
67dedc3fb5 refactor 2024-10-17 11:23:20 -05:00
7120856407 refactor 2024-10-17 11:20:59 -05:00
a1b138ccd1 refactor 2024-10-17 11:19:14 -05:00
d192904f8c updated build system 2024-10-17 11:18:08 -05:00
0bd7070ec5 refactor 2024-10-17 10:21:22 -05:00
63ca3089da updated build system 2024-10-17 10:20:07 -05:00
39d644e115 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-12 17:59:32 -05:00
ac89796d5d updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-12 17:48:29 -05:00
4e1250a832 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-12 17:06:31 -05:00
4049af94dc updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-12 13:17:59 -05:00
ab40037cb4 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-12 13:12:47 -05:00
66305c3c86 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-12 13:06:42 -05:00
989d14072d cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-11 21:29:21 -05:00
21d4f4b78d refactor 2024-10-11 21:27:32 -05:00
94b7950cf1 fix 2024-10-11 21:26:48 -05:00
1fe3f62be4 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-11 21:24:06 -05:00
43df4356b6 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-11 18:11:48 -05:00
5440dd3dac updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-11 18:03:30 -05:00
88718de96e updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-11 16:15:07 -05:00
d8d86f3f0c cleanup 2024-10-11 16:09:40 -05:00
1ff62fb2b5 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-10-11 16:03:42 -05:00
284e2a3ead updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-10-11 15:56:46 -05:00
3c97c2d953 updated build system 2024-10-10 17:58:32 -05:00
196aeae11f update build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-10 15:16:26 -05:00
ba2850ea21 updated build system 2024-10-10 15:07:46 -05:00
1f4872769d updated build system 2024-10-10 14:33:37 -05:00
24c647966b updated build system 2024-10-10 14:22:17 -05:00
d3f3048568 updated build system 2024-10-10 14:20:19 -05:00
ea249723f9 updated build system 2024-10-10 14:10:27 -05:00
52a2df2576 updated build system 2024-10-10 13:36:55 -05:00
6645b322bd updated build system 2024-10-10 12:52:51 -05:00
7a683a46a9 updated build system 2024-10-10 11:37:01 -05:00
cb24252286 updated build system 2024-10-10 11:24:35 -05:00
fff3dc4685 updated build system 2024-10-10 09:57:47 -05:00
9c01d51334 updated build system 2024-10-10 08:30:53 -05:00
9aafb62961 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-09 20:50:08 -05:00
891040479b fix 2024-10-09 20:46:44 -05:00
55bcf082ec fixes 2024-10-09 19:50:05 -05:00
67053645e1 fixes 2024-10-09 19:36:35 -05:00
854caffea8 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-09 16:58:27 -05:00
36e952606b fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-10-09 14:20:50 -05:00
eba93484c1 fix 2024-10-09 14:15:02 -05:00
d09d55951d refactor 2024-10-09 14:08:38 -05:00
b35e100bb2 fix 2024-10-09 14:03:06 -05:00
27b37eb570 refactor 2024-10-09 13:58:41 -05:00
92295506a7 refactor 2024-10-09 13:56:40 -05:00
d20ed07066 fix 2024-10-09 13:41:32 -05:00
3fa16fd846 updated build system 2024-10-09 12:50:41 -05:00
481dfd5ff5 fix 2024-10-09 12:50:17 -05:00
e5a99943a5 fix 2024-10-09 12:23:17 -05:00
dbaf379f19 refactor 2024-10-09 11:32:03 -05:00
e1bd3bb8ec refactor 2024-10-09 11:29:27 -05:00
ca834dd119 refactor 2024-10-09 11:11:07 -05:00
163549098d cleanup 2024-10-09 10:46:22 -05:00
4800db00d9 fix 2024-10-09 10:45:12 -05:00
675707b46c fix 2024-10-09 10:37:43 -05:00
14ebdab034 fix 2024-10-09 10:27:51 -05:00
8541e292cd fix 2024-10-09 09:51:09 -05:00
9adec02640 fix 2024-10-09 09:47:35 -05:00
6a97ad664b fix 2024-10-09 09:18:25 -05:00
8bb291bbd9 updated build system 2024-10-09 09:15:18 -05:00
13a55bff61 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 19:14:39 -05:00
d6efc19ba8 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 18:04:56 -05:00
517e603539 added test 2024-10-08 18:02:02 -05:00
d144101a7e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 17:50:57 -05:00
b84202a689 refactor 2024-10-08 17:45:14 -05:00
572351067c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 17:32:11 -05:00
9a3d6e725e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 17:01:17 -05:00
d6ac8cfeca fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-08 14:26:06 -05:00
e697363574 fix 2024-10-08 14:17:32 -05:00
8cc6868480 fix 2024-10-08 14:15:53 -05:00
37d393c1f9 fix 2024-10-08 13:23:19 -05:00
ec8b7783f3 fix 2024-10-08 13:20:34 -05:00
7b375eb912 fix 2024-10-08 11:22:41 -05:00
ffdea97de3 fix 2024-10-08 11:08:47 -05:00
7c02d79a5c added enhanced where suport 2024-10-08 11:03:38 -05:00
46bbc4bf92 future where support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-07 19:48:26 -05:00
08104c97f7 future where handling
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-07 16:55:44 -05:00
8cf169849c future group support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-03 13:54:48 -05:00
67ac6a6c6e [Unit Test] SQLite mini-ORM unit tests and cleanup #14
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-02 15:16:21 -05:00
ef270887fc [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 15:12:57 -05:00
d61cb3f0f3 [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 15:08:37 -05:00
12d3fbe9a7 [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 14:46:28 -05:00
bf9d6157f5 [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 14:42:42 -05:00
c4d7868381 [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 14:41:21 -05:00
de0a88e45b [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 14:36:02 -05:00
fed4f40cfb [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 14:25:14 -05:00
d1b4aab952 [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-02 13:11:05 -05:00
072a5356b6 fix 2024-10-02 12:25:21 -05:00
781278df06 fix 2024-10-02 11:40:12 -05:00
42a81b1c8e fixes 2024-10-02 11:38:45 -05:00
3e6ed45562 refactor 2024-10-02 11:11:57 -05:00
366fe60e2f fixed log 2024-10-02 10:39:33 -05:00
be30230422 added error handling 2024-10-02 10:39:00 -05:00
a523d1ca66 [Unit Test] SQLite mini-ORM unit tests and cleanup #14
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-10-01 14:21:23 -05:00
62a75bcddd [Unit Test] SQLite mini-ORM unit tests and cleanup #14 2024-10-01 14:10:21 -05:00
bd754a7ee8 fix 2024-10-01 10:16:39 -05:00
ae98d199e7 continue sqlite3 mini-orm 2024-10-01 09:31:20 -05:00
95ff5dd5eb refactor 2024-10-01 08:46:29 -05:00
3f3e9b5735 refactor 2024-10-01 08:45:54 -05:00
82a48fa3b4 continue sqlite3 mini-orm 2024-10-01 08:44:54 -05:00
97ce74b798 sqlite3 mini-orm work 2024-10-01 07:49:42 -05:00
91704df08d fix test
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 20:19:33 -05:00
4add037dc7 fix config
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 20:18:44 -05:00
79314a11b5 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 14:50:52 -05:00
0ff87a0ac3 fix 2024-09-29 14:50:07 -05:00
1aef67368b cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 14:47:58 -05:00
ba2a669be6 fix tests
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 09:56:32 -05:00
fd721c5dc4 [bug] Rename file is broken for files that are existing #19 2024-09-29 09:51:25 -05:00
34070bba89 [bug] Rename file is broken for files that are existing #19 2024-09-29 09:49:28 -05:00
1b1fc0fc09 [bug] Rename file is broken for files that are existing #19
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-29 09:16:37 -05:00
44a1547d2e refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 17:32:22 -05:00
439f9cce3d [bug] Rename file is broken for files that are existing #19 2024-09-28 17:28:47 -05:00
9aecec2d96 updates
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 15:03:45 -05:00
26fffdd3e8 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 15:01:06 -05:00
7bf69ec350 updated changelog
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 13:21:56 -05:00
49f884bb68 [bug] Rename file is broken for files that are existing #19
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-28 13:19:35 -05:00
a58fcc7f14 [bug] Rename file is broken for files that are existing #19
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 13:16:37 -05:00
113b5e7258 updated changelog
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 11:54:50 -05:00
5b337d4c65 updated changelog
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 11:45:35 -05:00
0b80e82721 Add support for bucket name in Sia provider #16
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 09:58:02 -05:00
7e45fa9708 Add support for bucket name in Sia provider #16
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-28 09:54:01 -05:00
aa92f3d401 Add support for bucket name in Sia provider #16
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 09:52:57 -05:00
692c92b0df fix time
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-28 08:26:01 -05:00
51cb2c0b9a refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-27 14:07:13 -05:00
6e52474953 refactor 2024-09-27 14:03:36 -05:00
35db1cd0c4 refactor
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-27 14:01:26 -05:00
739a1103f0 refactor 2024-09-27 13:54:14 -05:00
bb8cbb49f5 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-27 13:36:39 -05:00
3be29f5b73 updated changelog
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-27 09:27:47 -05:00
d944569fb2 updated changelog 2024-09-27 09:27:01 -05:00
3ca27ec566 cleanup
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-27 09:22:17 -05:00
779bfc762e fix times
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-27 09:16:59 -05:00
54828600a8 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-26 20:44:38 -05:00
d5410b88a3 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-26 20:22:14 -05:00
e86d9fd29b updated test
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-26 20:20:33 -05:00
cbebcfae82 fix liunx
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-26 20:17:03 -05:00
3dc16db278 changes
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-09-26 17:05:02 -05:00
e81227e5f7 fixes 2024-09-26 16:16:02 -05:00
fd83c263e1 fix 2024-09-26 15:52:06 -05:00
9ca857c98e fixes 2024-09-26 15:50:37 -05:00
afcba6b086 fix 2024-09-26 15:41:59 -05:00
ef50acc867 fix 2024-09-26 11:43:39 -05:00
f12833f36c refactor 2024-09-26 11:20:07 -05:00
b26788819e fix 2024-09-26 10:47:07 -05:00
f905de7c42 update test 2024-09-26 09:38:55 -05:00
8466a8850f refactor 2024-09-26 09:23:52 -05:00
af8e2cddcb fix time conversion 2024-09-26 09:20:13 -05:00
0089866142 removed test 2024-09-26 09:00:32 -05:00
ca892c7f11 fix tests 2024-09-26 08:46:02 -05:00
2a33000ace refactor 2024-09-26 08:38:41 -05:00
bd8da9b987 Merge branch 'development' of https://git.fifthgrid.com/blockstorage/repertory into development 2024-09-26 08:37:42 -05:00
5bd780ef07 updates
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-25 21:24:56 -05:00
25c445b889 removed is_processing check
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-25 18:47:36 -05:00
ca4111ac77 updated readme 2024-09-25 07:33:56 -05:00
868e8ae124 refactor 2024-09-25 07:18:48 -05:00
51358c7110 remove check for processing 2024-09-25 07:13:11 -05:00
ad97741e1e updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-24 17:03:41 -05:00
5d281e0fd0 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-24 11:04:01 -05:00
c1a1242398 updated build system 2024-09-24 07:44:58 -05:00
5000215973 updated build system 2024-09-24 07:32:27 -05:00
ceda21830f refactor 2024-09-24 07:30:18 -05:00
b80b7b482c refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-23 20:43:50 -05:00
8e41f71e70 refactor 2024-09-23 20:42:46 -05:00
72286c865f revert 2024-09-23 20:42:06 -05:00
2d435457e6 fixes 2024-09-23 20:41:44 -05:00
cef1ff7067 refactor 2024-09-23 20:38:52 -05:00
393dc07de8 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-09-23 20:35:45 -05:00
49f0425e56 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-23 20:34:27 -05:00
7973e523c3 refactor 2024-09-23 20:24:49 -05:00
c4326520cd refactor 2024-09-23 20:22:43 -05:00
dfb9d78448 clean cache directory 2024-09-23 20:08:35 -05:00
26714a836c added failure event
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-16 11:17:59 -05:00
59e2986080 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-16 11:15:34 -05:00
65fc484fa4 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-14 19:31:21 -05:00
253978bc5f update 2024-09-14 19:12:42 -05:00
4aad60f69d fallback to stat
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-09-09 15:05:04 -05:00
72f7aaf9e4 move events to debug 2024-09-06 12:15:17 -05:00
d12b5f7b05 fix 2024-09-06 11:24:50 -05:00
a7239558bd new_build_system (#18)
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
Reviewed-on: #18
2024-09-06 15:05:48 +00:00
9d3e4b8767 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-05 19:51:50 -05:00
cbb99c7b47 fixes 2024-08-05 19:50:48 -05:00
dca0752189 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-05 19:38:13 -05:00
760a1e4322 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 19:51:35 -05:00
56bc78f63c updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-04 19:18:39 -05:00
60b89c5c08 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 19:12:42 -05:00
fa0f648a0b cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 18:34:15 -05:00
5592c663a4 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 17:06:00 -05:00
c847353baf updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 16:58:28 -05:00
a140f59acb updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 14:11:39 -05:00
b2eae73fb0 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 13:57:00 -05:00
a34dc8f1f8 updated build system 2024-08-04 13:38:48 -05:00
92e2937a6b updated build system 2024-08-04 13:29:19 -05:00
47757f69bd updated build system 2024-08-04 13:27:55 -05:00
b642294193 updated build system 2024-08-04 13:21:29 -05:00
8075af364f updated build system 2024-08-04 13:18:42 -05:00
3d7285063a updated build system 2024-08-04 13:13:45 -05:00
232420621a updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-04 13:12:16 -05:00
a0432be819 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 12:42:23 -05:00
468093227d updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-04 12:31:36 -05:00
32facdc2ff updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 11:02:17 -05:00
3a719272cb updated build system 2024-08-04 10:37:31 -05:00
9ce4c5a494 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-04 10:30:49 -05:00
15cc7b0b87 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-04 09:55:01 -05:00
6d152181d3 fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-08-03 16:11:25 -05:00
97082fa42c fixes 2024-08-03 16:09:14 -05:00
becd137cf5 updated build system 2024-08-03 15:55:38 -05:00
89fc0fb372 fixes
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 15:50:16 -05:00
68d79c73cf updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-03 14:10:15 -05:00
d0e9ed4181 fix 2024-08-03 14:00:14 -05:00
535d2f85ca updated build system 2024-08-03 13:54:18 -05:00
5ec20fbcbd updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 13:44:02 -05:00
0225fb8e5d updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-03 12:24:22 -05:00
035f830b71 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 12:15:08 -05:00
7a1fb4a790 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-08-03 11:00:57 -05:00
4939b05ca7 updated build system 2024-08-03 10:57:56 -05:00
2e1f0c8f5f updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 10:55:25 -05:00
d8ac596687 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-08-03 10:33:39 -05:00
1f43ab3bcc updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 10:28:17 -05:00
ef9fbf775c fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-03 07:37:32 -05:00
d6ff728a4d updated build system 2024-08-03 07:33:30 -05:00
f6ea8f077b updated build system 2024-08-03 07:28:10 -05:00
3e96764fc4 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-03 07:20:37 -05:00
45b21ae0af updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-03 07:19:32 -05:00
490e49406f updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-03 00:04:04 -05:00
36e7d06b39 updated build system 2024-08-03 00:02:12 -05:00
b26b52fd2d updated build system 2024-08-02 23:28:33 -05:00
b35041f1f3 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 23:27:05 -05:00
bf7ba3991f updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 23:11:38 -05:00
30806c6ebd updated build system 2024-08-02 23:07:48 -05:00
29af6e5b7c updated build system 2024-08-02 23:02:32 -05:00
cde0e92591 updated build system 2024-08-02 22:58:05 -05:00
85b28f7ee3 cleanup 2024-08-02 22:45:35 -05:00
df24b99303 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 22:41:42 -05:00
d659a5e04d updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-08-02 22:34:01 -05:00
99c0246720 updated build system 2024-08-02 21:41:44 -05:00
c0dba76ecd fixes 2024-08-02 21:30:17 -05:00
e37a375c18 fix 2024-08-02 21:01:21 -05:00
6718eb374d fix 2024-08-02 20:59:41 -05:00
bba7f10703 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build started...
2024-08-02 19:46:19 -05:00
df947db055 updated build system 2024-08-02 19:43:21 -05:00
256e873e7b updated build system 2024-08-02 19:42:49 -05:00
34bc3b759e updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 19:42:05 -05:00
853aa2784c updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 19:23:42 -05:00
4011ab8080 fix 2024-08-02 19:21:05 -05:00
07eaad7226 update 2024-08-02 18:59:30 -05:00
c743d3c341 updated build system 2024-08-02 18:57:35 -05:00
05a5645f4c update 2024-08-02 18:52:33 -05:00
7aa71fb202 updated build system 2024-08-02 18:52:00 -05:00
6410faa5b4 update
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 18:45:52 -05:00
a3e578240b updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 18:45:17 -05:00
dd492ff52d updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 17:18:09 -05:00
e7b576bc45 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 16:33:52 -05:00
7fcc40d0e1 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 16:22:46 -05:00
e6fc6093b2 added test 2024-08-02 16:10:07 -05:00
73ee70a862 fix 2024-08-02 16:04:04 -05:00
b647053fb9 updated build system 2024-08-02 15:43:36 -05:00
d518e55a67 updated build system 2024-08-02 15:34:01 -05:00
fcd38db2ef updated build system 2024-08-02 15:22:01 -05:00
89cd8c8fd0 test fixes 2024-08-02 15:10:59 -05:00
88c7e7f192 fixs 2024-08-02 14:55:29 -05:00
a00e77d554 refactor 2024-08-02 14:54:29 -05:00
05d5bd9fe5 fixes 2024-08-02 14:46:01 -05:00
e14e7e96c7 updated build system 2024-08-02 14:39:45 -05:00
4b8ac300c8 update 2024-08-02 14:23:36 -05:00
ee9c5fffad fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 14:15:56 -05:00
55caf049b1 updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 14:09:57 -05:00
4bdaeaa30d refactor 2024-08-02 14:09:20 -05:00
7c58d9c569 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 14:06:25 -05:00
d6b2c1d81e updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 14:02:14 -05:00
4a2acf99a7 updated build system 2024-08-02 13:14:29 -05:00
3567941139 updated build system 2024-08-02 13:10:05 -05:00
50e7fb612c refactor 2024-08-02 13:08:03 -05:00
03dd9ee579 refactor 2024-08-02 13:05:15 -05:00
2a3c6f3522 updated build system 2024-08-02 13:01:00 -05:00
2e46f2fead cleanup 2024-08-02 12:59:29 -05:00
b00b72d70f updated build system 2024-08-02 12:58:44 -05:00
7dbaf9b8d9 updated build system 2024-08-02 12:57:40 -05:00
6b463adbb9 updated build system 2024-08-02 12:53:12 -05:00
cb819d7da6 updated build system 2024-08-02 12:51:39 -05:00
841ba37841 updated build system 2024-08-02 12:50:19 -05:00
7cfefbc512 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 12:47:29 -05:00
9ebba7252c updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 12:37:55 -05:00
835c56330a update
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 12:19:01 -05:00
3e5c70e6b4 refactor 2024-08-02 12:15:15 -05:00
95b88b6ac6 updated build system 2024-08-02 12:11:45 -05:00
c1f39afaa3 updated build system 2024-08-02 12:10:55 -05:00
1893f7204e refactor 2024-08-02 12:05:51 -05:00
4a062abfde updated build system 2024-08-02 12:03:33 -05:00
fb26aa04b6 updated build system 2024-08-02 12:01:25 -05:00
7c538b471d updated build system 2024-08-02 11:56:58 -05:00
c4c1941fc8 updated build system 2024-08-02 11:46:51 -05:00
0ce2be24a3 updated build system 2024-08-02 11:44:51 -05:00
3cf60d0d26 updated build system 2024-08-02 11:34:45 -05:00
7d33ee80d0 update 2024-08-02 11:32:54 -05:00
52ba2de51f refactor 2024-08-02 11:31:59 -05:00
a1b8b57d34 cleanup
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-08-02 11:30:12 -05:00
cf9e0a356c updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-08-02 11:25:14 -05:00
e66b783df8 updated build system 2024-08-02 11:24:30 -05:00
b695200123 updated build system 2024-08-02 11:14:44 -05:00
a383fb405e updated build system 2024-08-02 11:14:28 -05:00
1cebaf83e1 updated build system 2024-08-02 10:57:34 -05:00
4976825bd6 updated build system 2024-08-02 10:56:40 -05:00
098d172f40 updated build system 2024-08-02 10:53:11 -05:00
f4a3c52428 refactor 2024-08-02 10:29:31 -05:00
2d60b637ec refactor 2024-08-02 10:00:14 -05:00
79b16d9a34 refactor 2024-08-02 09:58:16 -05:00
d69f2fd321 refactor 2024-08-02 09:52:12 -05:00
4015c1bb6e refactor 2024-08-02 09:50:53 -05:00
9f76f20ea8 refactor 2024-08-02 09:32:26 -05:00
b399ff3291 refactor 2024-08-02 09:30:41 -05:00
4fafc17b90 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-28 13:31:30 -05:00
f1bb88624b updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-28 12:40:51 -05:00
f950e3192f updated build system 2024-07-28 12:33:26 -05:00
bef2f078e0 updated build system 2024-07-28 12:10:26 -05:00
218053a2be updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-07-28 11:50:19 -05:00
baca904079 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-28 11:48:01 -05:00
b5175cb82b updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-28 09:52:58 -05:00
39888a1ebc updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-28 09:27:35 -05:00
ffea22c71b updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 16:31:45 -05:00
dd15bb2205 updated build system 2024-07-27 15:54:01 -05:00
4b53b5544f updated build system 2024-07-27 15:53:45 -05:00
24ca2d3531 updated build system 2024-07-27 15:27:36 -05:00
5587e3430b updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-07-27 15:15:05 -05:00
0c36669fef updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 15:10:30 -05:00
bbce86cb9d updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 11:24:19 -05:00
ed3a45bfc6 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 10:22:56 -05:00
144fd59c1c updated build system 2024-07-27 10:17:14 -05:00
bdc54d7115 updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-07-27 10:11:59 -05:00
aa04371663 updated build system
Some checks reported errors
BlockStorage/repertory/pipeline/head Something is wrong with the build of this commit
2024-07-27 10:00:59 -05:00
78ef412516 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 09:32:01 -05:00
28f7f5cb14 cleanup
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 09:17:34 -05:00
624b92bc97 enable backward-cpp for test 2024-07-27 09:14:51 -05:00
ca799298f4 switch to backward-cpp 2024-07-27 09:13:43 -05:00
42b67a7b61 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 09:00:11 -05:00
4de4386142 fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-27 08:42:14 -05:00
509eeca760 fix test dir
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-07-27 08:38:50 -05:00
1cb9663776 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-07-27 08:36:59 -05:00
26667fdcd6 fix
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-07-27 08:28:23 -05:00
681a3eec53 fixes 2024-07-27 08:23:20 -05:00
2a5df890f7 fix sign 2024-07-27 08:13:23 -05:00
ae0059591c fix directory caching 2024-07-27 08:12:43 -05:00
8655becf1e fix directory caching 2024-07-27 07:54:46 -05:00
2a3a0aa689 refactor
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 17:11:48 -05:00
ce417ec7c8 fix
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-07-26 17:08:49 -05:00
4e848a998e fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 16:56:58 -05:00
d89f35775e fix crash
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 16:54:01 -05:00
88ebf72003 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 15:15:28 -05:00
9437b175a2 updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 15:08:41 -05:00
302d73a078 unmount if initilization fails 2024-07-26 14:54:05 -05:00
ba7c36e30e updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 14:43:06 -05:00
b4da43c87f added override.sh support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 12:28:21 -05:00
f5e078ea3d updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 12:21:42 -05:00
8aba39c955 optional stack trace support
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 09:23:21 -05:00
68a5f90715 added cpptrace 2024-07-26 08:07:10 -05:00
f3dfadddfa added cpptrace 2024-07-26 07:54:29 -05:00
f1ec1fd4a6 format log message
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-26 07:22:15 -05:00
cf59db9cee fix logging
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-25 20:42:57 -05:00
e21fbe84ba fix
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-25 19:02:34 -05:00
1e4d675f76 added todo
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-25 15:02:26 -05:00
e02fe870e9 fix 2024-07-25 14:58:16 -05:00
9ef9250c18 moved event to debug 2024-07-25 14:46:51 -05:00
2e4b9d3787 added flush policy 2024-07-25 14:43:16 -05:00
fd2b3c3239 fix 2024-07-25 14:38:27 -05:00
6640394bd3 fix 2024-07-25 14:21:20 -05:00
84cc726c4f don't register loggers 2024-07-25 14:18:31 -05:00
5d99d21915 refactor 2024-07-25 13:58:27 -05:00
3b8636544a refactor logging 2024-07-25 13:55:30 -05:00
14ce60ab65 fix 2024-07-25 13:38:37 -05:00
7506431b34 fix 2024-07-25 13:31:48 -05:00
8621209eb3 fix 2024-07-25 13:30:48 -05:00
d1fe317fb9 refactor console consumer 2024-07-25 13:24:54 -05:00
a5c47d3f22 updated build system 2024-07-25 13:01:03 -05:00
267c272ce5 changed thread count 2024-07-25 12:31:12 -05:00
7a8ae32b85 refactor 2024-07-25 12:30:16 -05:00
921d404a5a switch to spdlog 2024-07-25 12:28:47 -05:00
de6a7beb5e refactor 2024-07-25 12:17:12 -05:00
5a928208fd added spdlog 2024-07-25 10:55:48 -05:00
92fc163341 fix 2024-07-25 10:47:26 -05:00
ca1e03f3ea logging changes 2024-07-25 10:46:29 -05:00
de8c3ad603 fix 2024-07-25 10:27:25 -05:00
f7d56bdd48 refactor 2024-07-25 10:19:50 -05:00
afc13b45f4 refactor 2024-07-25 10:16:17 -05:00
11d2c3c69e updated build system 2024-07-25 09:31:01 -05:00
356521e176 updated build system 2024-07-25 09:26:32 -05:00
468668e518 updated build system 2024-07-25 07:21:01 -05:00
e53dec7bab updated build system 2024-07-25 07:09:45 -05:00
26cd6de110 updated build system 2024-07-25 06:58:50 -05:00
d1157ca261 updated build system 2024-07-25 06:50:56 -05:00
0d49b49482 updated build system 2024-07-25 06:49:11 -05:00
753820bd81 updated build system 2024-07-25 06:45:38 -05:00
2a98e44a5c updated build system 2024-07-25 06:37:36 -05:00
9650d3f56b updated build system
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-24 19:38:51 -05:00
aff308f67d updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
2024-07-24 19:35:43 -05:00
be76d663b5 update
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-07-24 18:27:10 -05:00
160863561f updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
2024-07-23 11:49:23 -05:00
de02fdb812 updated build system 2024-07-23 10:57:31 -05:00
1dda98e337 fix test data location 2024-07-23 09:20:56 -05:00
ccc6afdfa4 updated build system 2024-07-23 09:14:36 -05:00
6b166551af updated build system 2024-07-23 09:11:01 -05:00
90694f816f updated build system 2024-07-23 08:15:44 -05:00
51636fbac3 fix 2024-07-23 08:00:48 -05:00
3c7aa417a9 updated build system 2024-07-23 07:51:09 -05:00
04d560739d updated build system 2024-07-23 07:48:34 -05:00
2c1842f06c updated build system 2024-07-23 07:13:55 -05:00
aba487277c updated build system 2024-07-22 15:26:32 -05:00
1b95d5dfed updated build system 2024-07-22 15:19:43 -05:00
7590fc4f45 fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory/pipeline/head This commit looks good
2024-07-17 17:27:48 -05:00
a409408ac0 fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-07-17 17:21:27 -05:00
b121c9778f fix 2024-07-17 17:19:30 -05:00
d452761ff9 fix permissions
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-07-17 17:08:38 -05:00
dbc5725779 fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-07-17 13:58:31 -05:00
8b6536c55b fix 2024-07-17 13:57:08 -05:00
c7318b0383 const refactor 2024-07-17 13:53:56 -05:00
26fa85e421 updated build system 2024-07-17 12:28:20 -05:00
939742a991 updated build system 2024-07-17 12:22:44 -05:00
6ab7386a79 updated build system 2024-07-17 09:18:04 -05:00
a750cdc3cb updated build system 2024-07-17 09:02:14 -05:00
2f8af0fb08 updated build system 2024-07-17 08:59:06 -05:00
7a9802ccb7 updated build system 2024-07-17 08:05:37 -05:00
d356d04bf5 updated build system 2024-07-17 07:54:51 -05:00
c99c4988ff fix 2024-07-16 14:29:02 -05:00
6c564eb98b updated version.rc 2024-07-16 14:28:17 -05:00
786d8634cf updated build system 2024-07-16 14:17:00 -05:00
70b5204a9f updated build system 2024-07-16 14:00:12 -05:00
1d70309a16 updated build system 2024-07-16 13:50:25 -05:00
b2aba8c447 updated build system 2024-07-16 13:19:07 -05:00
8757b47b35 updated build system 2024-07-16 13:04:21 -05:00
b1a7632536 updated readme 2024-07-16 10:58:53 -05:00
97c73d5358 fix 2024-07-16 10:52:42 -05:00
bb3f05aef1 fix 2024-07-16 10:50:46 -05:00
2001ffc27c fix 2024-07-16 09:51:46 -05:00
bd2dd4035e isolate test directory 2024-07-16 09:46:13 -05:00
7eb793f577 fix test 2024-07-16 09:27:26 -05:00
b05cedb509 refactor 2024-07-16 09:17:59 -05:00
cd484aa7bb isolate test directory 2024-07-16 09:16:59 -05:00
fbfb528adc fix 2024-07-16 09:01:05 -05:00
d9cba7f4cc fix 2024-07-16 08:58:22 -05:00
7d5c5e18c6 isolate test directory 2024-07-16 08:54:41 -05:00
2c0935a771 isolate test directory 2024-07-16 08:13:13 -05:00
5312797b97 refactor 2024-07-16 08:04:49 -05:00
801af6b799 fix test 2024-07-16 07:52:49 -05:00
b42379b519 updated script 2024-07-16 07:51:35 -05:00
8b328b92b1 added post_build.sh 2024-07-16 07:49:16 -05:00
2e6ecf8ddb added test data to distribution 2024-07-16 07:48:13 -05:00
12c7c48b20 updated build system 2024-07-15 13:22:06 -05:00
732a42a073 refactor preprocessor directives 2024-07-15 13:19:27 -05:00
5638d5c010 fix 2024-07-15 13:12:14 -05:00
6a984ac84c refactor proprocessor directives 2024-07-15 12:20:15 -05:00
c1eb6b94ed updated build system 2024-07-15 11:11:11 -05:00
85135b9267 updated build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-07-11 20:38:02 -05:00
670c5bac17 updated build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-07-11 20:27:02 -05:00
2dab1426b4 fix permissions
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-07-11 19:54:31 -05:00
43004b19c3 updated build system
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-07-11 14:10:43 -05:00
4044d95aaa updated build system 2024-07-11 13:56:36 -05:00
c6024c06ce fix 2024-07-11 13:01:06 -05:00
e56bcb6489 updated build system 2024-07-11 12:31:50 -05:00
d9e0164080 updated build system 2024-07-11 11:42:06 -05:00
b588cd645e updated build system 2024-07-11 09:28:07 -05:00
2c163d7219 updated build system 2024-07-11 09:25:32 -05:00
39c53fe903 updated public key 2024-07-11 09:12:49 -05:00
7b12d8f9e9 updated build system 2024-07-11 07:42:28 -05:00
4649f66c00 updated build system 2024-07-11 07:35:44 -05:00
9648abf4b9 fix
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-07-10 15:16:18 -05:00
cc1246d0f5 moved version.rc.in 2024-07-10 14:59:33 -05:00
726aa43a95 fix 2024-07-10 14:56:09 -05:00
224f983ca8 fix 2024-07-10 14:48:31 -05:00
f962884341 updated build system 2024-07-10 14:46:17 -05:00
6f35cc8bfa remove unused file 2024-07-10 10:14:25 -05:00
c08c9bc216 updated build system 2024-07-09 15:04:45 -05:00
239652be7c updated build system 2024-07-09 14:58:56 -05:00
68c9ec0f82 updated build system 2024-07-09 14:28:39 -05:00
da07122997 updated build system 2024-07-09 13:30:49 -05:00
5fb66dc6ee updated build system 2024-07-09 13:25:46 -05:00
0c414fc8a6 updated build system 2024-07-09 13:12:02 -05:00
097507a2d9 version handling 2024-07-09 12:38:10 -05:00
466b3fcead update build system 2024-07-09 12:22:47 -05:00
81dc6d1269 updated build system 2024-07-09 12:09:52 -05:00
b6c020d35d updated build system 2024-07-09 11:42:30 -05:00
dfbe97988f fixes 2024-07-09 08:37:31 -05:00
cd36679a1c update build system 2024-06-27 12:12:09 -05:00
4d555bce96 updated build system 2024-06-27 12:04:37 -05:00
d96c6012c5 update build system 2024-06-27 08:33:54 -05:00
15793e714d update build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 20:17:07 -05:00
437cb94dda fix
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 18:32:21 -05:00
544765e408 refactor 2024-06-07 18:27:29 -05:00
472b1f0da1 fix data directory
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
2024-06-07 18:20:55 -05:00
867b2eee40 added back s3 enable/disable option
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 18:04:33 -05:00
5a30b15d1e update build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 16:15:22 -05:00
0f2c507c30 fix
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 16:09:46 -05:00
c545916332 update build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 14:42:23 -05:00
ac81f5f624 fix
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 11:48:28 -05:00
50ae7ab558 updated build system 2024-06-07 11:36:15 -05:00
a5e29ed745 build script changes 2024-06-07 11:26:37 -05:00
6d29170342 removed temporary scripts 2024-06-07 11:25:39 -05:00
410314022f updated build system
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
2024-06-07 10:01:58 -05:00
815e00d389 updated cmake
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 09:37:09 -05:00
fbf5455f89 renamed project 2024-06-07 09:34:44 -05:00
8925704555 build system update
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-07 09:32:43 -05:00
462365dc97 updated build system
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-06 18:22:05 -05:00
e73dd52973 updated changelog
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-06-06 14:32:36 -05:00
881eec4e02 updates 2024-06-06 14:31:41 -05:00
bcdfc73767 remove rc 2024-06-06 14:26:16 -05:00
0520aa3d40 fixes 2024-06-06 14:24:28 -05:00
c562d17b78 update 2024-06-06 14:19:30 -05:00
aee68520b3 move to new build system 2024-06-06 14:17:47 -05:00
88d8bf63f5 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-04-21 14:25:00 -05:00
303887ea37 update
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-03-15 18:06:27 -05:00
51d3d33175 changed sqlite db options
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-03-11 09:15:46 -05:00
cdb5ea279d cleanup
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-02-08 22:12:20 -06:00
311e1b318a updated mingw64 docker 2024-02-08 22:06:54 -06:00
31c5b6f1db Merge branch 'development' of https://git.fifthgrid.com/blockstorage/repertory into development
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-02-05 07:21:45 -06:00
a024f81e5d fix runaway thread
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2024-02-03 10:41:38 -06:00
4089fca87c msys2 support 2024-01-30 13:23:14 -06:00
99533a9687 revert
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2024-01-29 11:36:26 -06:00
d175a38ad1 revert
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 11:30:39 -06:00
28e918be18 fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 11:22:41 -06:00
b4403ff959 Merge branch 'development' of ssh://git.fifthgrid.com:3022/blockstorage/repertory into development
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 11:20:47 -06:00
8c548bad92 Merge branch 'development' of ssh://git.fifthgrid.com:3022/blockstorage/repertory into development 2024-01-29 11:18:24 -06:00
6ecad9af72 fix windows build
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2024-01-29 10:54:57 -06:00
df73f9a18f fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 09:48:02 -06:00
9b453327a8 fix download path
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 08:00:50 -06:00
071552ffd5 updated zlib
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2024-01-29 07:57:33 -06:00
33a0b4b295 fix unittests link on mingw64
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2024-01-27 12:34:43 -06:00
21bcd0780c fix unittests build on mingw64 2024-01-27 12:31:21 -06:00
f6cdf2914c mingw64 build fixes 2024-01-27 12:21:37 -06:00
7698a62c1f updated mingw64 build 2024-01-27 11:51:35 -06:00
2ae22cdb30 fixes
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-22 21:44:52 -06:00
7705432820 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-20 13:13:52 -06:00
f150832676 default to release 2023-12-20 12:12:22 -06:00
80c9375d65 fix 2023-12-20 12:05:59 -06:00
48ddff9e85 default to release 2023-12-20 11:59:41 -06:00
6f64fe02d5 address compiler warning 2023-12-18 09:15:28 -06:00
61ab4d8d58 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-15 18:52:14 -06:00
3bb962a266 cleanup
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-15 18:46:35 -06:00
c286dc4f5c refactoring
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-15 18:35:07 -06:00
9d36ded2b3 fix
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-15 18:30:33 -06:00
71686405e0 refactoring
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-12-15 17:58:49 -06:00
34c4a9c508 refactoring
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-15 09:01:45 -06:00
effafd3e91 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-14 13:51:48 -06:00
5a61bdf2b0 fix compiler warnings
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-14 13:45:08 -06:00
d21fcfd1c6 windows compiler warnings
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-14 09:37:58 -06:00
fff9a27362 cleanup
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
2023-12-14 09:17:15 -06:00
ad7872a0e3 refactor
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-14 09:11:49 -06:00
f3ea2ccc21 fix warnings 2023-12-14 09:06:30 -06:00
e959a9e795 fix 2023-12-14 09:00:21 -06:00
3fe5eac56d fix 2023-12-14 08:58:33 -06:00
67191be78d fix encryption provider 2023-12-14 08:55:04 -06:00
00cfb67b64 fix file read 2023-12-14 08:46:44 -06:00
35aa8f5a94 fix scripts
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-13 20:12:18 -06:00
f44972b8b3 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-13 15:32:30 -06:00
94675a3011 refactor 2023-12-13 15:22:19 -06:00
7112fbee7e refactor 2023-12-13 15:21:21 -06:00
ff13633962 refactor 2023-12-13 14:57:08 -06:00
cb93e34de0 refactor 2023-12-13 14:53:39 -06:00
883968f53e refactor 2023-12-13 14:50:19 -06:00
d6d4b579c9 fix encryption provider 2023-12-13 13:34:21 -06:00
0e83d84360 fix encription provider 2023-12-13 10:02:05 -06:00
63a6b3bdba address windows compiler warnings
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-12 14:48:52 -06:00
aafa7e112a fix 2023-12-12 13:14:59 -06:00
804eb7aa5a fix 2023-12-12 13:11:46 -06:00
eeba641732 windows build script 2023-12-12 13:06:31 -06:00
932ea6cb1d fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-10 20:04:49 -06:00
dd4724e374 refactor
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-12-10 19:40:38 -06:00
e652c9956e address warnings
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-12-10 17:02:02 -06:00
d11767776e fix
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 16:59:48 -06:00
daefa58c0c code reorg
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-12-10 16:53:54 -06:00
7fe7299e7c refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-10 16:21:01 -06:00
0af9c6e8b0 updated json
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-10 14:27:34 -06:00
b9c2113d43 test refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 14:09:53 -06:00
4fd23de9b6 prepare for 2024
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 14:06:54 -06:00
3b372ebe86 prepare for 2024 2023-12-10 14:06:17 -06:00
d14d149a3b fix test 2023-12-10 14:03:09 -06:00
44acf7dace fix test 2023-12-10 14:02:10 -06:00
da7efdb1a8 cleanup
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 13:41:18 -06:00
444f39f9ff refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 13:38:44 -06:00
fd9c26f016 updated changelog
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 13:03:22 -06:00
7ef9f5cd65 removed binaries
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-12-10 13:02:10 -06:00
d3321b3c57 updated changelog 2023-12-10 12:22:34 -06:00
bbe546008f updated version
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-10 12:19:55 -06:00
5ec91e2d20 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-12-01 11:12:58 -06:00
fbe4df0251 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 17:36:26 -06:00
e5c690eb89 added curl error event
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 16:30:09 -06:00
aeedd114a6 refactoring
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 16:07:16 -06:00
dfa5e0e005 unit tests and fixes
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 13:32:06 -06:00
5911d370e5 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 13:15:16 -06:00
baf769c462 close all files in background
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 13:10:32 -06:00
33e8e0890b test fixes
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 12:54:00 -06:00
e2e82edefb script changes 2023-11-30 10:52:11 -06:00
da1b5c6953 refactor boost build
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 10:44:40 -06:00
629725e262 build fixes
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-30 10:40:29 -06:00
6ba4c0091b fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-30 09:24:51 -06:00
99d5261aab updates 2023-11-30 09:19:09 -06:00
97487cf0c4 updates 2023-11-30 09:18:10 -06:00
8436f2e2bb refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-19 18:02:28 -06:00
310e436163 fix crash
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-19 17:58:51 -06:00
b64477fd7e updated CHANGELOG.md
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-19 11:43:06 -06:00
782da43114 updated CHANGELOG.md
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-19 11:40:40 -06:00
37854b693b refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-19 00:19:28 -06:00
7360b72c7b fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 23:54:51 -06:00
6f68f268c0 fix
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 23:54:13 -06:00
983587aeb7 fix deadlock
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 23:53:03 -06:00
ee415d2e4a refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 23:01:49 -06:00
0c075d7fe4 fix
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 22:55:50 -06:00
eec3653c6b refactor
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 22:47:07 -06:00
5ac2a24611 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 20:05:34 -06:00
144683d7b3 cleanup
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 19:23:52 -06:00
9c917a9119 enable s3 test
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 19:08:14 -06:00
dc48b84191 fix truncate
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 19:07:53 -06:00
8555d31ddf refactor
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-18 18:19:57 -06:00
cb0dde2a80 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 17:38:48 -06:00
5f5b1f751b fix
Some checks reported errors
BlockStorage/repertory_osx_builds/pipeline/head Something is wrong with the build of this commit
BlockStorage/repertory_linux_builds/pipeline/head Something is wrong with the build of this commit
2023-11-18 17:18:03 -06:00
24c5dad929 fix lib64 directory issue 2023-11-18 17:14:38 -06:00
f0046fcd57 updated ignore list 2023-11-18 17:04:10 -06:00
3c3e415175 refactor 2023-11-18 17:03:42 -06:00
00d3355f43 updated openssl 2023-11-18 16:56:37 -06:00
907a14faff fix tests
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 16:34:40 -06:00
4348e89f99 refactor tests
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-18 15:34:43 -06:00
7a24cc54f8 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-16 08:08:03 -06:00
80f6e3c272 extract common behavior
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-15 20:54:28 -06:00
edb1297c4a fix boost version
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-15 19:56:44 -06:00
1ee157f943 switch to storj for binary hosting
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-15 19:17:21 -06:00
1b2981b06e removed logs
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 20:34:43 -06:00
7203fefd33 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 20:28:47 -06:00
d808b2dd19 refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 20:09:50 -06:00
ee34a1e361 extract common behavior
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 19:49:46 -06:00
1766f91697 extract common behavior
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 18:35:18 -06:00
b3aa28d085 refactor
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-14 18:26:00 -06:00
a605d7af11 Merge branch 'development' of ssh://git.fifthgrid.com:3022/BlockStorage/repertory into development
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-14 18:24:27 -06:00
19b1a33c48 extract common behavior 2023-11-14 18:20:11 -06:00
04aa511448 Address compiler warnings #10
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 19:44:58 -06:00
8dc3d4466b refactor 2023-11-12 19:43:52 -06:00
0716a58ff0 Address compiler warnings #10
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 19:36:00 -06:00
60052081b4 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 14:36:02 -06:00
f11d49b264 fix test
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-12 14:34:58 -06:00
103dae6d08 unit tests and fixes
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-12 14:33:19 -06:00
821ed7b25e fix test 2023-11-12 14:27:11 -06:00
87f83b6f30 fix test
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 14:08:02 -06:00
ace81d797e cleanup 2023-11-12 14:01:53 -06:00
57ca2c7c6d refactor
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 12:41:18 -06:00
8360d9e045 extract common behavior
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 12:36:44 -06:00
560ffbbb6a fix events
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-12 11:49:03 -06:00
72314606f3 extract common behavior 2023-11-12 11:45:54 -06:00
db009b69dd fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-11 21:24:15 -06:00
3ed99dc0ce cleanup
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-11 21:17:07 -06:00
762a7c99d5 refactor s3 provider
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-11 21:15:08 -06:00
4e62156b70 added read retry to s3 provider
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-11 21:04:21 -06:00
cc49536755 fix
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-11 20:33:57 -06:00
54b844dc3b fix
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
2023-11-11 20:24:21 -06:00
1e8ba13f66 s3 provider fixes
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 20:21:12 -06:00
93011cee9c refactor s3 provider
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 19:05:27 -06:00
a474a5c73c refactor s3 provider
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 18:49:15 -06:00
17b98ca99d refactor
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 18:31:49 -06:00
281eedb71e refactor s3 provider
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 16:42:38 -06:00
1ee533591c refactor s3 provider
Some checks failed
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-11-11 16:28:00 -06:00
b87e1df140 refactor s3 provider 2023-11-11 15:35:35 -06:00
f88239a13e updated changelog 2023-11-11 11:52:19 -06:00
68476cbc00 refactor s3 provider 2023-11-11 11:32:14 -06:00
f2c1f64f02 Address compiler warnings #10
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-08 19:53:12 -06:00
a7209184c8 changed number of jobs
All checks were successful
BlockStorage/repertory_osx_builds/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-11-01 13:59:36 -05:00
ba59e29499 fix build
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory/pipeline/head There was a failure building this commit
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
2023-10-31 16:03:03 -05:00
f94196d865 Address compiler warnings #10
Some checks failed
BlockStorage/repertory_osx/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 19:33:18 -05:00
bb5a9f9737 fix
Some checks failed
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx/pipeline/head There was a failure building this commit
2023-10-30 19:08:35 -05:00
4bc5cf7c64 [require c++20] [moved to stduuid]
Some checks failed
BlockStorage/repertory_osx/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head Build started...
2023-10-30 19:03:12 -05:00
639d14452b Address compiler warnings #10
Some checks failed
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-10-30 13:31:52 -05:00
e7413fb741 Address compiler warnings #10
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 12:06:07 -05:00
c0e720498d Address compiler warnings #10
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 11:49:56 -05:00
383c3b4be6 Address compiler warnings #10 [Wconversion] 2023-10-30 11:41:45 -05:00
e9b202f5c8 \#10 Address compiler warnings
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 11:07:42 -05:00
bc3005a6a4 \#10 Address compiler warnings 2023-10-30 10:59:04 -05:00
8cf19e0594 \#10 Address compiler warnings 2023-10-30 10:54:35 -05:00
b137b57dbc \#10 Address compiler warnings 2023-10-30 10:36:31 -05:00
5dff8927da build win32 last
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 10:04:00 -05:00
197e79dd07 fix mingw64 jenkins build
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-30 10:02:55 -05:00
6262aca761 cmake build cleanup
Some checks failed
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-10-29 20:38:13 -05:00
c156ae704b cmake build refactor
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
2023-10-29 20:21:37 -05:00
a67979ec40 cleanup build
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
2023-10-29 20:05:38 -05:00
54bfc11620 fix erroneous nodiscard
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
2023-10-29 19:45:21 -05:00
d33c2cd3a2 removed msvc compilation support
Some checks are pending
BlockStorage/repertory_linux_builds/pipeline/head Build queued...
BlockStorage/repertory_osx/pipeline/head Build queued...
2023-10-29 19:40:29 -05:00
3a5f428fb6 [boost to v1.83.0] [curl to v8.4.0] [libsodium to v1.0.19] [rocksdb to v8.6.7]
Some checks reported errors
BlockStorage/repertory_windows/pipeline/head Something is wrong with the build of this commit
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head There was a failure building this commit
2023-10-29 19:26:09 -05:00
0331152569 add zlib as project dependency
All checks were successful
BlockStorage/repertory_windows/pipeline/head This commit looks good
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-29 19:12:16 -05:00
1b7e854f5f added zlib
All checks were successful
BlockStorage/repertory_windows/pipeline/head This commit looks good
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-29 19:05:40 -05:00
12a945d863 updated version
All checks were successful
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_windows/pipeline/head This commit looks good
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
2023-10-29 01:59:00 -05:00
474 changed files with 5873 additions and 18242 deletions

View File

@ -3,7 +3,6 @@ _mkgmtime
_sh_denyno
_sh_denyrd
_sh_denyrw
_spawnv
aarch64
advapi32
armv8
@ -27,7 +26,6 @@ cppvsdbg
create_notraverse
crypto_aead_xchacha20poly1305_ietf_npubbytes
cstdint
curlopt_aws_sigv4
cxxflags
cxxstd
d_largefile64_source
@ -115,7 +113,6 @@ googletest
gpath
gtest_version
has_setxattr
hkey
httpapi
httplib
icudata
@ -123,7 +120,6 @@ icui18n
icuuc
iostreams
iphlpapi
ipstream
jthread
libbitcoin
libbitcoinsystem
@ -131,7 +127,6 @@ libcurl
libdsm
libevent
libexample
libexpat
libfuse3
libgmock
libgtest
@ -144,13 +139,10 @@ libuuid
libuuid_include_dirs
libvlc
linkflags
localappdata
lpbyte
lptr
lpwstr
markdownlint
mbig
minio
msvc
msvcr120
msys2
@ -158,18 +150,14 @@ mtune
musl-libc
nana
ncrypt
nlohmann
nlohmann_json
nmakeprg
nohup
nominmax
ntstatus
nullptr
nuspell_version
oleaut32
openal_version
openssldir
pistream
pkgconfig
plarge_integer
plex
@ -199,7 +187,6 @@ secp256k1
secur32
sfml_project
shlwapi
skynet
source_subdir
spdlog
spdlog_project
@ -211,7 +198,6 @@ stduuid_project
strequal
ularge_integer
uring
url
userenv
utimens_impl
utimensat

4
.gitattributes vendored
View File

@ -1,4 +0,0 @@
*.tgz filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
*.tar.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@ -1,81 +1,14 @@
# Changelog
## v2.0.5-rc
### Issues
* \#39 Create management portal in Flutter
### Changes from v2.0.4-rc
* Continue documentation updates
* Fixed `-status` command erasing active mount information
* Fixed overlapping HTTP REST API port's
* Refactored/fixed instance locking
* Removed passwords and secret key values from API calls
* Renamed setting `ApiAuth` to `ApiPassword`
* Require `--name,-na` option for encryption provider
## v2.0.4-rc
### BREAKING CHANGES
* `renterd` v2.0.0+ is now required. Prior versions will fail to mount.
<!-- markdownlint-disable-next-line -->
### Issues
* \#35 [bug] Low frequency check is set to '0' instead of 1 hour by default
* \#36 [bug] Max cache size bytes is set to '0' by default
### Changes from v2.0.3-rc
* Added Sia API version check prior to mounting
* Added back `-cv` (check version) CLI option
* Continue documentation updates
* Fixed setting `ApiAuth` via `set_value_by_name`
* Fixed setting `HostConfig.ApiUser` via `set_value_by_name`
* Fixed setting `HostConfig.Path` via `set_value_by_name`
* Fixed setting `HostConfig.Protocol` via `set_value_by_name`
* Improved ring buffer read-ahead
* Integrated `renterd` version 2.0.0
* Prefer using local cache file when opening files
* Refactored `app_config` unit tests
* Refactored polling to be more accurate on scheduling tasks
## v2.0.3-rc
<!-- markdownlint-disable-next-line -->
### Issues
* \#28 \[bug\] Address slow directory responses in S3 mounts for deeply nested directories
* \#29 \[bug\] S3 error responses are not being logged
* \#30 \[bug\] Sia provider error responses are not logged
* \#31 \[bug\] S3 provider should limit max key size to 1024
### Changes from v2.0.2-rc
* Always use direct for read-only providers
* Fixed externally removed files not being processed during cleanup
* Fixed http headers not being added for requests
* Fixed incorrect `stat` values for remote mounts
* Fixed invalid directory nullptr error on remote mounts
* Fixed memory leak in event system
* Refactored application shutdown
* Refactored event system
* Updated build system to Alpine 3.21.0
* Updated build system to MinGW-w64 12.0.0
* Updated copyright to 2018-2025
## v2.0.2-rc
### BREAKING CHANGES
* Refactored `config.json` - will need to verify configuration settings prior to mounting
<!-- markdownlint-disable-next-line -->
### Issues
* \#12 \[Unit Test\] Complete all providers unit tests
* \#14 \[Unit Test\] SQLite mini-ORM unit tests and cleanup
* \#16 Add support for bucket name in Sia provider
* \#17 Update to common c++ build system
@ -94,6 +27,7 @@
* Ability to choose between RocksDB and SQLite databases
* Added direct reads and implemented download fallback
* Comprehensive WinFSP and FUSE unit tests, including remote testing
* Corrected file times on S3 and Sia providers
* Corrected handling of `chown()` and `chmod()`
* Fixed erroneous download of chunks after resize

View File

@ -3,10 +3,6 @@ cmake_minimum_required(VERSION 3.27)
cmake_policy(SET CMP0135 NEW)
cmake_policy(SET CMP0144 NEW)
if (NOT PROJECT_INTERFACE)
message(FATAL_ERROR "Project must be compiled via 'make_win32.cmd'/'make_win32.sh' or 'make_unix.sh' build scripts. Invoking 'cmake' directly is not supported.")
endif()
project(${PROJECT_NAME}
DESCRIPTION ${PROJECT_DESC}
HOMEPAGE_URL ${PROJECT_URL}
@ -58,10 +54,6 @@ if(PROJECT_IS_MINGW)
endif()
endif()
if (PROJECT_ENABLE_V2_ERRORS)
add_definitions(-DPROJECT_ENABLE_V2_ERRORS)
endif()
include(cmake/settings.cmake)
include(cmake/flags.cmake)
@ -147,7 +139,6 @@ endif()
-DPROJECT_COPYRIGHT=${PROJECT_COPYRIGHT}
-DPROJECT_DESC=${PROJECT_DESC}
-DPROJECT_DIST_DIR=${PROJECT_DIST_DIR}
-DPROJECT_ENABLE_V2_ERRORS=${PROJECT_ENABLE_V2_ERRORS}
-DPROJECT_ENABLE_WIN32_LONG_PATH_NAMES=${PROJECT_ENABLE_WIN32_LONG_PATH_NAMES}
-DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST}
-DPROJECT_ENABLE_CPP_HTTPLIB=${PROJECT_ENABLE_CPP_HTTPLIB}
@ -167,7 +158,6 @@ endif()
-DPROJECT_FUSE=${PROJECT_FUSE}
-DPROJECT_FUSE_INCLUDE_DIRS=${PROJECT_FUSE_INCLUDE_DIRS}
-DPROJECT_GIT_REV=${PROJECT_GIT_REV}
-DPROJECT_INTERFACE=1
-DPROJECT_IS_ALPINE=${PROJECT_IS_ALPINE}
-DPROJECT_IS_ARM64=${PROJECT_IS_ARM64}
-DPROJECT_IS_MINGW=${PROJECT_IS_MINGW}

View File

@ -1,5 +1,5 @@
# Repertory MIT License
### Copyright <2018-2025> <scott.e.graves@protonmail.com>
### Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

462
README.md
View File

@ -1,456 +1,110 @@
# Repertory
Repertory allows you to mount S3 and Sia via FUSE on Linux or via WinFSP
Repertory allows you to mount AWS S3 and Sia via FUSE on Linux ~~/OS X~~ or via WinFSP
on Windows.
## Contents
1. [Details and Features](#details-and-features)
2. [Minimum Requirements](#minimum-requirements)
1. [Supported Operating Systems](#supported-operating-systems)
3. [GUI](#gui)
4. [Usage](#usage)
1. [Important Options](#important-options)
2. [Sia](#sia)
* [Sia Initial Configuration](#sia-initial-configuration)
* [Sia Mounting](#sia-mounting)
* [Sia Configuration File](#sia-configuration-file)
3. [S3](#s3)
* [S3 Initial Configuration](#s3-initial-configuration)
* [S3 Mounting](#s3-mounting)
* [S3 Configuration File](#s3-configuration-file)
5. [Data Directories](#data-directories)
1. [Linux Directories](#linux-directories)
2. [Windows Directories](#windows-directories)
6. [Remote Mounting](#remote-mounting)
1. [Server Setup](#server-setup)
* [Remote Mount Configuration File Section](#remote-mount-configuration-file-section)
2. [Client Setup](#client-setup)
* [Client Remote Mounting](#client-remote-mounting)
* [Remote Mount Configuration File](#remote-mount-configuration-file)
7. [Compiling](#compiling)
1. [Linux Compilation](#linux-compilation)
2. [Windows Setup](#windows-compilation)
8. [Credits](#credits)
9. [Developer Public Key](#developer-public-key)
10. [Consult the Wiki for additional information](https://git.fifthgrid.com/BlockStorage/repertory/wiki)
## Details and Features
* Optimized for [Plex Media Server](https://www.plex.tv/)
* Remote mounting of `repertory` instances on Linux and Windows
* Securely share your mounts over TCP/IP via `XChaCha20-Poly1305` with other systems on your network or over the internet.
* Cross-platform support (Linux 64-bit, Linux arm64/aarch64, Windows 64-bit)
* Optionally encrypt file names and file data via `XChaCha20-Poly1305` in S3 mounts
* Single application to mount AWS S3 and/or Sia
* Remote mounting of Repertory instances on Linux ~~, OS X~~ and Windows
* Securely share your mounts over TCP/IP (`XChaCha20-Poly1305` stream cipher)
* Cross-platform support (Linux 64-bit, Linux arm64/aarch64, ~~OS X,~~ Windows 64-bit)
## Minimum Requirements
* [Sia renterd](https://github.com/SiaFoundation/renterd/releases) v2.0.0+ for Sia support
* Linux requires `fusermount3`; otherwise, `repertory` must be manually compiled with `libfuse2` support
* Windows requires the following dependencies to be installed:
* [WinFSP 2023](https://github.com/winfsp/winfsp/releases/download/v2.0/winfsp-2.0.23075.msi)
* [Sia renterd](https://github.com/SiaFoundation/renterd/releases) v0.4.0+ for Sia support
* Only 64-bit operating systems are supported
* By default, Linux requires `fusermount3`; otherwise, `repertory` must be manually compiled with `libfuse2` support
* ~~OS X requires the following dependency to be installed:~~
* ~~[FUSE for macOS v4.5.0](https://github.com/osxfuse/osxfuse/releases/download/macfuse-4.5.0/macfuse-4.5.0.dmg)~~
* Windows requires the following dependencies to be installed:
* [WinFSP 2023](https://github.com/winfsp/winfsp/releases/download/v2.0/winfsp-2.0.23075.msi)
### Supported Operating Systems
Only 64-bit operating systems are supported
## Supported Operating Systems
* Linux `arm64/aarch64`
* Linux `amd64`
* ~~OS X Mojave and above~~
* Windows 64-bit 10, 11
## GUI
As of `v2.0.5-rc`, mounts can be managed using the `Repertory Management Portal`.
To launch the portal, execute the following command:
* `repertory -ui`
* The default username is `repertory`
* The default password is `repertory`
After first launch, `ui.json` will be created in the appropriate data directory.
See [Data Directories](#data-directories).
You should modify this file directly or use the portal to change the default
username and password.
### Screenshot
<a href="https://ibb.co/fVyJqnbF"><img src="https://i.ibb.co/fVyJqnbF/repertory-portal.png" alt="repertory-portal" border="0"></a>
## Usage
### Important Options
### Notable Options
* `-dc`
* Display mount configuration.
* For Sia, `--name` is optional
* For S3, the `-s3` option is required along with `--name`
* `--help`
* Display all mount utility options
* `-f`
* Keep process in foreground on Linux.
* Display all mount utility options.
* `--name, -na [name]`
* Identifies a unique configuration name to support multiple mounts.
* The `--name` option can be set to any valid value allowed as a file name for your filesystem.
* For Sia, the bucket name will be set to the same value if it is empty in the configuration file.
* If the `--name` option is not specified, `default` will be used.
* For S3, the `--name` option is required and does not affect the bucket name.
* `-dc`
* Display mount configuration
* For Sia, `--name` is optional
* For S3, the `-s3` option is required along with `--name`
* `-set SiaConfig.Bucket`
* Set Sia bucket name for the mount.
* Can be used in combination with `--name` to target a unique configuration.
* `-set S3Config.Bucket`
* S3 bucket name for the mount.
* Must be used in combination with `--name` to target a unique configuration.
* Must be used in combination with `-s3`.
### Sia
#### Sia Initial Configuration
* Required steps:
* Set the appropriate bucket name and `renterd` API password in `repertory` configuration:
* To use `default` as the bucket name and configuration name, you only need to set the `renterd` API password:
* `repertory -set HostConfig.ApiPassword '<my password>'`
* To specify a different bucket name while using `default` as the configuration name:
* `repertory -set HostConfig.ApiPassword '<my password>'`
* `repertory -set SiaConfig.Bucket '<my bucket>'`
* For all other configurations:
* `repertory --name '<my config name>' -set HostConfig.ApiPassword '<my password>'`
* `repertory --name '<my config name>' -set SiaConfig.Bucket '<my bucket name>'`
* Optional steps:
* Set a user name used during `renterd` basic authentication:
* `repertory -set HostConfig.ApiUser '<my user>'`
* `repertory --name '<my config name>' -set HostConfig.ApiUser '<my user>'`
* Set a custom agent string (default `Sia-Agent`):
* `repertory -set HostConfig.AgentString '<my agent>'`
* `repertory --name '<my config name>' -set HostConfig.AgentString '<my agent>'`
* Set the host name or IP of the `renterd` instance (default `localhost`):
* `repertory -set HostConfig.HostNameOrIp '<my host name>'`
* `repertory --name '<my config name>' -set HostConfig.HostNameOrIp '<my host name>'`
* Set the `renterd` API port (default `9980`):
* `repertory -set HostConfig.ApiPort 9981`
* `repertory --name '<my config name>' -set HostConfig.ApiPort 9981`
* To verify/view all configuration options:
* `repertory -dc`
* `repertory --name '<my config name>' -dc`
* Example:
* `repertory --name default -dc`
#### Sia Mounting
* Linux:
* Linux
* `repertory /mnt/location`
* `repertory --name '<my config name>' /mnt/location`
* Example:
* `repertory --name default /mnt/location`
* Windows:
* `repertory t:`
* `repertory --name '<my config name>' t:`
* Example:
* `repertory --name default t:`
#### Sia Configuration File
```json
{
"ApiPassword": "<random generated rpc password>",
"ApiPort": 10000,
"ApiUser": "repertory",
"DatabaseType": "rocksdb",
"DownloadTimeoutSeconds": 30,
"EnableDownloadTimeout": true,
"EnableDriveEvents": false,
"EventLevel": "info",
"EvictionDelayMinutes": 1,
"EvictionUseAccessedTime": false,
"HighFreqIntervalSeconds": 30,
"HostConfig": {
"AgentString": "Sia-Agent",
"ApiPassword": "<renterd api password>",
"ApiPort": 9980,
"ApiUser": "",
"HostNameOrIp": "localhost",
"Path": "",
"Protocol": "http",
"TimeoutMs": 60000
},
"LowFreqIntervalSeconds": 3600,
"MaxCacheSizeBytes": 21474836480,
"MaxUploadCount": 5,
"MedFreqIntervalSeconds": 120,
"OnlineCheckRetrySeconds": 60,
"PreferredDownloadType": "default",
"RemoteMount": {
"ApiPort": 20000,
"ClientPoolSize": 20,
"Enable": false,
"EncryptionToken": ""
},
"RetryReadCount": 6,
"RingBufferFileSize": 512,
"SiaConfig": {
"Bucket": "default"
},
"TaskWaitMs": 100,
"Version": 1
}
```
* `repertory --name default /mnt/location`
* Windows
* `repertory.exe t:`
* `repertory.exe --name default t:`
### S3
#### S3 Initial Configuration
* Required steps:
* Set the appropriate base URL:
* `repertory -s3 --name '<my config name>' -set S3Config.URL '<my url>'`
* Example:
* `repertory -s3 --name minio -set S3Config.URL 'http://localhost:9000'`
* Set the appropriate bucket name:
* `repertory -s3 --name '<my config name>' -set S3Config.Bucket '<my bucket name>'`
* Set the appropriate access key:
* `repertory -s3 --name '<my config name>' -set S3Config.AccessKey '<my access key>'`
* Set the appropriate secret key:
* `repertory -s3 --name '<my config name>' -set S3Config.SecretKey '<my secret key>'`
* For Sia and most local S3 gateway instances, enable path style URL's:
* `repertory -s3 --name '<my config name>' -set S3Config.UsePathStyle true`
* Optional steps:
* Set an appropriate region. Default is set to `any`:
* `repertory -s3 --name '<my config name>' -set S3Config.Region '<my region>'`
* Enable encrypted file names and file data. Set a strong, random encryption token and be sure to store it in a secure backup location:
* `repertory -s3 --name '<my config name>' -set S3Config.EncryptionToken '<my strong password>'`
* To verify/view all configuration options:
* `repertory -s3 --name '<my config name>' -dc`
* Example:
* `repertory -s3 --name minio -dc`
#### S3 Mounting
* Linux:
* `repertory -s3 --name '<my config name>' /mnt/location`
* Example:
* `repertory -s3 --name minio /mnt/location`
* Windows:
* `repertory -s3 --name '<my config name>' t:`
* Example:
* `repertory -s3 --name minio t:`
#### S3 Configuration File
```json
{
"ApiPassword": "<random generated rpc password>",
"ApiPort": 10100,
"ApiUser": "repertory",
"DatabaseType": "rocksdb",
"DownloadTimeoutSeconds": 30,
"EnableDownloadTimeout": true,
"EnableDriveEvents": false,
"EventLevel": "info",
"EvictionDelayMinutes": 1,
"EvictionUseAccessedTime": false,
"HighFreqIntervalSeconds": 30,
"LowFreqIntervalSeconds": 3600,
"MaxCacheSizeBytes": 21474836480,
"MaxUploadCount": 5,
"MedFreqIntervalSeconds": 120,
"OnlineCheckRetrySeconds": 60,
"PreferredDownloadType": "default",
"RemoteMount": {
"ApiPort": 20100,
"ClientPoolSize": 20,
"Enable": false,
"EncryptionToken": ""
},
"RetryReadCount": 6,
"RingBufferFileSize": 512,
"S3Config": {
"AccessKey": "<my access key>",
"Bucket": "<my bucket name>",
"EncryptionToken": "",
"Region": "any",
"SecretKey": "<my secret key>",
"TimeoutMs": 60000,
"URL": "http://localhost:9000",
"UsePathStyle": true,
"UseRegionInURL": false
},
"TaskWaitMs": 100,
"Version": 1
}
```
### Data Directories
#### Linux Directories
* `~/.local/repertory2/s3`
* `~/.local/repertory2/sia`
#### Windows Directories
* `%LOCALAPPDATA%\repertory2\s3`
* `%LOCALAPPDATA%\repertory2\sia`
* Examples:
* `C:\Users\Tom\AppData\Local\repertory2\s3`
* `C:\Users\Tom\AppData\Local\repertory2\sia`
* IMPORTANT:
* It is highly recommended to exclude this folder from any anti-virus/anti-malware applications as severe performance issues may arise.
* Excluding the mounted drive letter is also highly recommended.
## Remote Mounting
`repertory` allows local mounts to be shared with other computers on your network
or over the internet. This option is referred to as remote mounting.
### Server Setup
The following steps must be performed on the mount you wish to share with
other systems. Changes to configuration will not take affect while a mount is
active, so it is recommended to unmount beforehand.
* Required steps:
* Enable remote mount:
* Sia
* `repertory -set RemoteMount.Enable true`
* `repertory --name '<my config name>' -set RemoteMount.Enable true`
* S3:
* `repertory -s3 --name '<my config name>' -set RemoteMount.Enable true`
* Set a secure encryption token:
* Sia:
* `repertory -set RemoteMount.EncryptionToken '<my secure password>'`
* `repertory --name '<my config name>' -set RemoteMount.EncryptionToken '<my secure password>'`
* S3:
* `repertory -s3 --name '<my config name>' -set RemoteMount.EncryptionToken '<my secure password>'`
* Optional steps:
* Change the port clients will use to connect to your mount:
* Sia:
* `repertory -set RemoteMount.ApiPort 20000`
* `repertory --name '<my config name>' -set RemoteMount.ApiPort 20000`
* S3:
* `repertory -s3 --name '<my config name>' -set RemoteMount.ApiPort 20000`
* IMPORTANT:
* Be sure to configure your firewall to allow incoming TCP connections on the port configured in `RemoteMount.ApiPort`.
#### Remote Mount Configuration File Section
```json
{
...
"RemoteMount": {
"ApiPort": 20000,
"ClientPoolSize": 20,
"Enable": true,
"EncryptionToken": "<my secure password>"
},
...
}
```
### Client Setup
Client configuration is provider agnostic, so there's no need to specify `-s3`
for S3 providers.
* Required steps:
* Set the encryption token to the same value configured during server setup:
* `repertory -rm <host name or IP>:<port> -set RemoteConfig.EncryptionToken '<my secure password>'`
* Replace `<host name or IP>` with the host name or IP of the server
* Replace `<port>` with the value of `RemoteMount.ApiPort` used in the server configuration
* Example:
* `repertory -rm 192.168.1.10:20000 -set RemoteConfig.EncryptionToken '<my secure password>'`
* `repertory -rm my.host.com:20000 -set RemoteConfig.EncryptionToken '<my secure password>'`
#### Client Remote Mounting
* Linux:
* `repertory -rm <host name or IP>:<port> /mnt/location`
* Example:
* `repertory -rm 192.168.1.10:20000 /mnt/location`
* Windows:
* `repertory -rm <host name or IP>:<port> t:`
* Example:
* `repertory -rm 192.168.1.10:20000 t:`
#### Remote Mount Configuration File
```json
{
"ApiPassword": "<random generated rpc password>",
"ApiPort": 10010,
"ApiUser": "repertory",
"EnableDriveEvents": false,
"EventLevel": "info",
"RemoteConfig": {
"ApiPort": 20000,
"EncryptionToken": "<my secure password>",
"HostNameOrIp": "192.168.1.10",
"MaxConnections": 20,
"ReceiveTimeoutMs": 120000,
"SendTimeoutMs": 30000
},
"TaskWaitMs": 100,
"Version": 1
}
```
* Linux
* `repertory --name storj -s3 /mnt/location`
* Windows
* `repertory.exe --name storj -s3 t:`
## Compiling
Successful compilation will result in all files required for execution to be placed
in the `dist/` directory
### Linux Compilation
* Ensure `docker` is installed
* For x86_64:
* RelWithDebInfo: `scripts/make_unix.sh`
* Release: `scripts/make_unix.sh x86_64 Release`
* Debug: `scripts/make_unix.sh x86_64 Debug`
* For aarch64:
* RelWithDebInfo: `scripts/make_unix.sh aarch64`
* Release: `scripts/make_unix.sh aarch64 Release`
* Debug: `scripts/make_unix.sh aarch64 Debug`
### Windows Compilation
* OFFICIAL: Cross-compiling on Linux
* Successful compilation will result in all required files being placed in the `dist/` directory
* Linux
* Ensure `docker` is installed
* RelWithDebInfo: `scripts/make_win32.sh`
* Release: `scripts/make_win32.sh x86_64 Release`
* Debug: `scripts/make_win32.sh x86_64 Debug`
* UNOFFICIAL: Compiling on Windows
* Ensure latest [MSYS2](https://www.msys2.org/) is installed
* RelWithDebInfo: `scripts\make_win32.cmd`
* Release: `scripts\make_win32.cmd x86_64 Release`
* Debug: `scripts\make_win32.cmd x86_64 Debug`
* For x86_64:
* RelWithDebInfo: `scripts/make_unix.sh`
* Release: `scripts/make_unix.sh x86_64 Release`
* Debug: `scripts/make_unix.sh x86_64 Debug`
* For aarch64:
* RelWithDebInfo: `scripts/make_unix.sh aarch64`
* Release: `scripts/make_unix.sh aarch64 Release`
* Debug: `scripts/make_unix.sh aarch64 Debug`
* Windows
* OFFICIAL: Cross-compiling on Linux
* Ensure `docker` is installed
* RelWithDebInfo: `scripts/make_win32.sh`
* Release: `scripts/make_win32.sh x86_64 Release`
* Debug: `scripts/make_win32.sh x86_64 Debug`
* UNOFFICIAL: Compiling on Windows
* Ensure latest [MSYS2](https://www.msys2.org/) is installed
* RelWithDebInfo: `scripts\make_win32.cmd`
* Release: `scripts\make_win32.cmd x86_64 Release`
* Debug: `scripts\make_win32.cmd x86_64 Debug`
## Credits
* [binutils](https://www.gnu.org/software/binutils/)
* [boost c++ libraries](https://www.boost.org/)
* [cpp-httplib](https://github.com/yhirose/cpp-httplib)
* [curl](https://curl.haxx.se/)
* [docker](https://www.docker.com/)
* ~~[FUSE for macOS](https://osxfuse.github.io/)~~
* [Google Test](https://github.com/google/googletest)
* [ICU](https://icu.unicode.org/)
* [JSON for Modern C++](https://github.com/nlohmann/json)
* [libexpat](https://github.com/libexpat/libexpat)
* [libfuse](https://github.com/libfuse/libfuse)
* [libsodium](https://doc.libsodium.org/)
* [mingw-w64](https://www.mingw-w64.org/)
* [MSYS2](https://www.msys2.org)
* [OpenSSL](https://www.openssl.org/)
* [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)
* [pugixml](https://pugixml.org/)
* [RocksDB](https://rocksdb.org)
* [ScPrime](https://scpri.me/)
* [Sia Decentralized Cloud Storage](https://sia.tech/)
* [spdlog](https://github.com/gabime/spdlog)
* [SQLite](https://www.sqlite.org)
* [stduuid](https://github.com/mariusbancila/stduuid)
* [Storj](https://storj.io/)

View File

@ -1,20 +1,20 @@
set(BINUTILS_HASH b53606f443ac8f01d1d5fc9c39497f2af322d99e14cea5c0b4b124d630379365)
set(BOOST2_HASH 7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca)
set(BINUTILS_HASH ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450)
set(BOOST_HASH f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d)
set(CPP_HTTPLIB_HASH c9b9e0524666e1cd088f0874c57c1ce7c0eaa8552f9f4e15c755d5201fc8c608)
set(CURL_HASH 6edc063d1ebaf9cf3b3b46e9fef2f3cd8932694989ecd43d005d6e828426d09f)
set(BOOST2_HASH 7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca)
set(CPP_HTTPLIB_HASH 405abd8170f2a446fc8612ac635d0db5947c0d2e156e32603403a4496255ff00)
set(CURL_HASH 5a231145114589491fc52da118f9c7ef8abee885d1cb1ced99c7290e9a352f07)
set(EXPAT_HASH 372b18f6527d162fa9658f1c74d22a37429b82d822f5a1e1fc7e00f6045a06a2)
set(GCC_HASH 7d376d445f93126dc545e2c0086d0f647c3094aae081cdb78f42ce2bc25e7293)
set(GTEST_HASH 78c676fc63881529bf97bf9d45948d905a66833fbfa5318ea2cd7478cb98f399)
set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2)
set(GTEST_HASH 7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926)
set(ICU_HASH 925e6b4b8cf8856e0ac214f6f34e30dee63b7bb7a50460ab4603950eff48f89e)
set(JSON_HASH 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406)
set(LIBSODIUM_HASH 8e5aeca07a723a27bbecc3beef14b0068d37e7fc0e97f51b3f1c82d2a58005c1)
set(MINGW_HASH cc41898aac4b6e8dd5cffd7331b9d9515b912df4420a3a612b5ea2955bbeed2f)
set(OPENSSL_HASH 002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3)
set(MINGW_HASH 3f66bce069ee8bed7439a1a13da7cb91a5e67ea6170f21317ac7f5794625ee10)
set(OPENSSL_HASH e15dda82fe2fe8139dc2ac21a36d4ca01d5313c75f99f46c4e8a27709b7294bf)
set(PKG_CONFIG_HASH 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591)
set(PUGIXML_HASH 655ade57fa703fb421c2eb9a0113b5064bddb145d415dd1f88c79353d90d511a)
set(ROCKSDB_HASH fdccab16133c9d927a183c2648bcea8d956fb41eb1df2aacaa73eb0b95e43724)
set(SPDLOG_HASH 25c843860f039a1600f232c6eb9e01e6627f7d030a2ae5e232bdd3c9205d26cc)
set(SQLITE_HASH 6cebd1d8403fc58c30e93939b246f3e6e58d0765a5cd50546f16c00fd805d2c3)
set(PUGIXML_HASH 2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015)
set(ROCKSDB_HASH 9b810c81731835fda0d4bbdb51d3199d901fa4395733ab63752d297da84c5a47)
set(SPDLOG_HASH 9962648c9b4f1a7bbc76fd8d9172555bad1871fdb14ff4f842ef87949682caa5)
set(SQLITE_HASH 77823cb110929c2bcb0f5d48e4833b5c59a8a6e40cdea3936b99e199dbbe5784)
set(STDUUID_HASH b1176597e789531c38481acbbed2a6894ad419aab0979c10410d59eb0ebf40d3)
set(ZLIB_HASH 17e88863f3600672ab49182f217281b6fc4d3c762bde361935e436a95214d05c)

View File

@ -120,11 +120,11 @@ if(PROJECT_ENABLE_BOOST)
--with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread
BUILD_COMMAND
./b2
-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}
-j1
${BOOST_BUILD_ARGS}
INSTALL_COMMAND
./b2
-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}
-j1
${BOOST_BUILD_ARGS}
install
)

View File

@ -15,13 +15,10 @@ if(PROJECT_ENABLE_CPP_HTTPLIB)
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DHTTPLIB_REQUIRE_BROTLI=OFF
-DHTTPLIB_REQUIRE_OPENSSL=ON
-DHTTPLIB_REQUIRE_OPENSSL=${PROJECT_ENABLE_OPENSSL}
-DHTTPLIB_REQUIRE_ZLIB=ON
-DHTTPLIB_REQUIRE_BROTLI=OFF
-DHTTPLIB_TEST=OFF
-DHTTPLIB_USE_BROTLI_IF_AVAILABLE=OFF
-DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=ON
-DHTTPLIB_USE_ZLIB_IF_AVAILABLE=ON
-DOPENSSL_USE_STATIC_LIBS=${OPENSSL_USE_STATIC_LIBS}
)

View File

@ -18,18 +18,14 @@ if(PROJECT_ENABLE_CURL)
URL ${PROJECT_3RD_PARTY_DIR}/curl-${CURL_VERSION}.tar.gz
URL_HASH SHA256=${CURL_HASH}
LIST_SEPARATOR |
BUILD_COMMAND
${CMAKE_COMMAND} --build . -- -j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_CURL_EXE=OFF
-DBUILD_LIBCURL_DOCS=OFF
-DBUILD_MISC_DOCS=OFF
CMAKE_ARGS
${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DBUILD_CURL_EXE=OFF
-DBUILD_STATIC_CURL=ON
-DBUILD_STATIC_LIBS=ON
-DBUILD_STATIC_LIBS=ON
-DBUILD_TESTING=OFF
-DCURL_BROTLI=OFF
-DCURL_CA_BUNDLE=./cacert.pem
-DCURL_CA_FALLBACK=ON
-DCURL_DISABLE_LDAP=ON
@ -37,7 +33,6 @@ if(PROJECT_ENABLE_CURL)
-DCURL_USE_LIBSSH2=OFF
-DCURL_USE_OPENSSL=${PROJECT_ENABLE_OPENSSL}
-DCURL_ZLIB=ON
-DENABLE_CURL_MANUAL=OFF
-DENABLE_THREADED_RESOLVER=ON
-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}
-DOPENSSL_USE_STATIC_LIBS=${OPENSSL_USE_STATIC_LIBS}

View File

@ -9,8 +9,6 @@ if(PROJECT_ENABLE_ROCKSDB)
URL ${PROJECT_3RD_PARTY_DIR}/rocksdb-${ROCKSDB_VERSION}.tar.gz
URL_HASH SHA256=${ROCKSDB_HASH}
LIST_SEPARATOR |
BUILD_COMMAND
${CMAKE_COMMAND} --build . -- -j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}
CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=OFF
-DBUILD_STATIC_LIBS=ON
@ -33,4 +31,4 @@ if(PROJECT_ENABLE_ROCKSDB)
list(APPEND PROJECT_DEPENDENCIES rocksdb_project)
endif()
endif()
endif()

View File

@ -2,7 +2,7 @@ if(PROJECT_ENABLE_SQLITE)
if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_SQLITE)
if (PROJECT_IS_MINGW AND NOT PROJECT_IS_MINGW_UNIX)
pkg_check_modules(SQLITE3 REQUIRED sqlite3)
pkg_check_modules(SQLITE3 REQUIRED sqlite3>=${SQLITE2_VERSION})
include_directories(SYSTEM BEFORE ${SQLITE3_INCLUDE_DIRS})
link_libraries(${SQLITE3_LIBRARIES})
else()

View File

@ -1,28 +1,28 @@
set(BINUTILS_VERSION 2.43)
set(BINUTILS_VERSION 2.41)
set(BOOST2_MAJOR_VERSION 1)
set(BOOST2_MINOR_VERSION 76)
set(BOOST2_PATCH_VERSION 0)
set(BOOST_MAJOR_VERSION 1)
set(BOOST_MINOR_VERSION 87)
set(BOOST_PATCH_VERSION 0)
set(CPP_HTTPLIB_VERSION 0.19.0)
set(CURL2_VERSION 8_12_1)
set(CURL_VERSION 8.12.1)
set(CPP_HTTPLIB_VERSION 0.18.1)
set(CURL2_VERSION 8_11_0)
set(CURL_VERSION 8.11.0)
set(EXPAT2_VERSION 2_6_4)
set(EXPAT_VERSION 2.6.4)
set(GCC_VERSION 14.2.0)
set(GTEST_VERSION 1.16.0)
set(ICU_VERSION 76-1)
set(GTEST_VERSION 1.15.2)
set(ICU_VERSION 75-1)
set(JSON_VERSION 3.11.3)
set(LIBSODIUM_VERSION 1.0.20)
set(MESA_VERSION 23.3.3)
set(MINGW_VERSION 12.0.0)
set(OPENSSL_VERSION 3.4.1)
set(MINGW_VERSION 11.0.1)
set(OPENSSL_VERSION 3.4.0)
set(PKG_CONFIG_VERSION 0.29.2)
set(PUGIXML_VERSION 1.15)
set(ROCKSDB_VERSION 9.10.0)
set(SPDLOG_VERSION 1.15.1)
set(SQLITE2_VERSION 3.49.1)
set(SQLITE_VERSION 3490100)
set(PUGIXML_VERSION 1.14)
set(ROCKSDB_VERSION 9.7.4)
set(SPDLOG_VERSION 1.15.0)
set(SQLITE2_VERSION 3.46.1)
set(SQLITE_VERSION 3460100)
set(STDUUID_VERSION 1.2.3)
set(ZLIB_VERSION 1.3.1)

View File

@ -5,12 +5,12 @@ PROJECT_NAME="repertory"
PROJECT_COMPANY_NAME="https://git.fifthgrid.com/blockstorage"
PROJECT_URL="${PROJECT_COMPANY_NAME}/repertory"
PROJECT_COPYRIGHT="Copyright <2018-2025> <MIT License> <${PROJECT_URL}>"
PROJECT_COPYRIGHT="Copyright <2018-2024> <MIT License> <${PROJECT_URL}>"
PROJECT_DESC="Mount utility for Sia and S3"
PROJECT_MAJOR_VERSION=2
PROJECT_MINOR_VERSION=0
PROJECT_REVISION_VERSION=5
PROJECT_REVISION_VERSION=2
PROJECT_RELEASE_NUM=0
PROJECT_RELEASE_ITER=rc
@ -19,8 +19,6 @@ PROJECT_APP_LIST=(${PROJECT_NAME})
PROJECT_PRIVATE_KEY=${DEVELOPER_PRIVATE_KEY}
PROJECT_PUBLIC_KEY=${DEVELOPER_PUBLIC_KEY}
PROJECT_FLUTTER_BASE_HREF="/ui/"
PROJECT_ENABLE_WIN32_LONG_PATH_NAMES=OFF
PROJECT_ENABLE_BACKWARD_CPP=OFF

View File

@ -1,5 +1,4 @@
#comment
FROM arm64v8/alpine:3.21.3
FROM arm64v8/alpine:3.20.3
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
CMD bash
@ -31,7 +30,7 @@ RUN apk add \
gflags \
gflags-dev \
git \
git-lfs \
gtkmm3-dev \
icu-dev \
icu-libs \
icu-static \
@ -70,6 +69,7 @@ RUN apk add \
tcl \
tcl-dev \
texinfo \
vlc-dev \
wget \
xz \
xz-dev \
@ -82,6 +82,3 @@ RUN apk add \
zstd-libs \
zstd-static \
xz-static
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16

View File

@ -1,5 +1,4 @@
#comment
FROM alpine:3.21.3
FROM alpine:3.20.3
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
CMD bash
@ -31,7 +30,6 @@ RUN apk add \
gflags \
gflags-dev \
git \
git-lfs \
icu-dev \
icu-libs \
icu-static \
@ -82,6 +80,3 @@ RUN apk add \
zstd-libs \
zstd-static \
xz-static
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16

View File

@ -1,48 +0,0 @@
FROM debian:latest
ARG UID=0
ARG GID=0
RUN apt-get update
RUN apt-get install -y \
bash \
curl \
fonts-droid-fallback \
gdb \
git \
lib32stdc++6 \
libgconf-2-4 \
libglu1-mesa \
libstdc++6 \
python3 \
unzip \
wget
RUN apt-get clean
RUN git clone https://github.com/flutter/flutter.git /flutter
RUN git config --system --add safe.directory /flutter
ENV PATH="/flutter/bin:/flutter/bin/cache/dart-sdk/bin:${PATH}"
RUN flutter doctor -v
RUN flutter channel master
RUN flutter upgrade
RUN flutter --disable-analytics
RUN flutter config --no-analytics
RUN flutter config --enable-web
RUN flutter config --no-cli-animations
RUN mkdir /nonexistent
RUN chown -R $UID:$GID /nonexistent
RUN mkdir /.config
RUN chown -R $UID:$GID /.config
RUN mkdir /.dart-tool
RUN chown -R $UID:$GID /.dart-tool
RUN mkdir /.pub-cache
RUN chown -R $UID:$GID /.pub-cache
RUN chown -R $UID:$GID /flutter

View File

@ -1,5 +1,5 @@
#comment
FROM alpine:3.21.3
FROM alpine:3.20.3
RUN apk update
RUN apk upgrade
@ -18,7 +18,6 @@ RUN apk add \
gcc \
gettext \
git \
git-lfs \
gmp \
gmp-dev \
gperf \
@ -672,15 +671,12 @@ RUN if [ -f "/3rd_party/curl-${MY_CURL_VERSION}.tar.gz" ]; then \
&& cd build \
&& cmake .. \
-DBUILD_CURL_EXE=ON \
-DBUILD_LIBCURL_DOCS=OFF \
-DBUILD_MISC_DOCS=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \
-DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \
-DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
-DCURL_BROTLI=OFF \
-DCURL_CA_BUNDLE=./cacert.pem \
-DCURL_CA_FALLBACK=ON \
-DCURL_DISABLE_LDAP=ON \
@ -688,7 +684,6 @@ RUN if [ -f "/3rd_party/curl-${MY_CURL_VERSION}.tar.gz" ]; then \
-DCURL_USE_LIBSSH2=OFF \
-DCURL_USE_OPENSSL=ON \
-DCURL_ZLIB=ON \
-DENABLE_CURL_MANUAL=OFF \
-DENABLE_THREADED_RESOLVER=ON \
-DOPENSSL_USE_STATIC_LIBS=ON \
-DUSE_LIBIDN2=OFF \
@ -716,9 +711,6 @@ RUN if [ -f "/3rd_party/cpp-httplib-${MY_CPP_HTTPLIB_VERSION}.tar.gz" ]; then \
-DHTTPLIB_REQUIRE_OPENSSL=ON \
-DHTTPLIB_REQUIRE_ZLIB=ON \
-DHTTPLIB_TEST=OFF \
-DHTTPLIB_USE_BROTLI_IF_AVAILABLE=OFF \
-DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=YES \
-DHTTPLIB_USE_ZLIB_IF_AVAILABLE=ON \
&& make -j${MY_NUM_JOBS} \
&& make install \
&& cd ${MY_WORKDIR} \

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -22,41 +22,33 @@
#ifndef REPERTORY_INCLUDE_APP_CONFIG_HPP_
#define REPERTORY_INCLUDE_APP_CONFIG_HPP_
#include "events/event.hpp"
#include "types/remote.hpp"
#include "types/repertory.hpp"
namespace repertory {
class app_config final {
private:
static stop_type stop_requested;
public:
[[nodiscard]] static auto default_agent_name(const provider_type &prov)
-> std::string;
[[nodiscard]] static auto
default_agent_name(const provider_type &prov) -> std::string;
[[nodiscard]] static auto default_api_port(const provider_type &prov)
-> std::uint16_t;
[[nodiscard]] static auto
default_api_port(const provider_type &prov) -> std::uint16_t;
[[nodiscard]] static auto default_data_directory(const provider_type &prov)
-> std::string;
[[nodiscard]] static auto
default_data_directory(const provider_type &prov) -> std::string;
[[nodiscard]] static auto default_remote_api_port(const provider_type &prov)
-> std::uint16_t;
[[nodiscard]] static auto
default_remote_api_port(const provider_type &prov) -> std::uint16_t;
[[nodiscard]] static auto default_rpc_port() -> std::uint16_t;
[[nodiscard]] static auto
default_rpc_port(const provider_type &prov) -> std::uint16_t;
[[nodiscard]] static auto get_provider_display_name(const provider_type &prov)
-> std::string;
[[nodiscard]] static auto
get_provider_display_name(const provider_type &prov) -> std::string;
[[nodiscard]] static auto get_provider_name(const provider_type &prov)
-> std::string;
[[nodiscard]] static auto get_root_data_directory() -> std::string;
public:
[[nodiscard]] static auto get_stop_requested() -> bool;
static void set_stop_requested();
[[nodiscard]] static auto
get_provider_name(const provider_type &prov) -> std::string;
public:
app_config(const provider_type &prov, std::string_view data_directory = "");
@ -72,7 +64,7 @@ public:
private:
provider_type prov_;
atomic<std::string> api_password_;
atomic<std::string> api_auth_;
std::atomic<std::uint16_t> api_port_;
atomic<std::string> api_user_;
std::atomic<bool> config_changed_;
@ -92,6 +84,7 @@ private:
std::atomic<std::uint8_t> max_upload_count_;
std::atomic<std::uint16_t> med_freq_interval_secs_;
std::atomic<std::uint16_t> online_check_retry_secs_;
std::atomic<std::uint16_t> orphaned_file_retention_days_;
std::atomic<download_type> preferred_download_type_;
std::atomic<std::uint16_t> retry_read_count_;
std::atomic<std::uint16_t> ring_buffer_file_size_;
@ -122,7 +115,7 @@ private:
auto set_value(dest &dst, const source &src) -> bool;
public:
[[nodiscard]] auto get_api_password() const -> std::string;
[[nodiscard]] auto get_api_auth() const -> std::string;
[[nodiscard]] auto get_api_port() const -> std::uint16_t;
@ -172,6 +165,8 @@ public:
[[nodiscard]] auto get_online_check_retry_secs() const -> std::uint16_t;
[[nodiscard]] auto get_orphaned_file_retention_days() const -> std::uint16_t;
[[nodiscard]] auto get_preferred_download_type() const -> download_type;
[[nodiscard]] auto get_provider_type() const -> provider_type;
@ -190,17 +185,14 @@ public:
[[nodiscard]] auto get_task_wait_ms() const -> std::uint16_t;
[[nodiscard]] auto get_value_by_name(const std::string &name) const
-> std::string;
[[nodiscard]] auto get_raw_value_by_name(const std::string &name) const
-> std::string;
[[nodiscard]] auto
get_value_by_name(const std::string &name) const -> std::string;
[[nodiscard]] auto get_version() const -> std::uint64_t;
void save();
void set_api_password(const std::string &value);
void set_api_auth(const std::string &value);
void set_api_port(std::uint16_t value);
@ -240,6 +232,8 @@ public:
void set_online_check_retry_secs(std::uint16_t value);
void set_orphaned_file_retention_days(std::uint16_t value);
void set_preferred_download_type(const download_type &value);
void set_remote_config(remote::remote_config value);

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -22,11 +22,10 @@
#ifndef REPERTORY_INCLUDE_COMM_CURL_CURL_COMM_HPP_
#define REPERTORY_INCLUDE_COMM_CURL_CURL_COMM_HPP_
#include "app_config.hpp"
#include "comm/curl/multi_request.hpp"
#include "comm/i_http_comm.hpp"
#include "events/event_system.hpp"
#include "events/types/curl_error.hpp"
#include "events/events.hpp"
#include "utils/encryption.hpp"
namespace repertory {
@ -43,7 +42,7 @@ private:
struct read_write_info final {
data_buffer data{};
stop_type_callback stop_requested_cb;
stop_type &stop_requested;
};
static const write_callback write_data;
@ -62,14 +61,13 @@ public:
[[nodiscard]] static auto reset_curl(CURL *curl_handle) -> CURL *;
public:
[[nodiscard]] static auto construct_url(CURL *curl,
const std::string &relative_path,
const host_config &cfg)
-> std::string;
[[nodiscard]] static auto
construct_url(CURL *curl, const std::string &relative_path,
const host_config &cfg) -> std::string;
[[nodiscard]] static auto create_host_config(const s3_config &cfg,
bool use_s3_path_style)
-> host_config;
[[nodiscard]] static auto
create_host_config(const s3_config &cfg,
bool use_s3_path_style) -> host_config;
[[nodiscard]] static auto url_encode(CURL *curl, const std::string &data,
bool allow_slash) -> std::string;
@ -77,8 +75,8 @@ public:
template <typename request_type>
[[nodiscard]] static auto
make_encrypted_request(const host_config &cfg, const request_type &request,
long &response_code, stop_type &stop_requested)
-> bool {
long &response_code,
stop_type &stop_requested) -> bool {
response_code = 0;
if (not request.decryption_token.has_value() ||
@ -116,7 +114,7 @@ public:
return false;
}
if (response_code != http_error_codes::ok) {
if (response_code != 200) {
return false;
}
@ -137,8 +135,6 @@ public:
[[nodiscard]] static auto
make_request(const host_config &cfg, const request_type &request,
long &response_code, stop_type &stop_requested) -> bool {
REPERTORY_USES_FUNCTION_NAME();
if (request.decryption_token.has_value() &&
not request.decryption_token.value().empty()) {
return make_encrypted_request(cfg, request, response_code,
@ -173,12 +169,7 @@ public:
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_headers);
}
read_write_info write_info{
{},
[&stop_requested]() -> bool {
return stop_requested || app_config::get_stop_requested();
},
};
read_write_info write_info{{}, stop_requested};
if (request.response_handler.has_value()) {
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &write_info);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
@ -202,16 +193,6 @@ public:
request.aws_service.value().c_str());
}
curl_slist *header_list{nullptr};
if (not request.headers.empty()) {
for (const auto &header : request.headers) {
header_list = curl_slist_append(
header_list,
fmt::format("{}: {}", header.first, header.second).c_str());
}
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header_list);
}
auto url = construct_url(curl, request.get_path(), cfg) + parameters;
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
@ -219,14 +200,8 @@ public:
CURLcode curl_code{};
curl_request.get_result(curl_code, response_code);
if (header_list != nullptr) {
curl_slist_free_all(header_list);
}
if (curl_code != CURLE_OK) {
event_system::instance().raise<curl_error>(curl_code, function_name,
url);
event_system::instance().raise<curl_error>(url, curl_code);
return false;
}
@ -240,30 +215,26 @@ public:
public:
void enable_s3_path_style(bool enable) override;
[[nodiscard]] auto make_request(const curl::requests::http_delete &del,
long &response_code,
stop_type &stop_requested) const
-> bool override;
[[nodiscard]] auto
make_request(const curl::requests::http_delete &del, long &response_code,
stop_type &stop_requested) const -> bool override;
[[nodiscard]] auto make_request(const curl::requests::http_get &get,
long &response_code,
stop_type &stop_requested) const
-> bool override;
[[nodiscard]] auto
make_request(const curl::requests::http_get &get, long &response_code,
stop_type &stop_requested) const -> bool override;
[[nodiscard]] auto make_request(const curl::requests::http_head &head,
long &response_code,
stop_type &stop_requested) const
-> bool override;
[[nodiscard]] auto
make_request(const curl::requests::http_head &head, long &response_code,
stop_type &stop_requested) const -> bool override;
[[nodiscard]] auto make_request(const curl::requests::http_post &post_file,
long &response_code,
stop_type &stop_requested) const
-> bool override;
[[nodiscard]] auto
make_request(const curl::requests::http_post &post_file, long &response_code,
stop_type &stop_requested) const -> bool override;
[[nodiscard]] auto make_request(const curl::requests::http_put_file &put_file,
long &response_code,
stop_type &stop_requested) const
-> bool override;
[[nodiscard]] auto
make_request(const curl::requests::http_put_file &put_file,
long &response_code,
stop_type &stop_requested) const -> bool override;
};
} // namespace repertory

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -36,9 +36,6 @@ private:
stop_type &stop_requested_;
CURLM *multi_handle_;
private:
[[nodiscard]] auto get_stop_requested() const -> bool;
public:
void get_result(CURLcode &curl_code, long &http_code);
};

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -32,15 +32,15 @@ struct http_post final : http_request_base {
auto operator=(const http_post &) -> http_post & = default;
auto operator=(http_post &&) -> http_post & = default;
~http_post() override = default;
~http_post() override;
std::optional<nlohmann::json> json;
[[nodiscard]] auto set_method(CURL *curl,
stop_type & /*stop_requested*/) const
-> bool override;
[[nodiscard]] auto
set_method(CURL *curl, stop_type & /*stop_requested*/) const -> bool override;
private:
mutable curl_slist *headers{nullptr};
mutable std::optional<std::string> json_str;
};
} // namespace repertory::curl::requests

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -51,7 +51,7 @@ struct http_request_base {
bool allow_timeout{};
std::optional<std::string> aws_service;
std::optional<std::string> decryption_token{};
mutable http_headers headers{};
http_headers headers{};
std::string path{};
http_query_parameters query{};
std::optional<http_range> range{};

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -69,21 +69,21 @@ private:
void put_client(std::shared_ptr<client> &cli);
[[nodiscard]] auto read_packet(client &cli,
packet &response) const -> packet::error_type;
[[nodiscard]] auto read_packet(client &cli, packet &response)
-> packet::error_type;
void resolve();
public:
[[nodiscard]] auto send(std::string_view method,
std::uint32_t &service_flags) -> packet::error_type;
[[nodiscard]] auto send(std::string_view method, std::uint32_t &service_flags)
-> packet::error_type;
[[nodiscard]] auto send(std::string_view method, packet &request,
std::uint32_t &service_flags) -> packet::error_type;
[[nodiscard]] auto send(std::string_view method, packet &request,
packet &response,
std::uint32_t &service_flags) -> packet::error_type;
packet &response, std::uint32_t &service_flags)
-> packet::error_type;
};
} // namespace repertory

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -57,7 +57,7 @@ using json = nlohmann::json;
inline constexpr const std::string_view REPERTORY = "repertory";
inline constexpr const std::wstring_view REPERTORY_W = L"repertory";
inline constexpr const std::uint64_t REPERTORY_CONFIG_VERSION = 2ULL;
inline constexpr const std::uint64_t REPERTORY_CONFIG_VERSION = 0ULL;
inline constexpr const std::string_view REPERTORY_DATA_NAME = "repertory2";
inline constexpr const std::string_view REPERTORY_MIN_REMOTE_VERSION = "2.0.0";

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -31,7 +31,7 @@ class i_file_db {
public:
struct file_info final {
std::string api_path;
bool directory{};
bool directory;
std::string source_path;
};
@ -56,10 +56,6 @@ public:
[[nodiscard]] virtual auto count() const -> std::uint64_t = 0;
virtual void enumerate_item_list(
std::function<void(const std::vector<i_file_db::file_info> &)> callback,
stop_type_callback stop_requested_cb) const = 0;
[[nodiscard]] virtual auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error = 0;
@ -84,8 +80,7 @@ public:
get_file_source_path(const std::string &api_path,
std::string &source_path) const -> api_error = 0;
[[nodiscard]] virtual auto
get_item_list(stop_type_callback stop_requested_cb) const
[[nodiscard]] virtual auto get_item_list() const
-> std::vector<file_info> = 0;
[[nodiscard]] virtual auto get_source_path(const std::string &api_path,

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -41,7 +41,10 @@ public:
std::string source_path;
};
using upload_entry = upload_active_entry;
struct upload_entry final {
std::string api_path;
std::string source_path;
};
public:
[[nodiscard]] virtual auto add_resume(const resume_entry &entry) -> bool = 0;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -31,10 +31,6 @@ class i_meta_db {
public:
virtual void clear() = 0;
virtual void enumerate_api_path_list(
std::function<void(const std::vector<std::string> &)> callback,
stop_type_callback stop_requested_cb) const = 0;
[[nodiscard]] virtual auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error = 0;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -67,54 +67,50 @@ private:
rocksdb::Transaction *txn) -> rocksdb::Status;
public:
[[nodiscard]] auto add_directory(const std::string &api_path,
const std::string &source_path)
-> api_error override;
[[nodiscard]] auto
add_directory(const std::string &api_path,
const std::string &source_path) -> api_error override;
[[nodiscard]] auto add_or_update_file(const i_file_db::file_data &data)
-> api_error override;
[[nodiscard]] auto
add_or_update_file(const i_file_db::file_data &data) -> api_error override;
void clear() override;
[[nodiscard]] auto count() const -> std::uint64_t override;
void enumerate_item_list(
std::function<void(const std::vector<i_file_db::file_info> &)> callback,
stop_type_callback stop_requested_cb) const override;
[[nodiscard]] auto
get_api_path(const std::string &source_path,
std::string &api_path) const -> api_error override;
[[nodiscard]] auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;
[[nodiscard]] auto get_directory_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;
[[nodiscard]] auto
get_directory_api_path(const std::string &source_path,
std::string &api_path) const -> api_error override;
[[nodiscard]] auto get_directory_source_path(const std::string &api_path,
std::string &source_path) const
-> api_error override;
[[nodiscard]] auto get_file_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;
[[nodiscard]] auto
get_file_api_path(const std::string &source_path,
std::string &api_path) const -> api_error override;
[[nodiscard]] auto get_file_data(const std::string &api_path,
i_file_db::file_data &data) const
-> api_error override;
[[nodiscard]] auto
get_file_data(const std::string &api_path,
i_file_db::file_data &data) const -> api_error override;
[[nodiscard]] auto get_file_source_path(const std::string &api_path,
std::string &source_path) const
-> api_error override;
[[nodiscard]] auto
get_file_source_path(const std::string &api_path,
std::string &source_path) const -> api_error override;
[[nodiscard]] auto get_item_list(stop_type_callback stop_requested_cb) const
-> std::vector<i_file_db::file_info> override;
[[nodiscard]] auto
get_item_list() const -> std::vector<i_file_db::file_info> override;
[[nodiscard]] auto get_source_path(const std::string &api_path,
std::string &source_path) const
-> api_error override;
[[nodiscard]] auto
get_source_path(const std::string &api_path,
std::string &source_path) const -> api_error override;
[[nodiscard]] auto remove_item(const std::string &api_path)
-> api_error override;
[[nodiscard]] auto
remove_item(const std::string &api_path) -> api_error override;
};
} // namespace repertory

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -80,10 +80,6 @@ private:
public:
void clear() override;
void enumerate_api_path_list(
std::function<void(const std::vector<std::string> &)> callback,
stop_type_callback stop_requested_cb) const override;
[[nodiscard]] auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -53,10 +53,6 @@ public:
[[nodiscard]] auto count() const -> std::uint64_t override;
void enumerate_item_list(
std::function<void(const std::vector<i_file_db::file_info> &)> callback,
stop_type_callback stop_requested_cb) const override;
[[nodiscard]] auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;
@ -81,7 +77,7 @@ public:
std::string &source_path) const
-> api_error override;
[[nodiscard]] auto get_item_list(stop_type_callback stop_requested_cb) const
[[nodiscard]] auto get_item_list() const
-> std::vector<i_file_db::file_info> override;
[[nodiscard]] auto get_source_path(const std::string &api_path,

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -50,10 +50,6 @@ private:
public:
void clear() override;
void enumerate_api_path_list(
std::function<void(const std::vector<std::string> &)> callback,
stop_type_callback stop_requested_cb) const override;
[[nodiscard]] auto get_api_path(const std::string &source_path,
std::string &api_path) const
-> api_error override;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -22,10 +22,12 @@
#ifndef REPERTORY_INCLUDE_DRIVES_DIRECTORY_CACHE_HPP_
#define REPERTORY_INCLUDE_DRIVES_DIRECTORY_CACHE_HPP_
#include "utils/single_thread_service_base.hpp"
namespace repertory {
class directory_iterator;
class directory_cache final {
class directory_cache final : public single_thread_service_base {
public:
using execute_callback = std::function<void(directory_iterator &)>;
@ -33,11 +35,13 @@ private:
struct open_directory final {
std::shared_ptr<directory_iterator> iterator;
std::vector<std::uint64_t> handles;
std::chrono::system_clock::time_point last_update{
std::chrono::system_clock::now()};
};
public:
directory_cache() = default;
~directory_cache() = default;
directory_cache() : single_thread_service_base("directory_cache") {}
~directory_cache() override = default;
directory_cache(const directory_cache &) = delete;
directory_cache(directory_cache &&) = delete;
@ -47,6 +51,10 @@ public:
private:
std::unordered_map<std::string, open_directory> directory_lookup_;
std::recursive_mutex directory_mutex_;
std::unique_ptr<std::thread> refresh_thread_;
protected:
void service_function() override;
public:
void execute_action(const std::string &api_path,
@ -55,7 +63,7 @@ public:
[[nodiscard]] auto get_directory(std::uint64_t handle)
-> std::shared_ptr<directory_iterator>;
auto remove_directory(const std::string &api_path)
[[nodiscard]] auto remove_directory(const std::string &api_path)
-> std::shared_ptr<directory_iterator>;
void remove_directory(std::uint64_t handle);

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,40 +1,41 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_I_EVENT_HPP_
#define REPERTORY_INCLUDE_EVENTS_I_EVENT_HPP_
#include "types/repertory.hpp"
namespace repertory {
class i_event {
INTERFACE_SETUP(i_event);
public:
[[nodiscard]] virtual auto get_event_level() const -> event_level = 0;
[[nodiscard]] virtual auto get_name() const -> std::string_view = 0;
[[nodiscard]] virtual auto get_single_line() const -> std::string = 0;
};
} // namespace repertory
#endif // REPERTORY_INCLUDE_EVENTS_EVENT_HPP_
/*
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_DRIVES_FUSE_EVENTS_HPP_
#define REPERTORY_INCLUDE_DRIVES_FUSE_EVENTS_HPP_
#include "events/event_system.hpp"
namespace repertory {
// clang-format off
E_SIMPLE3(fuse_event, debug, true,
std::string, function, func, E_FROM_STRING,
std::string, api_path, ap, E_FROM_STRING,
int, result, res, E_FROM_INT32
);
E_SIMPLE1(fuse_args_parsed, info, true,
std::string, arguments, args, E_FROM_STRING
);
// clang-format on
} // namespace repertory
#endif // REPERTORY_INCLUDE_DRIVES_FUSE_EVENTS_HPP_

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -24,7 +24,7 @@
#if !defined(_WIN32)
#include "events/event_system.hpp"
#include "types/repertory.hpp"
#include "utils/path.hpp"
namespace repertory {
class app_config;
@ -51,8 +51,8 @@ private:
std::string mount_location_;
protected:
bool atime_enabled_{true};
bool console_enabled_{false};
bool atime_enabled_ = true;
bool console_enabled_ = false;
std::optional<gid_t> forced_gid_;
std::optional<uid_t> forced_uid_;
std::optional<mode_t> forced_umask_;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -63,14 +63,11 @@ private:
std::shared_ptr<logging_consumer> logging_consumer_;
std::shared_ptr<remote_fuse::remote_server> remote_server_;
std::shared_ptr<full_server> server_;
std::mutex stop_all_mtx_;
bool was_mounted_{false};
bool was_mounted_ = false;
private:
void update_accessed_time(const std::string &api_path);
void stop_all();
protected:
#if defined(__APPLE__)
[[nodiscard]] auto chflags_impl(std::string api_path,

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -53,8 +53,8 @@ private:
bool was_mounted_ = false;
private:
static void populate_stat(const remote::stat &r_stat, bool directory,
struct stat &unix_st);
void populate_stat(const remote::stat &r_stat, bool directory,
struct stat &unix_st);
protected:
[[nodiscard]] auto access_impl(std::string api_path,

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -30,10 +30,7 @@
#include "drives/remote/remote_open_file_table.hpp"
#include "drives/winfsp/remotewinfsp/i_remote_instance.hpp"
#include "events/event_system.hpp"
#include "events/types/service_start_begin.hpp"
#include "events/types/service_start_end.hpp"
#include "events/types/service_stop_begin.hpp"
#include "events/types/service_stop_end.hpp"
#include "events/events.hpp"
#include "types/remote.hpp"
#include "types/repertory.hpp"
#include "utils/base64.hpp"
@ -58,10 +55,7 @@ public:
drive_(drv),
mount_location_(std::move(mount_location)),
client_pool_(config.get_remote_mount().client_pool_size) {
REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_start_begin>(function_name,
"remote_server_base");
event_system::instance().raise<service_started>("remote_server_base");
handler_lookup_.insert(
{"::winfsp_can_delete",
[this](std::uint32_t, const std::string &, std::uint64_t,
@ -1378,19 +1372,14 @@ public:
method, request, response,
message_complete);
});
event_system::instance().raise<service_start_end>(function_name,
"remote_server_base");
}
~remote_server_base() override {
REPERTORY_USES_FUNCTION_NAME();
event_system::instance().raise<service_stop_begin>(function_name,
"remote_server_base");
event_system::instance().raise<service_shutdown_begin>(
"remote_server_base");
client_pool_.shutdown();
packet_server_.reset();
event_system::instance().raise<service_stop_end>(function_name,
"remote_server_base");
event_system::instance().raise<service_shutdown_end>("remote_server_base");
}
public:

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -26,7 +26,6 @@
#include "comm/packet/packet_client.hpp"
#include "drives/remote/remote_open_file_table.hpp"
#include "drives/winfsp/remotewinfsp/i_remote_instance.hpp"
#include "types/remote.hpp"
namespace repertory {
class app_config;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -73,7 +73,6 @@ private:
std::unique_ptr<file_manager> fm_;
std::unique_ptr<eviction> eviction_;
std::unique_ptr<remote_winfsp::remote_server> remote_server_;
std::mutex stop_all_mtx_;
private:
[[nodiscard]] auto handle_error(std::string_view function_name,
@ -95,8 +94,6 @@ private:
static void set_file_info(remote::file_info &dest,
const FSP_FSCTL_FILE_INFO &src);
void stop_all();
public:
auto CanDelete(PVOID file_node, PVOID file_desc, PWSTR file_name)
-> NTSTATUS override;

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -23,7 +23,6 @@
#define REPERTORY_INCLUDE_EVENTS_CONSUMERS_CONSOLE_CONSUMER_HPP_
#include "events/event_system.hpp"
#include "types/repertory.hpp"
namespace repertory {
class console_consumer final {
@ -37,7 +36,7 @@ public:
~console_consumer();
private:
static void process_event(const i_event &evt);
void process_event(const event &e) const;
};
} // namespace repertory

View File

@ -1,5 +1,5 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -23,10 +23,9 @@
#define REPERTORY_INCLUDE_EVENTS_CONSUMERS_LOGGING_CONSUMER_HPP_
#include "events/event_system.hpp"
#include "types/repertory.hpp"
namespace repertory {
class logging_consumer final {
class logging_consumer {
E_CONSUMER();
public:
@ -40,7 +39,7 @@ private:
5ULL};
private:
static void process_event(const i_event &evt);
void process_event(const event &event) const;
};
} // namespace repertory

View File

@ -0,0 +1,92 @@
/*
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_EVENT_HPP_
#define REPERTORY_INCLUDE_EVENTS_EVENT_HPP_
namespace repertory {
enum class event_level {
critical,
error,
warn,
info,
debug,
trace,
};
[[nodiscard]] auto
event_level_from_string(std::string level,
event_level default_level = event_level::info)
-> event_level;
[[nodiscard]] auto event_level_to_string(event_level level) -> std::string;
class event {
protected:
explicit event(bool allow_async) : allow_async_(allow_async) {}
event(const std::stringstream &ss, json j, bool allow_async)
: allow_async_(allow_async), ss_(ss.str()), j_(std::move(j)) {}
public:
event(const event &) = delete;
event(event &&) = delete;
auto operator=(const event &) -> event & = delete;
auto operator=(event &&) -> event & = delete;
virtual ~event() = default;
private:
bool allow_async_;
protected:
std::stringstream ss_;
json j_;
public:
[[nodiscard]] virtual auto clone() const -> std::shared_ptr<event> = 0;
[[nodiscard]] auto get_allow_async() const -> bool { return allow_async_; }
[[nodiscard]] virtual auto get_event_level() const -> event_level = 0;
[[nodiscard]] auto get_json() const -> json { return j_; }
[[nodiscard]] virtual auto get_name() const -> std::string = 0;
[[nodiscard]] virtual auto get_single_line() const -> std::string = 0;
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<std::atomic<repertory::event_level>> {
static void to_json(json &data,
const std::atomic<repertory::event_level> &value) {
data = repertory::event_level_to_string(value.load());
}
static void from_json(const json &data,
std::atomic<repertory::event_level> &value) {
value.store(repertory::event_level_from_string(data.get<std::string>()));
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_EVENT_HPP_

View File

@ -1,141 +1,241 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_
#define REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_
namespace repertory {
class i_event;
class event_system final {
private:
static constexpr const std::uint8_t max_queue_retry{
30U,
};
const std::uint32_t max_queue_size{
std::thread::hardware_concurrency() * 4U,
};
static constexpr const std::chrono::seconds queue_wait_secs{
5s,
};
public:
event_system(const event_system &) = delete;
event_system(event_system &&) = delete;
auto operator=(const event_system &) -> event_system & = delete;
auto operator=(event_system &&) -> event_system & = delete;
protected:
event_system() = default;
~event_system() { stop(); }
public:
class event_consumer final {
public:
explicit event_consumer(std::function<void(const i_event &)> callback)
: callback_(std::move(callback)) {
event_system::instance().attach(this);
}
event_consumer(std::string_view event_name,
std::function<void(const i_event &)> callback)
: callback_(std::move(callback)) {
event_system::instance().attach(event_name, this);
}
~event_consumer() { event_system::instance().release(this); }
public:
event_consumer(const event_consumer &) = delete;
event_consumer(event_consumer &&) = delete;
auto operator=(const event_consumer &) -> event_consumer & = delete;
auto operator=(event_consumer &&) -> event_consumer & = delete;
private:
std::function<void(const i_event &)> callback_;
public:
void notify_event(const i_event &event) { callback_(event); }
};
private:
static event_system instance_;
public:
[[nodiscard]] static auto instance() -> event_system &;
private:
std::unordered_map<std::string, std::deque<event_consumer *>>
event_consumers_;
std::recursive_mutex consumer_mutex_;
std::vector<std::shared_ptr<i_event>> event_list_;
std::condition_variable event_notify_;
std::mutex event_mutex_;
std::unique_ptr<std::thread> event_thread_;
std::mutex run_mutex_;
stop_type stop_requested_{false};
private:
[[nodiscard]] auto get_stop_requested() const -> bool;
void process_events();
void queue_event(std::shared_ptr<i_event> evt);
public:
void attach(event_consumer *consumer);
void attach(std::string_view event_name, event_consumer *consumer);
template <typename evt_t, typename... arg_t> void raise(arg_t &&...args) {
queue_event(std::make_shared<evt_t>(std::forward<arg_t>(args)...));
}
void release(event_consumer *consumer);
void start();
void stop();
};
using event_consumer = event_system::event_consumer;
#define E_CONSUMER() \
private: \
std::vector<std::shared_ptr<repertory::event_consumer>> event_consumers_
#define E_CONSUMER_RELEASE() event_consumers_.clear()
#define E_SUBSCRIBE(event, callback) \
event_consumers_.emplace_back(std::make_shared<repertory::event_consumer>( \
event::name, [this](const i_event &evt) { \
callback(dynamic_cast<const event &>(evt)); \
}))
#define E_SUBSCRIBE_ALL(callback) \
event_consumers_.emplace_back(std::make_shared<repertory::event_consumer>( \
[this](const i_event &evt) { callback(evt); }))
} // namespace repertory
#endif // REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_
/*
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_
#define REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_
#include "events/event.hpp"
#include "events/t_event_system.hpp"
namespace repertory {
using event_system = t_event_system<event>;
using event_consumer = event_system::event_consumer;
#define E_FROM_API_FILE_ERROR(e) api_error_to_string(e)
#define E_FROM_BOOL(t) std::to_string(t)
#define E_FROM_CURL_CODE(t) std::string(curl_easy_strerror(t))
#define E_FROM_DOUBLE(d) std::to_string(d)
#define E_FROM_DOUBLE_PRECISE(dbl_val) \
([](const double &d) -> std::string { \
std::stringstream ss; \
ss << std::fixed << std::setprecision(2) << d; \
return ss.str(); \
})(dbl_val)
#define E_FROM_INT32(t) std::to_string(t)
#define E_FROM_SIZE_T(t) std::to_string(t)
#define E_FROM_STRING(t) t
#define E_FROM_UINT16(t) std::to_string(t)
#define E_FROM_UINT64(t) std::to_string(t)
#define E_FROM_DOWNLOAD_TYPE(t) download_type_to_string(t)
#define E_PROP(type, name, short_name, ts) \
private: \
void init_##short_name(const type &val) { \
auto ts_val = ts(val); \
ss_ << "|" << #short_name << "|" << ts_val; \
j_[#name] = ts_val; \
} \
\
public: \
[[nodiscard]] auto get_##name() const->json { return j_[#name]; }
#define E_BEGIN(name, el) \
class name final : public virtual event { \
private: \
name(const std::stringstream &ss, const json &j, bool allow_async) \
: event(ss, j, allow_async) {} \
\
public: \
~name() override = default; \
\
public: \
static const event_level level = event_level::el; \
\
public: \
[[nodiscard]] auto get_name() const -> std::string override { \
return #name; \
} \
\
[[nodiscard]] auto get_event_level() const -> event_level override { \
return name::level; \
} \
\
[[nodiscard]] auto get_single_line() const -> std::string override { \
const auto s = ss_.str(); \
return get_name() + (s.empty() ? "" : s); \
} \
\
[[nodiscard]] auto clone() const -> std::shared_ptr<event> override { \
return std::shared_ptr<name>(new name(ss_, j_, get_allow_async())); \
}
#define E_END() }
#define E_SIMPLE(event_name, el, allow_async) \
E_BEGIN(event_name, el) \
public: \
event_name() : event(allow_async) {} \
E_END()
#define E_SIMPLE1(event_name, el, allow_async, type, name, short_name, tc) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv) : event(allow_async) { \
init_##short_name(tv); \
} \
E_PROP(type, name, short_name, tc) \
E_END()
#define E_SIMPLE2(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2) : event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_END()
#define E_SIMPLE3(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2, type3, name3, short_name3, \
tc3) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2, const type3 &tv3) \
: event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
init_##short_name3(tv3); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_PROP(type3, name3, short_name3, tc3) \
E_END()
#define E_SIMPLE4(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2, type3, name3, short_name3, \
tc3, type4, name4, short_name4, tc4) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2, const type3 &tv3, \
const type4 &tv4) \
: event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
init_##short_name3(tv3); \
init_##short_name4(tv4); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_PROP(type3, name3, short_name3, tc3) \
E_PROP(type4, name4, short_name4, tc4) \
E_END()
#define E_SIMPLE5(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2, type3, name3, short_name3, \
tc3, type4, name4, short_name4, tc4, type5, name5, \
short_name5, tc5) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2, const type3 &tv3, \
const type4 &tv4, const type5 &tv5) \
: event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
init_##short_name3(tv3); \
init_##short_name4(tv4); \
init_##short_name5(tv5); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_PROP(type3, name3, short_name3, tc3) \
E_PROP(type4, name4, short_name4, tc4) \
E_PROP(type5, name5, short_name5, tc5) \
E_END()
#define E_SIMPLE6(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2, type3, name3, short_name3, \
tc3, type4, name4, short_name4, tc4, type5, name5, \
short_name5, tc5, type6, name6, short_name6, tc6) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2, const type3 &tv3, \
const type4 &tv4, const type5 &tv5, const type6 &tv6) \
: event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
init_##short_name3(tv3); \
init_##short_name4(tv4); \
init_##short_name5(tv5); \
init_##short_name6(tv6); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_PROP(type3, name3, short_name3, tc3) \
E_PROP(type4, name4, short_name4, tc4) \
E_PROP(type5, name5, short_name5, tc5) \
E_PROP(type6, name6, short_name6, tc6) \
E_END()
#define E_SIMPLE7(event_name, el, allow_async, type, name, short_name, tc, \
type2, name2, short_name2, tc2, type3, name3, short_name3, \
tc3, type4, name4, short_name4, tc4, type5, name5, \
short_name5, tc5, type6, name6, short_name6, tc6, type7, \
name7, short_name7, tc7) \
E_BEGIN(event_name, el) \
explicit event_name(const type &tv, const type2 &tv2, const type3 &tv3, \
const type4 &tv4, const type5 &tv5, const type6 &tv6, \
const type7 &tv7) \
: event(allow_async) { \
init_##short_name(tv); \
init_##short_name2(tv2); \
init_##short_name3(tv3); \
init_##short_name4(tv4); \
init_##short_name5(tv5); \
init_##short_name6(tv6); \
init_##short_name7(tv7); \
} \
E_PROP(type, name, short_name, tc) \
E_PROP(type2, name2, short_name2, tc2) \
E_PROP(type3, name3, short_name3, tc3) \
E_PROP(type4, name4, short_name4, tc4) \
E_PROP(type5, name5, short_name5, tc5) \
E_PROP(type6, name6, short_name6, tc6) \
E_PROP(type7, name7, short_name7, tc7) \
E_END()
#define E_CONSUMER() \
private: \
std::vector<std::shared_ptr<repertory::event_consumer>> event_consumers_
#define E_CONSUMER_RELEASE() event_consumers_.clear()
#define E_SUBSCRIBE(name, callback) \
event_consumers_.emplace_back(std::make_shared<repertory::event_consumer>( \
#name, [this](const event &evt) { callback(evt); }))
#define E_SUBSCRIBE_EXACT(name, callback) \
event_consumers_.emplace_back(std::make_shared<repertory::event_consumer>( \
#name, [this](const event &evt) { \
callback(dynamic_cast<const name &>(evt)); \
}))
#define E_SUBSCRIBE_ALL(callback) \
event_consumers_.emplace_back(std::make_shared<repertory::event_consumer>( \
[this](const event &evt) { callback(evt); }))
} // namespace repertory
#endif // REPERTORY_INCLUDE_EVENTS_EVENT_SYSTEM_HPP_

View File

@ -0,0 +1,295 @@
/*
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_EVENTS_HPP_
#define REPERTORY_INCLUDE_EVENTS_EVENTS_HPP_
#include "events/event_system.hpp"
#include "types/repertory.hpp"
#include "utils/utils.hpp"
namespace repertory {
// clang-format off
E_SIMPLE2(curl_error, error, true,
std::string, url, url, E_FROM_STRING,
CURLcode, res, res, E_FROM_CURL_CODE
);
E_SIMPLE3(debug_log, debug, true,
std::string, function, func, E_FROM_STRING,
std::string, api_path, ap, E_FROM_STRING,
std::string, data, data, E_FROM_STRING
);
E_SIMPLE1(directory_removed, info, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE2(directory_removed_externally, warn, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE2(directory_remove_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE2(drive_mount_failed, error, true,
std::string, location, loc, E_FROM_STRING,
std::string, result, res, E_FROM_STRING
);
E_SIMPLE1(drive_mounted, info, true,
std::string, location, loc, E_FROM_STRING
);
E_SIMPLE1(drive_mount_result, info, true,
std::string, result, res, E_FROM_STRING
);
E_SIMPLE1(drive_unmount_pending, info, true,
std::string, location, loc, E_FROM_STRING
);
E_SIMPLE1(drive_unmounted, info, true,
std::string, location, loc, E_FROM_STRING
);
E_SIMPLE1(event_level_changed, info, true,
std::string, new_event_level, level, E_FROM_STRING
);
E_SIMPLE1(failed_upload_queued, error, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE1(failed_upload_removed, warn, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE1(failed_upload_retry, info, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE2(file_get_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE1(file_get_api_list_failed, error, true,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE1(file_pinned, info, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE3(file_read_bytes_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, error, err, E_FROM_STRING,
std::size_t, retry, retry, E_FROM_SIZE_T
);
E_SIMPLE1(file_removed, debug, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE2(file_removed_externally, warn, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE2(file_remove_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE3(file_rename_failed, error, true,
std::string, from_api_path, FROM, E_FROM_STRING,
std::string, to_api_path, TO, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE2(file_get_size_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE3(filesystem_item_added, debug, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, parent, parent, E_FROM_STRING,
bool, directory, dir, E_FROM_BOOL
);
E_SIMPLE4(filesystem_item_closed, trace, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
bool, directory, dir, E_FROM_BOOL,
bool, changed, changed, E_FROM_BOOL
);
E_SIMPLE5(filesystem_item_handle_closed, trace, true,
std::string, api_path, ap, E_FROM_STRING,
std::uint64_t, handle, handle, E_FROM_UINT64,
std::string, source, src, E_FROM_STRING,
bool, directory, dir, E_FROM_BOOL,
bool, changed, changed, E_FROM_BOOL
);
E_SIMPLE4(filesystem_item_handle_opened, trace, true,
std::string, api_path, ap, E_FROM_STRING,
std::uint64_t, handle, handle, E_FROM_UINT64,
std::string, source, src, E_FROM_STRING,
bool, directory, dir, E_FROM_BOOL
);
E_SIMPLE2(filesystem_item_evicted, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE3(filesystem_item_opened, trace, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
bool, directory, dir, E_FROM_BOOL
);
E_SIMPLE1(file_unpinned, info, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE4(file_upload_completed, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
api_error, result, res, E_FROM_API_FILE_ERROR,
bool, cancelled, cancel, E_FROM_BOOL
);
E_SIMPLE3(file_upload_failed, error, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
std::string, error, err, E_FROM_STRING
);
E_SIMPLE2(file_upload_not_found, warn, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE2(file_upload_queued, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE1(file_upload_removed, debug, true,
std::string, api_path, ap, E_FROM_STRING
);
E_SIMPLE3(file_upload_retry, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
api_error, result, res, E_FROM_API_FILE_ERROR
);
E_SIMPLE2(file_upload_started, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE1(orphaned_file_deleted, warn, true,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE1(orphaned_file_detected, warn, true,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE3(orphaned_file_processing_failed, error, true,
std::string, source, src, E_FROM_STRING,
std::string, dest, dest, E_FROM_STRING,
std::string, result, res, E_FROM_STRING
);
E_SIMPLE1(orphaned_source_file_detected, info, true,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE1(orphaned_source_file_removed, info, true,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE1(polling_item_begin, debug, true,
std::string, item_name, item, E_FROM_STRING
);
E_SIMPLE1(polling_item_end, debug, true,
std::string, item_name, item, E_FROM_STRING
);
E_SIMPLE2(provider_offline, error, true,
std::string, host_name_or_ip, host, E_FROM_STRING,
std::uint16_t, port, port, E_FROM_UINT16
);
E_SIMPLE2(provider_upload_begin, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING
);
E_SIMPLE3(provider_upload_end, info, true,
std::string, api_path, ap, E_FROM_STRING,
std::string, source, src, E_FROM_STRING,
api_error, result, res, E_FROM_API_FILE_ERROR
);
E_SIMPLE2(repertory_exception, error, true,
std::string, function, func, E_FROM_STRING,
std::string, message, msg, E_FROM_STRING
);
E_SIMPLE1(rpc_server_exception, error, true,
std::string, exception, exception, E_FROM_STRING
);
E_SIMPLE1(service_shutdown_begin, debug, true,
std::string, service, svc, E_FROM_STRING
);
E_SIMPLE1(service_shutdown_end, debug, true,
std::string, service, svc, E_FROM_STRING
);
E_SIMPLE1(service_started, debug, true,
std::string, service, svc, E_FROM_STRING
);
E_SIMPLE(unmount_requested, info, true);
#if !defined(_WIN32)
E_SIMPLE2(unmount_result, info, true,
std::string, location, loc, E_FROM_STRING,
std::string, result, res, E_FROM_STRING
);
#endif
// clang-format on
} // namespace repertory
#endif // REPERTORY_INCLUDE_EVENTS_EVENTS_HPP_

View File

@ -0,0 +1,193 @@
/*
Copyright <2018-2024> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_T_EVENT_SYSTEM_HPP_
#define REPERTORY_INCLUDE_EVENTS_T_EVENT_SYSTEM_HPP_
#include "events/event.hpp"
#include "utils/collection.hpp"
#include "utils/utils.hpp"
namespace repertory {
template <typename event_type> class t_event_system final {
public:
t_event_system(const t_event_system &) = delete;
t_event_system(t_event_system &&) = delete;
auto operator=(const t_event_system &) -> t_event_system & = delete;
auto operator=(t_event_system &&) -> t_event_system & = delete;
protected:
t_event_system() = default;
~t_event_system() { stop(); }
public:
class event_consumer final {
public:
explicit event_consumer(std::function<void(const event &)> callback)
: callback_(std::move(callback)) {
t_event_system::instance().attach(this);
}
event_consumer(const std::string &event_name,
std::function<void(const event &)> callback)
: callback_(std::move(callback)) {
t_event_system::instance().attach(event_name, this);
}
~event_consumer() { t_event_system::instance().release(this); }
public:
event_consumer(const event_consumer &) = delete;
event_consumer(event_consumer &&) = delete;
auto operator=(const event_consumer &) -> event_consumer & = delete;
auto operator=(event_consumer &&) -> event_consumer & = delete;
private:
std::function<void(const event &)> callback_;
public:
void notify_event(const event &event) { callback_(event); }
};
private:
static t_event_system event_system_;
public:
static auto instance() -> t_event_system &;
private:
std::unordered_map<std::string, std::deque<event_consumer *>>
event_consumers_;
std::recursive_mutex consumer_mutex_;
std::vector<std::shared_ptr<event_type>> event_list_;
std::condition_variable event_notify_;
std::mutex event_mutex_;
std::unique_ptr<std::thread> event_thread_;
std::mutex run_mutex_;
stop_type stop_requested_ = false;
private:
void process_events() {
std::vector<std::shared_ptr<event_type>> events;
{
unique_mutex_lock lock(event_mutex_);
if (not stop_requested_ && event_list_.empty()) {
event_notify_.wait_for(lock, 1s);
}
if (not event_list_.empty()) {
events.insert(events.end(), event_list_.begin(), event_list_.end());
event_list_.clear();
}
}
const auto notify_events = [this](const std::string &name,
const event_type &event) {
std::deque<std::future<void>> futures;
recur_mutex_lock lock(consumer_mutex_);
if (event_consumers_.find(name) != event_consumers_.end()) {
for (auto *consumer : event_consumers_[name]) {
if (event.get_allow_async()) {
futures.emplace_back(
std::async(std::launch::async, [consumer, &event]() {
consumer->notify_event(event);
}));
} else {
consumer->notify_event(event);
}
}
}
while (not futures.empty()) {
futures.front().get();
futures.pop_front();
}
};
for (const auto &evt : events) {
notify_events("", *evt.get());
notify_events(evt->get_name(), *evt.get());
}
}
void queue_event(std::shared_ptr<event_type> evt) {
mutex_lock lock(event_mutex_);
event_list_.push_back(std::move(evt));
event_notify_.notify_all();
}
public:
void attach(event_consumer *consumer) {
recur_mutex_lock lock(consumer_mutex_);
event_consumers_[""].push_back(consumer);
}
void attach(const std::string &event_name, event_consumer *consumer) {
recur_mutex_lock lock(consumer_mutex_);
event_consumers_[event_name].push_back(consumer);
}
template <typename event_t, typename... arg_t> void raise(arg_t &&...args) {
queue_event(std::make_shared<event_t>(std::forward<arg_t>(args)...));
}
void release(event_consumer *consumer) {
recur_mutex_lock lock(consumer_mutex_);
auto iter = std::find_if(event_consumers_.begin(), event_consumers_.end(),
[&](const auto &item) -> bool {
return utils::collection::includes(item.second,
consumer);
});
if (iter != event_consumers_.end()) {
utils::collection::remove_element((*iter).second, consumer);
}
}
void start() {
mutex_lock lock(run_mutex_);
if (not event_thread_) {
stop_requested_ = false;
event_thread_ = std::make_unique<std::thread>([this]() {
while (not stop_requested_) {
process_events();
}
});
}
}
void stop() {
mutex_lock lock(run_mutex_);
if (event_thread_) {
stop_requested_ = true;
event_notify_.notify_all();
event_thread_->join();
event_thread_.reset();
process_events();
}
}
};
} // namespace repertory
#endif // REPERTORY_INCLUDE_EVENTS_T_EVENT_SYSTEM_HPP_

View File

@ -1,74 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_CURL_ERROR_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_CURL_ERROR_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct curl_error final : public i_event {
curl_error() = default;
curl_error(CURLcode code_, std::string_view function_name_, std::string url_)
: code(code_),
function_name(std::string{function_name_}),
url(std::move(url_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"curl_error"};
CURLcode code{};
std::string function_name;
std::string url;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|url|{}|code|{}", name, function_name, url,
static_cast<int>(code));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::curl_error> {
static void to_json(json &data, const repertory::curl_error &value) {
data["code"] = value.code;
data["function_name"] = value.function_name;
data["url"] = value.url;
}
static void from_json(const json &data, repertory::curl_error &value) {
data.at("code").get_to<CURLcode>(value.code);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("url").get_to<std::string>(value.url);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_CURL_ERROR_HPP_

View File

@ -1,68 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DEBUG_LOG_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DEBUG_LOG_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct debug_log final : public i_event {
debug_log() = default;
debug_log(std::string_view function_name_, std::string msg_)
: function_name(std::string(function_name_)), msg(std::move(msg_)) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"debug_log"};
std::string function_name;
std::string msg;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|msg|{}", name, function_name, msg);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::debug_log> {
static void to_json(json &data, const repertory::debug_log &value) {
data["function_name"] = value.function_name;
data["msg"] = value.msg;
}
static void from_json(const json &data, repertory::debug_log &value) {
data.at("function_name").get_to<std::string>(value.function_name);
data.at("msg").get_to<std::string>(value.msg);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DEBUG_LOG_HPP_

View File

@ -1,78 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVE_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVE_FAILED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct directory_remove_failed final : public i_event {
directory_remove_failed() = default;
directory_remove_failed(std::string api_path_, api_error error_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
error(error_),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"directory_remove_failed"};
std::string api_path;
api_error error{};
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|error|{}", name, function_name,
api_path, api_error_to_string(error));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::directory_remove_failed> {
static void to_json(json &data,
const repertory::directory_remove_failed &value) {
data["api_path"] = value.api_path;
data["error"] = repertory::api_error_to_string(value.error);
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::directory_remove_failed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
value.error =
repertory::api_error_from_string(data.at("error").get<std::string>());
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVE_FAILED_HPP_

View File

@ -1,69 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct directory_removed final : public i_event {
directory_removed() = default;
directory_removed(std::string api_path_, std::string_view function_name_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"directory_removed"};
std::string api_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}", name, function_name, api_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::directory_removed> {
static void to_json(json &data, const repertory::directory_removed &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::directory_removed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_HPP_

View File

@ -1,78 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_EXTERNALLY_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_EXTERNALLY_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct directory_removed_externally final : public i_event {
directory_removed_externally() = default;
directory_removed_externally(std::string api_path_,
std::string_view function_name_,
std::string source_path_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)),
source_path(std::move(source_path_)) {}
static constexpr const event_level level{event_level::warn};
static constexpr const std::string_view name{"directory_removed_externally"};
std::string api_path;
std::string function_name;
std::string source_path;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|src|{}", name, function_name, api_path,
source_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::directory_removed_externally> {
static void to_json(json &data,
const repertory::directory_removed_externally &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
data["source_path"] = value.source_path;
}
static void from_json(const json &data,
repertory::directory_removed_externally &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("source_path").get_to<std::string>(value.source_path);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DIRECTORY_REMOVED_EXTERNALLY_HPP_

View File

@ -1,75 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_BEGIN_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_BEGIN_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_begin final : public i_event {
download_begin() = default;
download_begin(std::string api_path_, std::string dest_path_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"download_begin"};
std::string api_path;
std::string dest_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}", name, function_name, api_path,
dest_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_begin> {
static void to_json(json &data, const repertory::download_begin &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::download_begin &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_BEGIN_HPP_

View File

@ -1,80 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_END_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_END_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_end final : public i_event {
download_end() = default;
download_end(std::string api_path_, std::string dest_path_, api_error error_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
error(error_),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"download_end"};
std::string api_path;
std::string dest_path;
api_error error{};
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}|error|{}", name, function_name,
api_path, dest_path, api_error_to_string(error));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_end> {
static void to_json(json &data, const repertory::download_end &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["error"] = repertory::api_error_to_string(value.error);
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::download_end &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
value.error =
repertory::api_error_from_string(data.at("error").get<std::string>());
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_END_HPP_

View File

@ -1,79 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_PROGRESS_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_PROGRESS_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_progress final : public i_event {
download_progress() = default;
download_progress(std::string api_path_, std::string dest_path_,
std::string_view function_name_, double progress_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)),
progress(progress_) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"download_progress"};
std::string api_path;
std::string dest_path;
std::string function_name;
double progress{};
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}|prog|{}", name, function_name,
api_path, dest_path, progress);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_progress> {
static void to_json(json &data, const repertory::download_progress &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
data["progress"] = value.progress;
}
static void from_json(const json &data, repertory::download_progress &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("progress").get_to<double>(value.progress);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_PROGRESS_HPP_

View File

@ -1,81 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORE_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORE_FAILED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_restore_failed final : public i_event {
download_restore_failed() = default;
download_restore_failed(std::string api_path_, std::string dest_path_,
std::string error_, std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
error(std::move(error_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"download_restore_failed"};
std::string api_path;
std::string dest_path;
std::string error;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}|error|{}", name, function_name,
api_path, dest_path, error);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_restore_failed> {
static void to_json(json &data,
const repertory::download_restore_failed &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["error"] = value.error;
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::download_restore_failed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("error").get_to<std::string>(value.error);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORE_FAILED_HPP_

View File

@ -1,75 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_restored final : public i_event {
download_restored() = default;
download_restored(std::string api_path_, std::string dest_path_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"download_restored"};
std::string api_path;
std::string dest_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}", name, function_name, api_path,
dest_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_restored> {
static void to_json(json &data, const repertory::download_restored &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::download_restored &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESTORED_HPP_

View File

@ -1,82 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADD_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADD_FAILED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_resume_add_failed final : public i_event {
download_resume_add_failed() = default;
download_resume_add_failed(std::string api_path_, std::string dest_path_,
std::string error_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
error(std::move(error_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"download_resume_add_failed"};
std::string api_path;
std::string dest_path;
std::string error;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}|error|{}", name, function_name,
api_path, dest_path, error);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_resume_add_failed> {
static void to_json(json &data,
const repertory::download_resume_add_failed &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["error"] = value.error;
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::download_resume_add_failed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("error").get_to<std::string>(value.error);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADD_FAILED_HPP_

View File

@ -1,77 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADDED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADDED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_resume_added final : public i_event {
download_resume_added() = default;
download_resume_added(std::string api_path_, std::string dest_path_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"download_resume_added"};
std::string api_path;
std::string dest_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}", name, function_name, api_path,
dest_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_resume_added> {
static void to_json(json &data,
const repertory::download_resume_added &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::download_resume_added &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_ADDED_HPP_

View File

@ -1,77 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_REMOVED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_REMOVED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_resume_removed final : public i_event {
download_resume_removed() = default;
download_resume_removed(std::string api_path_, std::string dest_path_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"download_resume_removed"};
std::string api_path;
std::string dest_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}", name, function_name, api_path,
dest_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_resume_removed> {
static void to_json(json &data,
const repertory::download_resume_removed &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::download_resume_removed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_RESUME_REMOVED_HPP_

View File

@ -1,82 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_TYPE_SELECTED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_TYPE_SELECTED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct download_type_selected final : public i_event {
download_type_selected() = default;
download_type_selected(std::string api_path_, std::string dest_path_,
std::string_view function_name_, download_type type_)
: api_path(std::move(api_path_)),
dest_path(std::move(dest_path_)),
function_name(std::string(function_name_)),
type(type_) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"download_type_selected"};
std::string api_path;
std::string dest_path;
std::string function_name;
download_type type{};
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|dp|{}|type|{}", name, function_name,
api_path, dest_path, download_type_to_string(type));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::download_type_selected> {
static void to_json(json &data,
const repertory::download_type_selected &value) {
data["api_path"] = value.api_path;
data["dest_path"] = value.dest_path;
data["function_name"] = value.function_name;
data["type"] = repertory::download_type_to_string(value.type);
}
static void from_json(const json &data,
repertory::download_type_selected &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("dest_path").get_to<std::string>(value.dest_path);
data.at("function_name").get_to<std::string>(value.function_name);
value.type = repertory::download_type_from_string(
data.at("type").get<std::string>());
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DOWNLOAD_TYPE_SELECTED_HPP_

View File

@ -1,78 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_FAILED_HPP_
#if defined(_WIN32)
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_mount_failed final : public i_event {
drive_mount_failed() = default;
drive_mount_failed(NTSTATUS error_, std::string_view function_name_,
std::string mount_location_)
: error(error_),
function_name(std::string(function_name_)),
mount_location(std::move(mount_location_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"drive_mount_failed"};
NTSTATUS error{};
std::string function_name;
std::string mount_location;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|location|{}|status|{}", name, function_name,
mount_location, error);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_mount_failed> {
static void to_json(json &data, const repertory::drive_mount_failed &value) {
data["error"] = value.error;
data["function_name"] = value.function_name;
data["mount_location"] = value.mount_location;
}
static void from_json(const json &data,
repertory::drive_mount_failed &value) {
data.at("error").get_to<NTSTATUS>(value.error);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("mount_location").get_to<std::string>(value.mount_location);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // defined(_WIN32)
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_FAILED_HPP_

View File

@ -1,76 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_RESULT_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_RESULT_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_mount_result final : public i_event {
drive_mount_result() = default;
drive_mount_result(std::string_view function_name_,
std::string mount_location_, std::string result_)
: function_name(std::string(function_name_)),
mount_location(std::move(mount_location_)),
result(std::move(result_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"drive_mount_result"};
std::string function_name;
std::string mount_location;
std::string result;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|location|{}|result|{}", name, function_name,
mount_location, result);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_mount_result> {
static void to_json(json &data, const repertory::drive_mount_result &value) {
data["function_name"] = value.function_name;
data["mount_location"] = value.mount_location;
data["result"] = value.result;
}
static void from_json(const json &data,
repertory::drive_mount_result &value) {
data.at("function_name").get_to<std::string>(value.function_name);
data.at("mount_location").get_to<std::string>(value.mount_location);
data.at("result").get_to<std::string>(value.result);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNT_RESULT_HPP_

View File

@ -1,70 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNTED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNTED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_mounted final : public i_event {
drive_mounted() = default;
drive_mounted(std::string_view function_name_, std::string mount_location_)
: function_name(std::string(function_name_)),
mount_location(std::move(mount_location_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"drive_mounted"};
std::string function_name;
std::string mount_location;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|location|{}", name, function_name,
mount_location);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_mounted> {
static void to_json(json &data, const repertory::drive_mounted &value) {
data["function_name"] = value.function_name;
data["mount_location"] = value.mount_location;
}
static void from_json(const json &data, repertory::drive_mounted &value) {
data.at("function_name").get_to<std::string>(value.function_name);
data.at("mount_location").get_to<std::string>(value.mount_location);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_MOUNTED_HPP_

View File

@ -1,67 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_STOP_TIMED_OUT_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_STOP_TIMED_OUT_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_stop_timed_out final : public i_event {
drive_stop_timed_out() = default;
drive_stop_timed_out(std::string_view function_name_)
: function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::warn};
static constexpr const std::string_view name{"drive_stop_timed_out"};
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}", name, function_name);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_stop_timed_out> {
static void to_json(json &data,
const repertory::drive_stop_timed_out &value) {
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::drive_stop_timed_out &value) {
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_STOP_TIMED_OUT_HPP_

View File

@ -1,73 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNT_PENDING_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNT_PENDING_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_unmount_pending final : public i_event {
drive_unmount_pending() = default;
drive_unmount_pending(std::string_view function_name_,
std::string mount_location_)
: function_name(std::string(function_name_)),
mount_location(std::move(mount_location_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"drive_unmount_pending"};
std::string function_name;
std::string mount_location;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|location|{}", name, function_name,
mount_location);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_unmount_pending> {
static void to_json(json &data,
const repertory::drive_unmount_pending &value) {
data["function_name"] = value.function_name;
data["mount_location"] = value.mount_location;
}
static void from_json(const json &data,
repertory::drive_unmount_pending &value) {
data.at("function_name").get_to<std::string>(value.function_name);
data.at("mount_location").get_to<std::string>(value.mount_location);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNT_PENDING_HPP_

View File

@ -1,70 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNTED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNTED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct drive_unmounted final : public i_event {
drive_unmounted() = default;
drive_unmounted(std::string_view function_name_, std::string mount_location_)
: function_name(std::string(function_name_)),
mount_location(std::move(mount_location_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"drive_unmounted"};
std::string function_name;
std::string mount_location;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|location|{}", name, function_name,
mount_location);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::drive_unmounted> {
static void to_json(json &data, const repertory::drive_unmounted &value) {
data["function_name"] = value.function_name;
data["mount_location"] = value.mount_location;
}
static void from_json(const json &data, repertory::drive_unmounted &value) {
data.at("function_name").get_to<std::string>(value.function_name);
data.at("mount_location").get_to<std::string>(value.mount_location);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_DRIVE_UNMOUNTED_HPP_

View File

@ -1,71 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_EVENT_LEVEL_CHANGED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_EVENT_LEVEL_CHANGED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct event_level_changed final : public i_event {
event_level_changed() = default;
event_level_changed(std::string_view function_name_, event_level new_level_)
: function_name(std::string(function_name_)), new_level(new_level_) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"event_level_changed"};
std::string function_name;
event_level new_level{};
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|level|{}", name, function_name,
event_level_to_string(new_level));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::event_level_changed> {
static void to_json(json &data, const repertory::event_level_changed &value) {
data["new_level"] = repertory::event_level_to_string(value.new_level);
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::event_level_changed &value) {
value.new_level = repertory::event_level_from_string(
data.at("new_level").get<std::string>());
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_EVENT_LEVEL_CHANGED_HPP_

View File

@ -1,69 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_PINNED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_PINNED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_pinned final : public i_event {
file_pinned() = default;
file_pinned(std::string api_path_, std::string_view function_name_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"file_pinned"};
std::string api_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}", name, function_name, api_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_pinned> {
static void to_json(json &data, const repertory::file_pinned &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::file_pinned &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_PINNED_HPP_

View File

@ -1,77 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVE_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVE_FAILED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_remove_failed final : public i_event {
file_remove_failed() = default;
file_remove_failed(std::string api_path_, api_error error_,
std::string_view function_name_)
: api_path(std::move(api_path_)),
error(error_),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::error};
static constexpr const std::string_view name{"file_remove_failed"};
std::string api_path;
api_error error{};
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|error|{}", name, function_name,
api_path, api_error_to_string(error));
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_remove_failed> {
static void to_json(json &data, const repertory::file_remove_failed &value) {
data["api_path"] = value.api_path;
data["error"] = repertory::api_error_to_string(value.error);
data["function_name"] = value.function_name;
}
static void from_json(const json &data,
repertory::file_remove_failed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
value.error =
repertory::api_error_from_string(data.at("error").get<std::string>());
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVE_FAILED_HPP_

View File

@ -1,69 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_removed final : public i_event {
file_removed() = default;
file_removed(std::string api_path_, std::string_view function_name_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::debug};
static constexpr const std::string_view name{"file_removed"};
std::string api_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}", name, function_name, api_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_removed> {
static void to_json(json &data, const repertory::file_removed &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::file_removed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_HPP_

View File

@ -1,78 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_EXTERNALLY_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_EXTERNALLY_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_removed_externally final : public i_event {
file_removed_externally() = default;
file_removed_externally(std::string api_path_,
std::string_view function_name_,
std::string source_path_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)),
source_path(std::move(source_path_)) {}
static constexpr const event_level level{event_level::warn};
static constexpr const std::string_view name{"file_removed_externally"};
std::string api_path;
std::string function_name;
std::string source_path;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|src|{}", name, function_name, api_path,
source_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_removed_externally> {
static void to_json(json &data,
const repertory::file_removed_externally &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
data["source_path"] = value.source_path;
}
static void from_json(const json &data,
repertory::file_removed_externally &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("source_path").get_to<std::string>(value.source_path);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_REMOVED_EXTERNALLY_HPP_

View File

@ -1,69 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UNPINNED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UNPINNED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_unpinned final : public i_event {
file_unpinned() = default;
file_unpinned(std::string api_path_, std::string_view function_name_)
: api_path(std::move(api_path_)),
function_name(std::string(function_name_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"file_unpinned"};
std::string api_path;
std::string function_name;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}", name, function_name, api_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_unpinned> {
static void to_json(json &data, const repertory::file_unpinned &value) {
data["api_path"] = value.api_path;
data["function_name"] = value.function_name;
}
static void from_json(const json &data, repertory::file_unpinned &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("function_name").get_to<std::string>(value.function_name);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UNPINNED_HPP_

View File

@ -1,88 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_COMPLETED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_COMPLETED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_upload_completed final : public i_event {
file_upload_completed() = default;
file_upload_completed(std::string api_path_, bool cancelled_,
api_error error_, std::string_view function_name_,
std::string source_path_)
: api_path(std::move(api_path_)),
cancelled(cancelled_),
error(error_),
function_name(std::string(function_name_)),
source_path(std::move(source_path_)) {}
static constexpr const event_level level{event_level::info};
static constexpr const std::string_view name{"file_upload_completed"};
std::string api_path;
bool cancelled{};
api_error error{};
std::string function_name;
std::string source_path;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|cancelled|{}|error|{}|sp|{}", name,
function_name, api_path, cancelled,
api_error_to_string(error), source_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_upload_completed> {
static void to_json(json &data,
const repertory::file_upload_completed &value) {
data["api_path"] = value.api_path;
data["cancelled"] = value.cancelled;
data["error"] = repertory::api_error_to_string(value.error);
data["function_name"] = value.function_name;
data["source_path"] = value.source_path;
}
static void from_json(const json &data,
repertory::file_upload_completed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("cancelled").get_to<bool>(value.cancelled);
value.error =
repertory::api_error_from_string(data.at("error").get<std::string>());
data.at("function_name").get_to<std::string>(value.function_name);
data.at("source_path").get_to<std::string>(value.source_path);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_COMPLETED_HPP_

View File

@ -1,80 +0,0 @@
/*
Copyright <2018-2025> <scott.e.graves@protonmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#ifndef REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_FAILED_HPP_
#define REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_FAILED_HPP_
#include "events/i_event.hpp"
#include "types/repertory.hpp"
namespace repertory {
struct file_upload_failed final : public i_event {
file_upload_failed() = default;
file_upload_failed(std::string api_path_, std::string error_,
std::string_view function_name_, std::string source_path_)
: api_path(std::move(api_path_)),
error(std::move(error_)),
function_name(std::string(function_name_)),
source_path(std::move(source_path_)) {}
static constexpr const event_level level{event_level::warn};
static constexpr const std::string_view name{"file_upload_failed"};
std::string api_path;
std::string error;
std::string function_name;
std::string source_path;
[[nodiscard]] auto get_event_level() const -> event_level override {
return level;
}
[[nodiscard]] auto get_name() const -> std::string_view override {
return name;
}
[[nodiscard]] auto get_single_line() const -> std::string override {
return fmt::format("{}|func|{}|ap|{}|error|{}|sp|{}", name, function_name,
api_path, error, source_path);
}
};
} // namespace repertory
NLOHMANN_JSON_NAMESPACE_BEGIN
template <> struct adl_serializer<repertory::file_upload_failed> {
static void to_json(json &data, const repertory::file_upload_failed &value) {
data["api_path"] = value.api_path;
data["error"] = value.error;
data["function_name"] = value.function_name;
data["source_path"] = value.source_path;
}
static void from_json(const json &data,
repertory::file_upload_failed &value) {
data.at("api_path").get_to<std::string>(value.api_path);
data.at("error").get_to<std::string>(value.error);
data.at("function_name").get_to<std::string>(value.function_name);
data.at("source_path").get_to<std::string>(value.source_path);
}
};
NLOHMANN_JSON_NAMESPACE_END
#endif // REPERTORY_INCLUDE_EVENTS_TYPES_FILE_UPLOAD_FAILED_HPP_

Some files were not shown because too many files have changed in this diff Show More