Commit Graph

345 Commits

Author SHA1 Message Date
Derrick Hammer dde5d255a6
fix: debug api needs cors support 2024-03-02 06:08:23 -05:00
Derrick Hammer 3654607f3f
refactor: replace debug apu auth middlewares with proxy middlewares 2024-03-02 05:01:21 -05:00
Derrick Hammer a96fc8682f
fix: return error not S5Error 2024-03-02 04:55:04 -05:00
Derrick Hammer 7315f8e694
fix: need to manually extract the multipart filename because goes internals strips file paths 2024-03-02 04:54:29 -05:00
Derrick Hammer 0c0cdfd2b1
fix: fix parsing of app upload settings, as they are json, and errorPages needs to be errorFiles 2024-03-02 04:51:28 -05:00
Derrick Hammer 8a112a8c12
refactor: make S5File implement fs.ReadDirFile and fs.DirEntry 2024-03-01 23:30:06 -05:00
Derrick Hammer 1dff84accf
refactor: make resolveDirCid a utility function 2024-03-01 23:28:05 -05:00
Derrick Hammer b87ba1e6bf
feat: add support for webapp and dir cid's in dnslink 2024-03-01 22:50:22 -05:00
Derrick Hammer 8e2adba1eb
feat: add initial fs interfaces for webapp and dir 2024-03-01 22:49:47 -05:00
Derrick Hammer 3dbd791314
feat: add S5FileInfo struct and refactorings needed to be used as a fs.File and in a fs.Fs 2024-03-01 22:49:17 -05:00
Derrick Hammer f79a0dd448
fix: need to use hashBytes and an optional type 2024-03-01 22:46:42 -05:00
Derrick Hammer a1f36df8b9
refactor: change newFile to take the params struct directly and fill in the blanks 2024-03-01 21:59:49 -05:00
Derrick Hammer 65548e8ec7
refactor: pass cidType to new S5File 2024-03-01 21:44:02 -05:00
Derrick Hammer f63d567b53
refactor: add support for using a passed cid type 2024-03-01 21:32:06 -05:00
Derrick Hammer 217bb78b3b
fix: ExistingUploadID no longer needed 2024-03-01 20:56:22 -05:00
Derrick Hammer aefe9efaaa
fix: export struct and add json tags 2024-03-01 10:30:08 -05:00
Derrick Hammer aacdd48428
fix: we need to track when the queue is finished ourselves 2024-03-01 10:11:03 -05:00
Derrick Hammer d5e2770135
refactor: don't use a buffered chan 2024-03-01 05:14:47 -05:00
Derrick Hammer 56100e5d50
fix: shadow cid 2024-03-01 04:55:46 -05:00
Derrick Hammer 866739007c
refactor: use golang-queue to parallel process pinning checks 2024-03-01 04:27:24 -05:00
Derrick Hammer 8f6e7d1acc
fix: dont add nil cids 2024-03-01 04:14:11 -05:00
Derrick Hammer 7ec4f26142
fix: only try to fetch proof file if we are over the post limit 2024-03-01 04:01:22 -05:00
Derrick Hammer a1572b256b
fix: init results 2024-03-01 04:00:39 -05:00
Derrick Hammer 3f2757fb18
feat: add support for resolving a registry entry when pinning 2024-02-29 12:08:04 -05:00
Derrick Hammer b3df326980
feat: add support for recursively pinning a manifest and all its children 2024-02-29 12:02:49 -05:00
Derrick Hammer c984d72cfd
refactor: add performance logging for bao 2024-02-28 12:33:13 -05:00
Derrick Hammer d9d85f2804
fix: casing 2024-02-27 11:14:38 -05:00
Derrick Hammer 097e29aa94
refactor: switch to using All api then filter to find valid locations 2024-02-27 10:58:15 -05:00
Derrick Hammer 944c5f01b9
refactor: add support for ExcludeNodes via excludeSelf in newStorageLocationProvider 2024-02-27 07:31:59 -05:00
Derrick Hammer 9f5b676f47
refactor: use S3MultipartUpload if greater than S3_MULTIPART_MIN_PART_SIZE 2024-02-27 06:14:27 -05:00
Derrick Hammer 01eda4aa23
fix: need to pass content length 2024-02-27 04:31:55 -05:00
Derrick Hammer 9b6a253313
fix: need to use Get, head isn't always supported 2024-02-27 04:26:55 -05:00
Derrick Hammer 8f8944a645
fix: pass ctx 2024-02-27 03:43:41 -05:00
Derrick Hammer 33af108d39
feat: add password reset endpoints 2024-02-26 11:04:05 -05:00
Derrick Hammer 057db6a636
feat: add /api/auth/verify-email endpoint 2024-02-26 10:47:47 -05:00
Derrick Hammer e629618f25
fix: apply ProxyMiddleware to register 2024-02-26 10:43:55 -05:00
Derrick Hammer b3d63007e1
fix: pass login ip 2024-02-26 08:30:17 -05:00
Derrick Hammer 355033634d
refactor: set login ip with LoginPubkey 2024-02-26 08:28:22 -05:00
Derrick Hammer b270d6f414
fix: CreateAccount needs a verify email argument 2024-02-26 08:23:53 -05:00
Derrick Hammer 88ef43acaa
fix: dnslink would not import 2024-02-26 08:18:55 -05:00
Derrick Hammer 90834601d7
refactor: modify CreateAccount to optionally send an email verification 2024-02-26 08:15:10 -05:00
Derrick Hammer 907de0b3af
fix: need to init apiDomain 2024-02-25 09:54:34 -05:00
Derrick Hammer 38375d44d8
feat: initial DNS link support 2024-02-25 09:47:40 -05:00
Derrick Hammer 40b3504c1d
refactor: rewrite main api router to be a class, lazy init it, and introduce RoutableAPI which can dynamically handle incoming requests if the main routes aren't matched 2024-02-25 08:36:32 -05:00
Derrick Hammer 8885fd37cc
refactor: use job terminology for consistency 2024-02-25 07:50:59 -05:00
Derrick Hammer d618f08275
refactor: rename RetryableTask to RetryableJob 2024-02-25 07:49:22 -05:00
Derrick Hammer 5c3d1144d4
feat: add ability for pinning to import a CID via cron task 2024-02-25 07:23:30 -05:00
Derrick Hammer ea8c50edc7
refactor: make PostUploadLimit uint64 2024-02-25 02:10:41 -05:00
Derrick Hammer ee2f7331eb
fix: routes need http verbs 2024-02-23 08:20:03 -05:00
Derrick Hammer 7f12ee5b0d
refactor: implement new configuration management system 2024-02-22 02:13:59 -05:00
Derrick Hammer 8f78f6fe87
fix: metadata service not passed in construction 2024-02-17 23:27:37 -05:00
Derrick Hammer fc042570ab
refactor: change to store the hash as a raw, but also make it unique with an index 2024-02-17 23:17:26 -05:00
Derrick Hammer 84a78b7a7e
fix: use realKey 2024-02-17 20:25:30 -05:00
Derrick Hammer 7ec03524ed
fix: need to pass the claim by ref 2024-02-17 20:12:49 -05:00
Derrick Hammer 2fd3368b5a
fix: trim bearer in lowercase 2024-02-17 19:48:28 -05:00
Derrick Hammer c076d219d0
refactor: move checking of users name to api layer 2024-02-17 08:45:06 -05:00
Derrick Hammer 162af1e274
refactor: switch to using package init functions with build tags to selectively build protocol support 2024-02-17 07:40:22 -05:00
Derrick Hammer 3ded11d705
fix: HttpMiddlewareFunc needs its own case 2024-02-17 05:38:50 -05:00
Derrick Hammer 9949dae5e8
fix: add HttpMiddlewareFunc to switch case 2024-02-17 05:28:56 -05:00
Derrick Hammer d4be04eae9
fix: need to use a param struct 2024-02-17 05:23:33 -05:00
Derrick Hammer 30b18a4ced
fix: update Routes signature 2024-02-17 03:14:17 -05:00
Derrick Hammer 24694ecbae
feat: create new swagger package 2024-02-17 03:05:22 -05:00
Derrick Hammer 3b9f4bbe3d
feat: add MergeRoutes 2024-02-17 03:04:27 -05:00
Derrick Hammer 7c330e308e
refactor: allow Routes to return an error 2024-02-17 03:04:15 -05:00
Derrick Hammer a5f0a4bfcc
fix: GetUploadReader needs ctx 2024-02-17 02:38:07 -05:00
Derrick Hammer c452b0c271
refactor: add context 2024-02-17 02:37:52 -05:00
Derrick Hammer c468a81543
refactor: remove tus out of method names 2024-02-16 22:03:34 -05:00
Derrick Hammer 93e727ab3b
refactor: epic protocol and storage design refactor 2024-02-16 22:00:53 -05:00
Derrick Hammer cd9cccc2a9
refactor: merge http handler back to account api struct 2024-02-16 08:52:30 -05:00
Derrick Hammer 7834471b84
refactor: merge http handler back to s5 api struct 2024-02-16 08:49:19 -05:00
Derrick Hammer 7f5847f7da
chore: remove commented code 2024-02-16 08:42:26 -05:00
Derrick Hammer f0d7a337db
refactor: change how init of protocols works and make router building part of the interface 2024-02-16 08:39:55 -05:00
Derrick Hammer 1b3934c793
refactor: update usage of errors 2024-02-15 21:06:30 -05:00
Derrick Hammer 3f90cbfe09
refactor: use new errors and optimize code 2024-02-15 20:55:38 -05:00
Derrick Hammer c084743b47
refactor: apply auth and proxy middlewares 2024-02-14 00:41:02 -05:00
Derrick Hammer 41a6772c9f
chore: emailverifier no longer needed here 2024-02-13 23:32:23 -05:00
Derrick Hammer 8b9471aa04
refactor: switch to GetUserFromContext 2024-02-13 23:29:48 -05:00
Derrick Hammer 431dec55f9
feat: otp api support 2024-02-13 23:23:01 -05:00
Derrick Hammer 16689f6c31
feat: add GetUserFromContext 2024-02-13 23:22:36 -05:00
Derrick Hammer f645499c7f
refactor: prefix all jwt helpers 2024-02-13 22:31:44 -05:00
Derrick Hammer 50c4d8b945
refactor: clean up use of auth middleware in s5 2024-02-13 22:25:50 -05:00
Derrick Hammer 0b3d54e7c5
refactor: major middleware refactor 2024-02-13 22:17:34 -05:00
Derrick Hammer 171b810504
fix: remove duplicate check 2024-02-13 20:01:45 -05:00
Derrick Hammer 2d3b755cb2
refactor: update use of LoginPassword 2024-02-13 19:58:00 -05:00
Derrick Hammer 6f61f09ba4
refactor: move email validation to gorm 2024-02-13 19:41:00 -05:00
Derrick Hammer 3e629cf46e
refactor: update usage of account methods 2024-02-13 19:29:37 -05:00
Derrick Hammer bbb68aecb5
refactor: use EmailExists and add logging 2024-02-13 19:28:23 -05:00
Derrick Hammer 5598660176
refactor: un-export all s5 http handlers 2024-02-13 19:10:24 -05:00
Derrick Hammer 3c55ed2853
feat: add initial account services api 2024-02-13 19:07:24 -05:00
Derrick Hammer 78accd1f02
fix: add missing content responses to upload api's 2024-02-13 00:32:16 -05:00
Derrick Hammer 227ac9b403
fix: wrong proof extension 2024-02-09 15:58:15 -05:00
Derrick Hammer 0c00e2e7d9
feat: add proof download support to download endpoint 2024-02-09 15:49:34 -05:00
Derrick Hammer e7ac46de32
fix: update method calls and hash object usage 2024-02-09 15:28:50 -05:00
Derrick Hammer b939ea109c
refactor: add tags to swagger 2024-02-07 20:31:42 -05:00
Derrick Hammer 7c945f0a2d
refactor: clean up and remove version check 2024-02-07 20:21:44 -05:00
Derrick Hammer 89cdd01698
fix: update swagger json url 2024-02-07 20:20:13 -05:00
Derrick Hammer 8e04de591e
fix: add content type header to byteHandler 2024-02-07 20:19:56 -05:00
Derrick Hammer 172b040365
refactor: more refactoring on swagger handlers 2024-02-07 20:19:22 -05:00
Derrick Hammer 279cc484fc
refactor: merge flowchartsman/swaggerui into our own code base to simplify routing 2024-02-07 19:18:11 -05:00
Derrick Hammer 69ae351d94
fix: schema fixes 2024-02-07 18:25:20 -05:00
Derrick Hammer 192ac364c5
fix: schema fixes 2024-02-07 18:14:43 -05:00
Derrick Hammer 0f3f92442a
fix: schema fixes 2024-02-07 17:56:16 -05:00
Derrick Hammer be92e036f3
feat: initial swagger support 2024-02-07 17:39:18 -05:00
Derrick Hammer d13c15212c
fix: need to create a special mock handler for tus cors, and make cores a dedicated middleware function 2024-02-03 20:11:47 -05:00
Derrick Hammer 6655abe61b
fix: need to allow Upload-Length through cors 2024-02-03 20:02:11 -05:00
Derrick Hammer 8a1e586b28
fix: need to allow Upload-Concat through cors 2024-02-03 20:00:40 -05:00
Derrick Hammer 39b4977d52
fix: need to allow Expires through cors 2024-02-03 19:59:43 -05:00
Derrick Hammer 130abe6098
fix: need to allow Authorization through cors 2024-02-03 19:58:17 -05:00
Derrick Hammer 5784afe064
fix: need to create custom cors middleware instance for tus 2024-02-03 19:55:32 -05:00
Derrick Hammer 6894cd7e54
refactor: put cors middleware 1st 2024-02-03 19:46:02 -05:00
Derrick Hammer d57a14d9a3
fix: need to add options routes 2024-02-03 19:34:55 -05:00
Derrick Hammer fd721077e5
fix: need to apply cors to tus upload 2024-02-03 19:25:13 -05:00
Derrick Hammer 6d34f5b683
refactor: change struct naming convention from "impl" to "default" 2024-01-31 20:29:27 -05:00
Derrick Hammer 883504225e
fix: lifecycle setup needs to return nil 2024-01-30 14:53:50 -05:00
Derrick Hammer 1721fbf832
fix: update imports 2024-01-30 00:33:57 -05:00
Derrick Hammer e034e1d54e
refactor: restructure s5 protocol/api to use new fx module and new library structure. Also move the proto/api to its own package for organization 2024-01-29 15:11:57 -05:00
Derrick Hammer b4e2e962e5
fix: we can use modules in the builders after all 2024-01-28 05:22:11 -05:00
Derrick Hammer 18a54917a0
fix: add LifecyclesParams struct 2024-01-28 04:45:34 -05:00
Derrick Hammer 610d5fe268
fix: add init to create an empty router 2024-01-28 04:44:16 -05:00
Derrick Hammer 646a65f814
fix: need to use group tag 2024-01-28 04:23:58 -05:00
Derrick Hammer a410cc55f0
fix: dont return pointer 2024-01-28 04:22:49 -05:00
Derrick Hammer 4348ff6dfe
fix: HttpHandler needs a Result struct 2024-01-28 04:18:32 -05:00
Derrick Hammer c326d9b61b
fix: we cannot wrap the build into a module as it causes provide issues 2024-01-28 04:17:22 -05:00
Derrick Hammer 5fd601407f
chore: unused function 2024-01-28 04:02:40 -05:00
Derrick Hammer ceabb95f6d
fix: we need to pass out the api in both struct and interface form for fx to read it properly 2024-01-28 04:01:36 -05:00
Derrick Hammer 80484079d6
refactor: we dont need to register the router 2024-01-28 03:03:04 -05:00
Derrick Hammer 8c89796341
refactor: use a centralized list key for enabled protocols 2024-01-28 03:01:12 -05:00
Derrick Hammer f7057142eb
fix: add init func to s5 api 2024-01-28 02:51:35 -05:00
Derrick Hammer 55f515157d
refactor: move BuildS5TusApi and export middlewares to break import cycle 2024-01-28 02:48:02 -05:00
Derrick Hammer 2dc8fc56f5
refactor: epic refactor to use uber fx microframework/DI framework to manage dependency graph, remove the portal object, and remove the interfaces package 2024-01-28 02:20:59 -05:00
Derrick Hammer ad54cc70b3
fix: need to pass content type header before ServeContent 2024-01-25 19:18:35 -05:00
Derrick Hammer be27728b42
feat: need to support mime type in small uploads 2024-01-25 19:15:01 -05:00
Derrick Hammer 541fcff779
feat: add cors support 2024-01-25 18:25:10 -05:00
Derrick Hammer 73bd74faeb
refactor: use storage NewFile 2024-01-25 16:34:31 -05:00
Derrick Hammer 8797460bf8
refactor: revert to using http.StripPrefix 2024-01-25 09:23:23 -05:00
Derrick Hammer 14d8760c1f
fix: pass name to http.ServeContent 2024-01-24 19:23:42 -05:00
Derrick Hammer bf15faf33f
feat: need else on hash check 2024-01-24 19:10:19 -05:00
Derrick Hammer bf25d7bfda
feat: use new file abstraction and use http.ServeContent 2024-01-24 19:08:13 -05:00
Derrick Hammer 95b57cffc0
fix: handle both cid and base64url hash 2024-01-24 17:15:21 -05:00
Derrick Hammer 562742fd8e
fix: disable auth for downloads temporarily 2024-01-24 17:07:50 -05:00
Derrick Hammer 523286df32
fix: use MaxUint32 2024-01-24 12:51:19 -05:00
Derrick Hammer 60c905181c
fix: manually encode list 2024-01-24 12:34:50 -05:00
Derrick Hammer c976ec31be
fix: create an AccountPinResponse with a custom msgpack encoder 2024-01-24 12:29:25 -05:00
Derrick Hammer b3f8b483db
Revert "debug: revert prefix hack"
This reverts commit 9002064937.
2024-01-24 09:51:13 -05:00
Derrick Hammer 9002064937
debug: revert prefix hack 2024-01-24 09:34:05 -05:00
Derrick Hammer a4137102e6
fix: import cycle 2024-01-24 03:36:03 -05:00
Derrick Hammer 6a2b1b4a9b
feat: implement provider store 2024-01-24 03:28:47 -05:00
Derrick Hammer 22eacc4af1
feat: implement /s5/download/:cid 2024-01-24 01:27:05 -05:00
Derrick Hammer 35cd041978
fix: can't use JapeMiddlewareFunc in type switch to cast 2024-01-22 17:06:39 -05:00
Derrick Hammer 2020a9f1d1
fix: change HttpMiddlewareFunc to not have a variable name 2024-01-22 17:03:54 -05:00