File tree Expand file tree Collapse file tree 1 file changed +24
-4
lines changed
Sources/UnidocServer/Operations/Interactions Expand file tree Collapse file tree 1 file changed +24
-4
lines changed Original file line number Diff line number Diff line change 1
1
import HTTP
2
+ import GitHubAPI
2
3
import MongoDB
3
4
import UnidocUI
4
5
import Symbols
@@ -91,14 +92,33 @@ extension Unidoc.PackageConfigOperation:Unidoc.RestrictedOperation
91
92
rebuildPackageList = updated != nil
92
93
93
94
case . expires ( let when) :
94
- /// TODO: we should diagnose when we try to request a tags fetch for a package that
95
- /// uses webhooks, as this will fail silently.
96
- let _: Bool ? = try await server. db. crawlingTickets. move (
95
+ if case _? = try await server. db. crawlingTickets. move (
97
96
ticket: self . package ,
98
97
time: when,
99
98
with: session)
99
+ {
100
+ updated = nil
101
+ }
102
+ else if
103
+ let package : Unidoc. PackageMetadata = try await server. db. packages. detachWebhook (
104
+ package : self . package ,
105
+ with: session) ,
106
+ case . github( let origin) ? = package . repo? . origin,
107
+ let node: GitHub . Node = origin. node
108
+ {
109
+ let ticket : Unidoc . CrawlingTicket < Unidoc . Package > = . init( id: self . package ,
110
+ node: node,
111
+ time: when)
112
+ _ = try await server. db. crawlingTickets. create ( tickets: [ ticket] ,
113
+ with: session)
114
+
115
+ updated = package . symbol
116
+ }
117
+ else
118
+ {
119
+ return . notFound( " Package does not exist, or is missing GitHub node metadata \n " )
120
+ }
100
121
101
- updated = nil
102
122
rebuildPackageList = false
103
123
104
124
case . symbol ( let symbol) :
You can’t perform that action at this time.
0 commit comments