Repository: WordPress/openverse-api

Issue:
[Feature] Add new Authority Type
## Problem
<!-- Describe a problem solved by this feature; or delete the section entirely. -->

We currently lack an authority type for curated image galleries: places like https://stocksnap.io where content is manually curated by the platform, but it isn't a site with social, user-uploaded content, or isn't a formal GLAM institution.

## Description
<!-- Describe the feature and how it solves the problem. -->

Our current authorities:

https://github.com/WordPress/openverse-api/blob/9d0d724651f18cc9f96931e01bea92b8032bd6a0/ingestion_server/ingestion_server/authority.py#L32-L36

Should be modified to:


```diff
boost = {
-   AuthorityTypes.CURATED: 90,
+   AuthorityTypes.CURATED: 87.5,
+   AuthorityTypes.CULTURAL_INSTITUTIONS: 90,
    AuthorityTypes.SOCIAL_MEDIA: 80,
    AuthorityTypes.DEFAULT: 85
}
```

We'll also need to re-classify the existing providers classified as `CURATED` to `CULTURAL_INSTITUTIONS` and add a line for StockSnap here (we might also want to sort these alphabetically):

https://github.com/WordPress/openverse-api/blob/9d0d724651f18cc9f96931e01bea92b8032bd6a0/ingestion_server/ingestion_server/authority.py#L37-L53



## Alternatives
<!-- Describe any alternative solutions or features you have considered. How is this feature better? -->

## Additional context
<!-- Add any other context about the feature here; or delete the section entirely. -->

## Implementation
<!-- Replace the [ ] with [x] to check the box. -->
- [ ] 🙋 I would be interested in implementing this feature.



Discussion:

Resolving patch:
diff --git a/ingestion_server/ingestion_server/authority.py b/ingestion_server/ingestion_server/authority.py
--- a/ingestion_server/ingestion_server/authority.py
+++ b/ingestion_server/ingestion_server/authority.py
@@ -25,6 +25,7 @@
 
 class AuthorityTypes(Enum):
     CURATED = auto()
+    CULTURAL_INSTITUTION = auto()
     SOCIAL_MEDIA = auto()
     DEFAULT = auto()
 
@@ -32,26 +33,29 @@ class AuthorityTypes(Enum):
 # We want to boost curated collections where each image has been vetted for
 # cultural significance.
 boost = {
-    AuthorityTypes.CURATED: 90,
-    AuthorityTypes.SOCIAL_MEDIA: 80,
-    AuthorityTypes.DEFAULT: 85,
+    AuthorityTypes.CURATED: 85,
+    AuthorityTypes.CULTURAL_INSTITUTION: 90,
+    AuthorityTypes.SOCIAL_MEDIA: 75,
+    AuthorityTypes.DEFAULT: 80,
 }
+
 authority_types = {
     "flickr": AuthorityTypes.SOCIAL_MEDIA,
     "behance": AuthorityTypes.SOCIAL_MEDIA,
     "thingiverse": AuthorityTypes.SOCIAL_MEDIA,
     "sketchfab": AuthorityTypes.SOCIAL_MEDIA,
     "deviantart": AuthorityTypes.SOCIAL_MEDIA,
-    "thorvaldsensmuseum": AuthorityTypes.CURATED,
-    "svgsilh": AuthorityTypes.CURATED,
-    "smithsonian": AuthorityTypes.CURATED,
-    "rijksmuseum": AuthorityTypes.CURATED,
-    "museumsvictoria": AuthorityTypes.CURATED,
-    "met": AuthorityTypes.CURATED,
-    "mccordsmuseum": AuthorityTypes.CURATED,
-    "digitaltmuseum": AuthorityTypes.CURATED,
-    "clevelandmuseum": AuthorityTypes.CURATED,
-    "brooklynmuseum": AuthorityTypes.CURATED,
+    "thorvaldsensmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "svgsilh": AuthorityTypes.CULTURAL_INSTITUTION,
+    "smithsonian": AuthorityTypes.CULTURAL_INSTITUTION,
+    "rijksmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "museumsvictoria": AuthorityTypes.CULTURAL_INSTITUTION,
+    "met": AuthorityTypes.CULTURAL_INSTITUTION,
+    "mccordsmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "digitaltmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "clevelandmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "brooklynmuseum": AuthorityTypes.CULTURAL_INSTITUTION,
+    "stocksnap": AuthorityTypes.CURATED,
 }
 
 


Test patch: