Skip to content

Commit 7145294

Browse files
committed
ratify Unidoc.PackageRepo schema update
1 parent f9342e9 commit 7145294

File tree

2 files changed

+6
-39
lines changed

2 files changed

+6
-39
lines changed

Sources/UnidocDB/Packages/Unidoc.DB.Packages.swift

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,6 @@ extension Unidoc.DB.Packages
3636
}
3737
}
3838

39-
public static
40-
let indexExpiration:Mongo.CollectionIndex = .init("RepoExpires", unique: false)
41-
{
42-
$0[Unidoc.PackageMetadata[.repo] / Unidoc.PackageRepo[.expires]] = (+)
43-
}
44-
where:
45-
{
46-
$0[Unidoc.PackageMetadata[.repo] / Unidoc.PackageRepo[.expires]]
47-
{
48-
$0[.exists] = true
49-
}
50-
}
51-
5239
public static
5340
let indexRepoCreated:Mongo.CollectionIndex = .init("RepoCreated", unique: false)
5441
{
@@ -97,7 +84,6 @@ extension Unidoc.DB.Packages:Mongo.CollectionModel
9784
{
9885
[
9986
Self.indexAccount,
100-
Self.indexExpiration,
10187
Self.indexRepoCreated,
10288
Self.indexRepoGitHub,
10389
Self.indexRealm,

Sources/UnidocRecords/Packages/Unidoc.PackageRepo.swift

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,6 @@ extension Unidoc
1010
/// crawling is how we obtain this structure in the first place.
1111
public
1212
var crawled:UnixMillisecond
13-
/// When the package’s tags were last fetched. Nil if the package’s tags have not been
14-
/// read yet.
15-
public
16-
var _fetched:UnixMillisecond?
17-
/// When we should fetch the package’s tags again. This is nil in some cases where we
18-
/// do not want to crawl the package at all, such as when the package is archived or
19-
/// unfree.
20-
///
21-
/// Packages that we want to crawl frequently will expire instantly – that is, they
22-
/// have an expiration equal to ``fetched``.
23-
///
24-
/// Even if this becomes nil, it is expected that a small number of packages may again
25-
/// be rediscovered later and ruled eligible for crawling.
26-
public
27-
var _expires:UnixMillisecond?
2813

2914
/// The account that owns the repo, and could be reasonably allowed to update its
3015
/// package settings.
@@ -68,8 +53,6 @@ extension Unidoc
6853
@inlinable public
6954
init(
7055
crawled:UnixMillisecond,
71-
_fetched:UnixMillisecond? = nil,
72-
_expires:UnixMillisecond? = nil,
7356
account:Account?,
7457
created:UnixMillisecond,
7558
updated:UnixMillisecond,
@@ -81,8 +64,6 @@ extension Unidoc
8164
stars:Int = 0)
8265
{
8366
self.crawled = crawled
84-
self._fetched = _fetched
85-
self._expires = _expires
8667
self.account = account
8768

8869
self.created = created
@@ -102,8 +83,12 @@ extension Unidoc.PackageRepo
10283
enum CodingKey:String, Sendable
10384
{
10485
case crawled = "I"
86+
87+
@available(*, unavailable)
10588
case fetched = "G"
89+
@available(*, unavailable)
10690
case expires = "E"
91+
10792
case account = "A"
10893

10994
case created = "C"
@@ -125,8 +110,6 @@ extension Unidoc.PackageRepo:BSONDocumentEncodable
125110
func encode(to bson:inout BSON.DocumentEncoder<CodingKey>)
126111
{
127112
bson[.crawled] = self.crawled
128-
bson[.fetched] = self._fetched
129-
bson[.expires] = self._expires
130113
bson[.account] = self.account
131114
bson[.created] = self.created
132115
bson[.updated] = self.updated
@@ -151,10 +134,8 @@ extension Unidoc.PackageRepo:BSONDocumentDecodable
151134
{
152135
let origin:Unidoc.PackageOrigin = .github(try bson[.github].decode())
153136

154-
self.init( // TODO: deoptionalize
155-
crawled: try bson[.crawled]?.decode() ?? .zero,
156-
_fetched: try bson[.fetched]?.decode(),
157-
_expires: try bson[.expires]?.decode(),
137+
self.init(
138+
crawled: try bson[.crawled].decode(),
158139
account: try bson[.account]?.decode(),
159140
created: try bson[.created].decode(),
160141
updated: try bson[.updated].decode(),

0 commit comments

Comments
 (0)