@igstack/app-catalog-backend-core 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,8 @@ export type DbResourceMinAggregateOutputType = {
42
42
  familySlug: string | null
43
43
  ownerPersonSlug: string | null
44
44
  accessComments: string | null
45
+ lastCheckedAt: Date | null
46
+ nextCheckAfter: Date | null
45
47
  createdAt: Date | null
46
48
  updatedAt: Date | null
47
49
  }
@@ -62,6 +64,8 @@ export type DbResourceMaxAggregateOutputType = {
62
64
  familySlug: string | null
63
65
  ownerPersonSlug: string | null
64
66
  accessComments: string | null
67
+ lastCheckedAt: Date | null
68
+ nextCheckAfter: Date | null
65
69
  createdAt: Date | null
66
70
  updatedAt: Date | null
67
71
  }
@@ -95,6 +99,8 @@ export type DbResourceCountAggregateOutputType = {
95
99
  accessMaintainerGroupSlugs: number
96
100
  accessComments: number
97
101
  extra:PrismaJson.SubResourceExtra
102
+ lastCheckedAt: number
103
+ nextCheckAfter: number
98
104
  createdAt: number
99
105
  updatedAt: number
100
106
  _all: number
@@ -117,6 +123,8 @@ export type DbResourceMinAggregateInputType = {
117
123
  familySlug?: true
118
124
  ownerPersonSlug?: true
119
125
  accessComments?: true
126
+ lastCheckedAt?: true
127
+ nextCheckAfter?: true
120
128
  createdAt?: true
121
129
  updatedAt?: true
122
130
  }
@@ -137,6 +145,8 @@ export type DbResourceMaxAggregateInputType = {
137
145
  familySlug?: true
138
146
  ownerPersonSlug?: true
139
147
  accessComments?: true
148
+ lastCheckedAt?: true
149
+ nextCheckAfter?: true
140
150
  createdAt?: true
141
151
  updatedAt?: true
142
152
  }
@@ -170,6 +180,8 @@ export type DbResourceCountAggregateInputType = {
170
180
  accessMaintainerGroupSlugs?: true
171
181
  accessComments?: true
172
182
  extra?: true
183
+ lastCheckedAt?: true
184
+ nextCheckAfter?: true
173
185
  createdAt?: true
174
186
  updatedAt?: true
175
187
  _all?: true
@@ -276,6 +288,8 @@ export type DbResourceGroupByOutputType = {
276
288
  accessMaintainerGroupSlugs: string[]
277
289
  accessComments: string | null
278
290
  extra:PrismaJson.SubResourceExtra | null
291
+ lastCheckedAt: Date | null
292
+ nextCheckAfter: Date | null
279
293
  createdAt: Date
280
294
  updatedAt: Date
281
295
  _count: DbResourceCountAggregateOutputType | null
@@ -330,6 +344,8 @@ export type DbResourceWhereInput = {
330
344
  accessMaintainerGroupSlugs?: Prisma.StringNullableListFilter<"DbResource">
331
345
  accessComments?: Prisma.StringNullableFilter<"DbResource"> | string | null
332
346
  extra?: Prisma.JsonNullableFilter<"DbResource">
347
+ lastCheckedAt?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
348
+ nextCheckAfter?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
333
349
  createdAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
334
350
  updatedAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
335
351
  sourceRefs?: Prisma.SourceReferenceListRelationFilter
@@ -366,6 +382,8 @@ export type DbResourceOrderByWithRelationInput = {
366
382
  accessMaintainerGroupSlugs?: Prisma.SortOrder
367
383
  accessComments?: Prisma.SortOrderInput | Prisma.SortOrder
368
384
  extra?: Prisma.SortOrderInput | Prisma.SortOrder
385
+ lastCheckedAt?: Prisma.SortOrderInput | Prisma.SortOrder
386
+ nextCheckAfter?: Prisma.SortOrderInput | Prisma.SortOrder
369
387
  createdAt?: Prisma.SortOrder
370
388
  updatedAt?: Prisma.SortOrder
371
389
  sourceRefs?: Prisma.SourceReferenceOrderByRelationAggregateInput
@@ -405,6 +423,8 @@ export type DbResourceWhereUniqueInput = Prisma.AtLeast<{
405
423
  accessMaintainerGroupSlugs?: Prisma.StringNullableListFilter<"DbResource">
406
424
  accessComments?: Prisma.StringNullableFilter<"DbResource"> | string | null
407
425
  extra?: Prisma.JsonNullableFilter<"DbResource">
426
+ lastCheckedAt?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
427
+ nextCheckAfter?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
408
428
  createdAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
409
429
  updatedAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
410
430
  sourceRefs?: Prisma.SourceReferenceListRelationFilter
@@ -441,6 +461,8 @@ export type DbResourceOrderByWithAggregationInput = {
441
461
  accessMaintainerGroupSlugs?: Prisma.SortOrder
442
462
  accessComments?: Prisma.SortOrderInput | Prisma.SortOrder
443
463
  extra?: Prisma.SortOrderInput | Prisma.SortOrder
464
+ lastCheckedAt?: Prisma.SortOrderInput | Prisma.SortOrder
465
+ nextCheckAfter?: Prisma.SortOrderInput | Prisma.SortOrder
444
466
  createdAt?: Prisma.SortOrder
445
467
  updatedAt?: Prisma.SortOrder
446
468
  _count?: Prisma.DbResourceCountOrderByAggregateInput
@@ -480,6 +502,8 @@ export type DbResourceScalarWhereWithAggregatesInput = {
480
502
  accessMaintainerGroupSlugs?: Prisma.StringNullableListFilter<"DbResource">
481
503
  accessComments?: Prisma.StringNullableWithAggregatesFilter<"DbResource"> | string | null
482
504
  extra?: Prisma.JsonNullableWithAggregatesFilter<"DbResource">
505
+ lastCheckedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"DbResource"> | Date | string | null
506
+ nextCheckAfter?: Prisma.DateTimeNullableWithAggregatesFilter<"DbResource"> | Date | string | null
483
507
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"DbResource"> | Date | string
484
508
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"DbResource"> | Date | string
485
509
  }
@@ -512,6 +536,8 @@ export type DbResourceCreateInput = {
512
536
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
513
537
  accessComments?: string | null
514
538
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
539
+ lastCheckedAt?: Date | string | null
540
+ nextCheckAfter?: Date | string | null
515
541
  createdAt?: Date | string
516
542
  updatedAt?: Date | string
517
543
  sourceRefs?: Prisma.SourceReferenceCreateNestedManyWithoutResourceInput
@@ -548,6 +574,8 @@ export type DbResourceUncheckedCreateInput = {
548
574
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
549
575
  accessComments?: string | null
550
576
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
577
+ lastCheckedAt?: Date | string | null
578
+ nextCheckAfter?: Date | string | null
551
579
  createdAt?: Date | string
552
580
  updatedAt?: Date | string
553
581
  sourceRefs?: Prisma.SourceReferenceUncheckedCreateNestedManyWithoutResourceInput
@@ -582,6 +610,8 @@ export type DbResourceUpdateInput = {
582
610
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
583
611
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
584
612
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
613
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
614
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
585
615
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
586
616
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
587
617
  sourceRefs?: Prisma.SourceReferenceUpdateManyWithoutResourceNestedInput
@@ -618,6 +648,8 @@ export type DbResourceUncheckedUpdateInput = {
618
648
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
619
649
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
620
650
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
651
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
652
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
621
653
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
622
654
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
623
655
  sourceRefs?: Prisma.SourceReferenceUncheckedUpdateManyWithoutResourceNestedInput
@@ -653,6 +685,8 @@ export type DbResourceCreateManyInput = {
653
685
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
654
686
  accessComments?: string | null
655
687
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
688
+ lastCheckedAt?: Date | string | null
689
+ nextCheckAfter?: Date | string | null
656
690
  createdAt?: Date | string
657
691
  updatedAt?: Date | string
658
692
  }
@@ -685,6 +719,8 @@ export type DbResourceUpdateManyMutationInput = {
685
719
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
686
720
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
687
721
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
722
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
723
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
688
724
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
689
725
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
690
726
  }
@@ -718,6 +754,8 @@ export type DbResourceUncheckedUpdateManyInput = {
718
754
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
719
755
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
720
756
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
757
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
758
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
721
759
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
722
760
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
723
761
  }
@@ -766,6 +804,8 @@ export type DbResourceCountOrderByAggregateInput = {
766
804
  accessMaintainerGroupSlugs?: Prisma.SortOrder
767
805
  accessComments?: Prisma.SortOrder
768
806
  extra?: Prisma.SortOrder
807
+ lastCheckedAt?: Prisma.SortOrder
808
+ nextCheckAfter?: Prisma.SortOrder
769
809
  createdAt?: Prisma.SortOrder
770
810
  updatedAt?: Prisma.SortOrder
771
811
  }
@@ -786,6 +826,8 @@ export type DbResourceMaxOrderByAggregateInput = {
786
826
  familySlug?: Prisma.SortOrder
787
827
  ownerPersonSlug?: Prisma.SortOrder
788
828
  accessComments?: Prisma.SortOrder
829
+ lastCheckedAt?: Prisma.SortOrder
830
+ nextCheckAfter?: Prisma.SortOrder
789
831
  createdAt?: Prisma.SortOrder
790
832
  updatedAt?: Prisma.SortOrder
791
833
  }
@@ -806,6 +848,8 @@ export type DbResourceMinOrderByAggregateInput = {
806
848
  familySlug?: Prisma.SortOrder
807
849
  ownerPersonSlug?: Prisma.SortOrder
808
850
  accessComments?: Prisma.SortOrder
851
+ lastCheckedAt?: Prisma.SortOrder
852
+ nextCheckAfter?: Prisma.SortOrder
809
853
  createdAt?: Prisma.SortOrder
810
854
  updatedAt?: Prisma.SortOrder
811
855
  }
@@ -978,6 +1022,8 @@ export type DbResourceCreateWithoutChildrenInput = {
978
1022
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
979
1023
  accessComments?: string | null
980
1024
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1025
+ lastCheckedAt?: Date | string | null
1026
+ nextCheckAfter?: Date | string | null
981
1027
  createdAt?: Date | string
982
1028
  updatedAt?: Date | string
983
1029
  sourceRefs?: Prisma.SourceReferenceCreateNestedManyWithoutResourceInput
@@ -1013,6 +1059,8 @@ export type DbResourceUncheckedCreateWithoutChildrenInput = {
1013
1059
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1014
1060
  accessComments?: string | null
1015
1061
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1062
+ lastCheckedAt?: Date | string | null
1063
+ nextCheckAfter?: Date | string | null
1016
1064
  createdAt?: Date | string
1017
1065
  updatedAt?: Date | string
1018
1066
  sourceRefs?: Prisma.SourceReferenceUncheckedCreateNestedManyWithoutResourceInput
@@ -1051,6 +1099,8 @@ export type DbResourceCreateWithoutParentInput = {
1051
1099
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1052
1100
  accessComments?: string | null
1053
1101
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1102
+ lastCheckedAt?: Date | string | null
1103
+ nextCheckAfter?: Date | string | null
1054
1104
  createdAt?: Date | string
1055
1105
  updatedAt?: Date | string
1056
1106
  sourceRefs?: Prisma.SourceReferenceCreateNestedManyWithoutResourceInput
@@ -1085,6 +1135,8 @@ export type DbResourceUncheckedCreateWithoutParentInput = {
1085
1135
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1086
1136
  accessComments?: string | null
1087
1137
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1138
+ lastCheckedAt?: Date | string | null
1139
+ nextCheckAfter?: Date | string | null
1088
1140
  createdAt?: Date | string
1089
1141
  updatedAt?: Date | string
1090
1142
  sourceRefs?: Prisma.SourceReferenceUncheckedCreateNestedManyWithoutResourceInput
@@ -1140,6 +1192,8 @@ export type DbResourceUpdateWithoutChildrenInput = {
1140
1192
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1141
1193
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1142
1194
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1195
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1196
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1143
1197
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1144
1198
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1145
1199
  sourceRefs?: Prisma.SourceReferenceUpdateManyWithoutResourceNestedInput
@@ -1175,6 +1229,8 @@ export type DbResourceUncheckedUpdateWithoutChildrenInput = {
1175
1229
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1176
1230
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1177
1231
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1232
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1233
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1178
1234
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1179
1235
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1180
1236
  sourceRefs?: Prisma.SourceReferenceUncheckedUpdateManyWithoutResourceNestedInput
@@ -1228,6 +1284,8 @@ export type DbResourceScalarWhereInput = {
1228
1284
  accessMaintainerGroupSlugs?: Prisma.StringNullableListFilter<"DbResource">
1229
1285
  accessComments?: Prisma.StringNullableFilter<"DbResource"> | string | null
1230
1286
  extra?: Prisma.JsonNullableFilter<"DbResource">
1287
+ lastCheckedAt?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
1288
+ nextCheckAfter?: Prisma.DateTimeNullableFilter<"DbResource"> | Date | string | null
1231
1289
  createdAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
1232
1290
  updatedAt?: Prisma.DateTimeFilter<"DbResource"> | Date | string
1233
1291
  }
@@ -1260,6 +1318,8 @@ export type DbResourceCreateWithoutSourceRefsInput = {
1260
1318
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1261
1319
  accessComments?: string | null
1262
1320
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1321
+ lastCheckedAt?: Date | string | null
1322
+ nextCheckAfter?: Date | string | null
1263
1323
  createdAt?: Date | string
1264
1324
  updatedAt?: Date | string
1265
1325
  parent?: Prisma.DbResourceCreateNestedOneWithoutChildrenInput
@@ -1295,6 +1355,8 @@ export type DbResourceUncheckedCreateWithoutSourceRefsInput = {
1295
1355
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1296
1356
  accessComments?: string | null
1297
1357
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1358
+ lastCheckedAt?: Date | string | null
1359
+ nextCheckAfter?: Date | string | null
1298
1360
  createdAt?: Date | string
1299
1361
  updatedAt?: Date | string
1300
1362
  children?: Prisma.DbResourceUncheckedCreateNestedManyWithoutParentInput
@@ -1344,6 +1406,8 @@ export type DbResourceUpdateWithoutSourceRefsInput = {
1344
1406
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1345
1407
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1346
1408
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1409
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1410
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1347
1411
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1348
1412
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1349
1413
  parent?: Prisma.DbResourceUpdateOneWithoutChildrenNestedInput
@@ -1379,6 +1443,8 @@ export type DbResourceUncheckedUpdateWithoutSourceRefsInput = {
1379
1443
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1380
1444
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1381
1445
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1446
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1447
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1382
1448
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1383
1449
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1384
1450
  children?: Prisma.DbResourceUncheckedUpdateManyWithoutParentNestedInput
@@ -1412,6 +1478,8 @@ export type DbResourceCreateManyParentInput = {
1412
1478
  accessMaintainerGroupSlugs?: Prisma.DbResourceCreateaccessMaintainerGroupSlugsInput | string[]
1413
1479
  accessComments?: string | null
1414
1480
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1481
+ lastCheckedAt?: Date | string | null
1482
+ nextCheckAfter?: Date | string | null
1415
1483
  createdAt?: Date | string
1416
1484
  updatedAt?: Date | string
1417
1485
  }
@@ -1444,6 +1512,8 @@ export type DbResourceUpdateWithoutParentInput = {
1444
1512
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1445
1513
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1446
1514
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1515
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1516
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1447
1517
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1448
1518
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1449
1519
  sourceRefs?: Prisma.SourceReferenceUpdateManyWithoutResourceNestedInput
@@ -1478,6 +1548,8 @@ export type DbResourceUncheckedUpdateWithoutParentInput = {
1478
1548
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1479
1549
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1480
1550
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1551
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1552
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1481
1553
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1482
1554
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1483
1555
  sourceRefs?: Prisma.SourceReferenceUncheckedUpdateManyWithoutResourceNestedInput
@@ -1512,6 +1584,8 @@ export type DbResourceUncheckedUpdateManyWithoutParentInput = {
1512
1584
  accessMaintainerGroupSlugs?: Prisma.DbResourceUpdateaccessMaintainerGroupSlugsInput | string[]
1513
1585
  accessComments?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
1514
1586
  extra?:PrismaJson.SubResourceExtra | Prisma.NullableJsonNullValueInput
1587
+ lastCheckedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1588
+ nextCheckAfter?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
1515
1589
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1516
1590
  updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
1517
1591
  }
@@ -1585,6 +1659,8 @@ export type DbResourceSelect<ExtArgs extends runtime.Types.Extensions.InternalAr
1585
1659
  accessMaintainerGroupSlugs?: boolean
1586
1660
  accessComments?: boolean
1587
1661
  extra?: boolean
1662
+ lastCheckedAt?: boolean
1663
+ nextCheckAfter?: boolean
1588
1664
  createdAt?: boolean
1589
1665
  updatedAt?: boolean
1590
1666
  sourceRefs?: boolean | Prisma.DbResource$sourceRefsArgs<ExtArgs>
@@ -1622,6 +1698,8 @@ export type DbResourceSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Ex
1622
1698
  accessMaintainerGroupSlugs?: boolean
1623
1699
  accessComments?: boolean
1624
1700
  extra?: boolean
1701
+ lastCheckedAt?: boolean
1702
+ nextCheckAfter?: boolean
1625
1703
  createdAt?: boolean
1626
1704
  updatedAt?: boolean
1627
1705
  parent?: boolean | Prisma.DbResource$parentArgs<ExtArgs>
@@ -1656,6 +1734,8 @@ export type DbResourceSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Ex
1656
1734
  accessMaintainerGroupSlugs?: boolean
1657
1735
  accessComments?: boolean
1658
1736
  extra?: boolean
1737
+ lastCheckedAt?: boolean
1738
+ nextCheckAfter?: boolean
1659
1739
  createdAt?: boolean
1660
1740
  updatedAt?: boolean
1661
1741
  parent?: boolean | Prisma.DbResource$parentArgs<ExtArgs>
@@ -1690,11 +1770,13 @@ export type DbResourceSelectScalar = {
1690
1770
  accessMaintainerGroupSlugs?: boolean
1691
1771
  accessComments?: boolean
1692
1772
  extra?: boolean
1773
+ lastCheckedAt?: boolean
1774
+ nextCheckAfter?: boolean
1693
1775
  createdAt?: boolean
1694
1776
  updatedAt?: boolean
1695
1777
  }
1696
1778
 
1697
- export type DbResourceOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "slug" | "type" | "displayName" | "abbreviation" | "nicknames" | "description" | "access" | "teams" | "accessRequest" | "notes" | "tags" | "appUrl" | "links" | "iconName" | "screenshotIds" | "deprecated" | "aiPrompt" | "urlIssues" | "tiers" | "parentSlug" | "tier" | "familySlug" | "aliases" | "ownerPersonSlug" | "accessMaintainerGroupSlugs" | "accessComments" | "extra" | "createdAt" | "updatedAt", ExtArgs["result"]["dbResource"]>
1779
+ export type DbResourceOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "slug" | "type" | "displayName" | "abbreviation" | "nicknames" | "description" | "access" | "teams" | "accessRequest" | "notes" | "tags" | "appUrl" | "links" | "iconName" | "screenshotIds" | "deprecated" | "aiPrompt" | "urlIssues" | "tiers" | "parentSlug" | "tier" | "familySlug" | "aliases" | "ownerPersonSlug" | "accessMaintainerGroupSlugs" | "accessComments" | "extra" | "lastCheckedAt" | "nextCheckAfter" | "createdAt" | "updatedAt", ExtArgs["result"]["dbResource"]>
1698
1780
  export type DbResourceInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1699
1781
  sourceRefs?: boolean | Prisma.DbResource$sourceRefsArgs<ExtArgs>
1700
1782
  parent?: boolean | Prisma.DbResource$parentArgs<ExtArgs>
@@ -1762,6 +1844,8 @@ export type $DbResourcePayload<ExtArgs extends runtime.Types.Extensions.Internal
1762
1844
  * [SubResourceExtra]
1763
1845
  */
1764
1846
  extra:PrismaJson.SubResourceExtra | null
1847
+ lastCheckedAt: Date | null
1848
+ nextCheckAfter: Date | null
1765
1849
  createdAt: Date
1766
1850
  updatedAt: Date
1767
1851
  }, ExtArgs["result"]["dbResource"]>
@@ -2218,6 +2302,8 @@ export interface DbResourceFieldRefs {
2218
2302
  readonly accessMaintainerGroupSlugs: Prisma.FieldRef<"DbResource", 'String[]'>
2219
2303
  readonly accessComments: Prisma.FieldRef<"DbResource", 'String'>
2220
2304
  readonly extra: Prisma.FieldRef<"DbResource", 'Json'>
2305
+ readonly lastCheckedAt: Prisma.FieldRef<"DbResource", 'DateTime'>
2306
+ readonly nextCheckAfter: Prisma.FieldRef<"DbResource", 'DateTime'>
2221
2307
  readonly createdAt: Prisma.FieldRef<"DbResource", 'DateTime'>
2222
2308
  readonly updatedAt: Prisma.FieldRef<"DbResource", 'DateTime'>
2223
2309
  }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Freshness semantic for a catalog resource.
3
+ *
4
+ * The backend owns this calculation so the frontend stays dumb: it just renders
5
+ * `lastCheckedAt` and, when `isStale` is true, a muted "may be out of date" note.
6
+ *
7
+ * Data source: the autoupdate scan records, per app, when its sources were last
8
+ * verified (`lastCheckedAt`) and when the next check is due (`nextCheckAfter`,
9
+ * adaptive backoff). "Stale" means the entry is more than a grace period past
10
+ * its due date — i.e. the automated freshness loop has fallen behind for this
11
+ * app, so a human reader should treat the info with mild caution.
12
+ */
13
+
14
+ import type { Freshness } from '../../types/common/appCatalogTypes'
15
+
16
+ export type { Freshness }
17
+
18
+ /** A check is "stale" once it is this far past its due date (ms). Default: 7 days. */
19
+ export const STALE_GRACE_MS = 7 * 24 * 60 * 60 * 1000
20
+
21
+ /**
22
+ * Compute the freshness semantic from the stored dates.
23
+ *
24
+ * @param lastCheckedAt ISO string or null — when sources were last verified.
25
+ * @param nextCheckAfter ISO string or null — when the next check is due.
26
+ * @param now current time (defaults to Date.now()); injectable for tests.
27
+ */
28
+ export function computeFreshness(
29
+ lastCheckedAt: string | null,
30
+ nextCheckAfter: string | null,
31
+ now: number = Date.now(),
32
+ ): Freshness {
33
+ // Never checked → no line is shown at all (frontend hides null lastCheckedAt).
34
+ if (!lastCheckedAt) {
35
+ return { lastCheckedAt: null, isStale: false }
36
+ }
37
+
38
+ let isStale = false
39
+ if (nextCheckAfter) {
40
+ const due = Date.parse(nextCheckAfter)
41
+ if (!Number.isNaN(due)) {
42
+ isStale = now - due > STALE_GRACE_MS
43
+ }
44
+ }
45
+
46
+ return { lastCheckedAt, isStale }
47
+ }
@@ -14,6 +14,7 @@ import type {
14
14
  import type { Group, Person } from '../../types/common/personGroupTypes'
15
15
  import { omit } from 'radashi'
16
16
  import { parseSourceSlug } from '../../utils/parseSourceSlug'
17
+ import { computeFreshness } from './freshness'
17
18
 
18
19
  /** Prisma query result for DbResource with sourceRefs included (used by rowToResource) */
19
20
  type ResourceRowWithSourceRefs = Prisma.DbResourceGetPayload<{
@@ -157,6 +158,10 @@ function rowToResource(row: ResourceRowWithSourceRefs): Resource {
157
158
  : undefined
158
159
  const tiers =
159
160
  row.tiers == null ? undefined : (row.tiers as unknown as Resource['tiers'])
161
+ const freshness = computeFreshness(
162
+ row.lastCheckedAt ? row.lastCheckedAt.toISOString() : null,
163
+ row.nextCheckAfter ? row.nextCheckAfter.toISOString() : null,
164
+ )
160
165
 
161
166
  return {
162
167
  id: row.id,
@@ -191,6 +196,8 @@ function rowToResource(row: ResourceRowWithSourceRefs): Resource {
191
196
  extra: row.extra
192
197
  ? (row.extra as unknown as Record<string, unknown>)
193
198
  : undefined,
199
+ // Only surface freshness once the app has actually been scanned.
200
+ freshness: freshness.lastCheckedAt ? freshness : undefined,
194
201
  }
195
202
  }
196
203
 
@@ -39,6 +39,17 @@ export interface SourceReference {
39
39
  parseDate: string | null
40
40
  }
41
41
 
42
+ /**
43
+ * Backend-computed freshness of an entry's source data. See
44
+ * `modules/appCatalog/freshness.ts` for how it is derived.
45
+ */
46
+ export interface Freshness {
47
+ /** ISO-8601 timestamp the app's sources were last verified, or null if never. */
48
+ lastCheckedAt: string | null
49
+ /** True when the entry is overdue for a re-check by more than the grace period. */
50
+ isStale: boolean
51
+ }
52
+
42
53
  /**
43
54
  * Resource entry in the catalog (application or sub-resource).
44
55
  * Unified model: applications have no parentSlug; sub-resources have parentSlug.
@@ -93,6 +104,20 @@ export interface Resource {
93
104
  accessComments?: string
94
105
  /** Arbitrary extra data */
95
106
  extra?: Record<string, unknown>
107
+ /**
108
+ * Backend-computed freshness of this entry's source data (OUTPUT — set by the
109
+ * serializer on the served Resource). The frontend renders it directly (no
110
+ * calculation): show `lastCheckedAt`, and a muted "may be out of date" note
111
+ * when `isStale`. Omitted when the app has never been scanned.
112
+ */
113
+ freshness?: Freshness
114
+ /**
115
+ * Raw freshness timestamps (INPUT — supplied by the company sync from its scan
116
+ * metadata, persisted to the DB). Not served to the frontend; the serializer
117
+ * derives `freshness` from these. ISO-8601 strings.
118
+ */
119
+ lastCheckedAt?: string | null
120
+ nextCheckAfter?: string | null
96
121
  }
97
122
 
98
123
  // Derived catalog data returned by backend