@rathnasgala2/schemas 3.32.0 → 3.32.2

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "package": "@rathnasgala2/schemas@3.32.0",
3
+ "package": "@rathnasgala2/schemas@3.32.2",
4
4
  "source": "package-lock.json",
5
5
  "dependencies": [
6
6
  {
@@ -229,9 +229,9 @@
229
229
  "version": "2.0.0",
230
230
  "path": "openapi/openapi.yaml",
231
231
  "materialized": true,
232
- "sourceDigest": "sha256:27d37fa955aa758d38c89dabbe084332bffc023c018c619ca9acce64d17ee999",
232
+ "sourceDigest": "sha256:f2775ebfd119c9db3a6af2227d8d9b0f4ddc7df718754edec92be78b3ccf9556",
233
233
  "typescriptRootType": null
234
234
  }
235
235
  ],
236
- "digest": "sha256:ca2fd41ffae54d9eb300a36d0421a335638924b08e68d9d80479091a77147959"
236
+ "digest": "sha256:6f928c23e796394069e028cb20fac12a8c99798d7e0db8c41e19535c170dd834"
237
237
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:27d37fa955aa758d38c89dabbe084332bffc023c018c619ca9acce64d17ee999",
4
+ "openApiDigest": "sha256:f2775ebfd119c9db3a6af2227d8d9b0f4ddc7df718754edec92be78b3ccf9556",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -3531,5 +3531,5 @@
3531
3531
  "sourceFragment": "workloads"
3532
3532
  }
3533
3533
  ],
3534
- "digest": "sha256:6757c4f6ab4e8270463b3d9a57d601afe824fb724e8b7c8646846291235592de"
3534
+ "digest": "sha256:db5faf7a8f4b82ede5af252edaba0d00080a9769f4fa80fba1638d727e3c83c9"
3535
3535
  }
@@ -1439,8 +1439,9 @@ components:
1439
1439
  5 MiB bound is measured on the decoded byte length, not this
1440
1440
  field's text length, and `bytesBase64`'s own `maxLength` is the
1441
1441
  base64 ceiling for that same decoded bound. `contentType` is closed
1442
- to PNG, JPEG, WebP, GIF and AVIF (SCHEMA-3.3.0 drops the sound and
1443
- video types the server never accepted); `image/svg+xml` is
1442
+ to PNG, JPEG, WebP, GIF, AVIF and PDF (SCHEMA-3.3.0 drops the sound
1443
+ and video types the server never accepted; SCHEMA-3.32.2 adds
1444
+ `application/pdf` for file downloads); `image/svg+xml` is
1444
1445
  deliberately absent everywhere in this contract (an SVG can carry
1445
1446
  script). `DELETE` names only the path it removes and carries none
1446
1447
  of the write-only members.
@@ -1464,6 +1465,7 @@ components:
1464
1465
  - image/webp
1465
1466
  - image/gif
1466
1467
  - image/avif
1468
+ - application/pdf
1467
1469
  type: string
1468
1470
  path:
1469
1471
  maxLength: 512
@@ -4556,6 +4558,13 @@ components:
4556
4558
  maxItems: 200
4557
4559
  type: array
4558
4560
  uniqueItems: true
4561
+ createdAt:
4562
+ description: |-
4563
+ SCHEMA-3.32.1: when the publication was created. Optional so a server that has not recorded it, and every 3.32.0 response, still validates; a client treats absent as unknown.
4564
+
4565
+ Canonical Gala instant: the UTC millisecond subset of RFC 3339, exactly `YYYY-MM-DDThh:mm:ss.sssZ`. Stated here rather than as a `pattern` because a generated `OffsetDateTime` cannot carry one (LOCAL-56).
4566
+ format: date-time
4567
+ type: string
4559
4568
  name:
4560
4569
  maxLength: 80
4561
4570
  minLength: 1
@@ -7566,12 +7575,20 @@ components:
7566
7575
  format: uuid
7567
7576
  pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
7568
7577
  type: string
7578
+ likeCount:
7579
+ description: "SCHEMA-3.32.1: how many readers like the comment; absent counts as 0."
7580
+ format: int64
7581
+ minimum: 0
7582
+ type: integer
7569
7583
  parentId:
7570
7584
  oneOf:
7571
7585
  - format: uuid
7572
7586
  pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
7573
7587
  type: string
7574
7588
  - type: "null"
7589
+ pinned:
7590
+ description: "SCHEMA-3.32.1: true for the one root comment the site owner pinned to the top of the article; absent counts as false."
7591
+ type: boolean
7575
7592
  state:
7576
7593
  $ref: "#/components/schemas/CommentInternalState"
7577
7594
  required:
@@ -17712,7 +17729,8 @@ components:
17712
17729
  `DELETE_DATE_NOT_AFTER_RELEASE` (SCHEMA-3.25.1), alongside the other
17713
17730
  reasons the API reports for cross-document rules; those reasons are
17714
17731
  not an enumerated schema member.
17715
- Assets are images only (PNG, JPEG, WebP, GIF, AVIF; SVG is refused):
17732
+ Assets are images (PNG, JPEG, WebP, GIF, AVIF; SVG is refused) and,
17733
+ since SCHEMA-3.32.2, PDF files (`application/pdf`):
17716
17734
  at most 20 per change, each at most 5 MiB and together at most
17717
17735
  20 MiB, measured on the decoded bytes -- `assets[].bytesBase64` is
17718
17736
  base64 over raw bytes, so what counts is the decoded byte length,
@@ -39730,7 +39748,8 @@ paths:
39730
39748
  sniffed from the asset's own bytes rather than trusted from what was
39731
39749
  written at plan time, with `X-Content-Type-Options: nosniff` and
39732
39750
  `Content-Disposition: inline` so a browser renders it and never
39733
- executes it. This operation serves eleven types. `image/svg+xml`
39751
+ executes it. This operation serves twelve types (SCHEMA-3.32.2 adds
39752
+ `application/pdf`). `image/svg+xml`
39734
39753
  remains in the `200` response's declared content-type list only
39735
39754
  because it was published there since SCHEMA-2.14.0, and removing it
39736
39755
  would not be additive; no server version has ever answered with it.
@@ -39746,7 +39765,7 @@ paths:
39746
39765
  with the unsatisfied-range `Content-Range` (`bytes`, an asterisk,
39747
39766
  then `/<total>`). An asset over its
39748
39767
  per-category bound (image 5 MiB, sound 20 MiB, video 50 MiB), or
39749
- whose sniffed type is not one of the eleven served types, is
39768
+ whose sniffed type is not one of the twelve served types, is
39750
39769
  `422 VALIDATION_FAILED` pointed at `/path`.
39751
39770
  operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdContentAssets
39752
39771
  parameters:
@@ -39787,6 +39806,10 @@ paths:
39787
39806
  responses:
39788
39807
  "200":
39789
39808
  content:
39809
+ application/pdf:
39810
+ schema:
39811
+ format: binary
39812
+ type: string
39790
39813
  audio/mp4:
39791
39814
  schema:
39792
39815
  format: binary
@@ -39849,6 +39872,10 @@ paths:
39849
39872
  $ref: "#/components/headers/XCorrelationId"
39850
39873
  "206":
39851
39874
  content:
39875
+ application/pdf:
39876
+ schema:
39877
+ format: binary
39878
+ type: string
39852
39879
  audio/mp4:
39853
39880
  schema:
39854
39881
  format: binary
@@ -40055,7 +40082,7 @@ paths:
40055
40082
  value:
40056
40083
  code: VALIDATION_FAILED
40057
40084
  correlationId: 018f0000-0000-7000-8000-000000000001
40058
- detail: The asset exceeds its per-category read bound (image 5 MiB, sound 20 MiB, video 50 MiB), its sniffed content type is not one of the eleven served types, or it is image/svg+xml (never served, script risk). See the operation contract.
40085
+ detail: The asset exceeds its per-category read bound (image 5 MiB, sound 20 MiB, video 50 MiB), its sniffed content type is not one of the twelve served types, or it is image/svg+xml (never served, script risk). See the operation contract.
40059
40086
  errors:
40060
40087
  - code: VALIDATION_FAILED
40061
40088
  pointer: /path
@@ -51036,7 +51063,7 @@ paths:
51036
51063
  /v2/organizations/{organizationId}/publications/{publicationId}/newsletter-subscribers:import:
51037
51064
  post:
51038
51065
  description: |
51039
- Needs `publication.audience.manage`. The body is the addresses the owner's file held, already parsed by the App (at most 5000 per call), with `attestation: true`: the owner states that every address agreed to hear from them. Each address that is new becomes a `pending` subscriber and is sent the same confirmation email a reader who signs up receives; nobody is subscribed until they confirm. An address that is already known (`pending`, `confirmed`, `unsubscribed` or `suppressed`) is skipped and counted in `skippedKnown`, so repeating a call is harmless. `invalid` counts entries that are not usable addresses and `overCapacity` those left out because the organization's subscriber allowance was reached. A call without `attestation: true` is `400 VALIDATION_FAILED`.
51066
+ Needs `publication.audience.manage`. The body is the addresses the owner's file held, already parsed by the App (at most 5000 per call), with `attestation: true`: the owner states that every address agreed to hear from them. Each address that is new becomes a `pending` subscriber and is sent the same confirmation email a reader who signs up receives; nobody is subscribed until they confirm. An address that is already known (`pending`, `confirmed`, `unsubscribed` or `suppressed`) is skipped and counted in `skippedKnown`, so repeating a call is harmless. `invalid` counts entries that are not usable addresses and `overCapacity` those left out because the organization's subscriber allowance was reached. A call without `attestation: true` is `400 VALIDATION_FAILED`. `409 NEWSLETTER_UNAVAILABLE` when the site takes no subscribers (it is not in Galascribe newsletter mode).
51040
51067
  operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImport
51041
51068
  parameters:
51042
51069
  - $ref: "#/components/parameters/XCorrelationId"
@@ -51162,6 +51189,33 @@ paths:
51162
51189
  $ref: "#/components/responses/AuthorizationDenied"
51163
51190
  "404":
51164
51191
  $ref: "#/components/responses/ResourceNotFound"
51192
+ "409":
51193
+ content:
51194
+ application/problem+json:
51195
+ examples:
51196
+ NEWSLETTER_UNAVAILABLE:
51197
+ summary: NEWSLETTER_UNAVAILABLE
51198
+ value:
51199
+ code: NEWSLETTER_UNAVAILABLE
51200
+ correlationId: 018f0000-0000-7000-8000-000000000001
51201
+ detail: See the operation contract.
51202
+ errors: []
51203
+ retryable: false
51204
+ schemaId: urn:gala:schema:problem:2.0.0
51205
+ schemaVersion: 2.0.0
51206
+ status: 409
51207
+ title: NEWSLETTER_UNAVAILABLE
51208
+ type: urn:gala:problem:newsletter-unavailable
51209
+ schema:
51210
+ $ref: "#/components/schemas/Problem"
51211
+ description: NEWSLETTER_UNAVAILABLE
51212
+ headers:
51213
+ Cache-Control:
51214
+ $ref: "#/components/headers/CacheControlNoStore"
51215
+ X-Correlation-Id:
51216
+ $ref: "#/components/headers/XCorrelationId"
51217
+ x-gala-problem-codes:
51218
+ - NEWSLETTER_UNAVAILABLE
51165
51219
  "413":
51166
51220
  $ref: "#/components/responses/RequestTooLarge"
51167
51221
  "415":
@@ -51183,6 +51237,7 @@ paths:
51183
51237
  x-gala-reachable-problems:
51184
51238
  - AUTHENTICATION_REQUIRED
51185
51239
  - AUTHORIZATION_DENIED
51240
+ - NEWSLETTER_UNAVAILABLE
51186
51241
  - REQUEST_FIELD_UNKNOWN
51187
51242
  - RESOURCE_NOT_FOUND
51188
51243
  - VALIDATION_FAILED
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rathnasgala2/schemas",
3
- "version": "3.32.0",
3
+ "version": "3.32.2",
4
4
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
package/sbom.cdx.json CHANGED
@@ -97,8 +97,8 @@
97
97
  "type": "library",
98
98
  "name": "schemas",
99
99
  "group": "@rathnasgala2",
100
- "version": "3.32.0",
101
- "bom-ref": "@rathnasgala2/schemas@3.32.0",
100
+ "version": "3.32.2",
101
+ "bom-ref": "@rathnasgala2/schemas@3.32.2",
102
102
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
103
103
  "licenses": [
104
104
  {
@@ -108,7 +108,7 @@
108
108
  }
109
109
  }
110
110
  ],
111
- "purl": "pkg:npm/%40rathnasgala2/schemas@3.32.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
111
+ "purl": "pkg:npm/%40rathnasgala2/schemas@3.32.2?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
112
112
  "externalReferences": [
113
113
  {
114
114
  "url": "https://github.com/rathnasgala2/schema/issues",
@@ -153,7 +153,7 @@
153
153
  "type": "library",
154
154
  "name": "ajv-formats",
155
155
  "version": "3.0.1",
156
- "bom-ref": "@rathnasgala2/schemas@3.32.0|ajv-formats@3.0.1",
156
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|ajv-formats@3.0.1",
157
157
  "licenses": [
158
158
  {
159
159
  "license": {
@@ -187,7 +187,7 @@
187
187
  "type": "library",
188
188
  "name": "ajv",
189
189
  "version": "8.20.0",
190
- "bom-ref": "@rathnasgala2/schemas@3.32.0|ajv@8.20.0",
190
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|ajv@8.20.0",
191
191
  "licenses": [
192
192
  {
193
193
  "license": {
@@ -221,7 +221,7 @@
221
221
  "type": "library",
222
222
  "name": "fast-deep-equal",
223
223
  "version": "3.1.3",
224
- "bom-ref": "@rathnasgala2/schemas@3.32.0|fast-deep-equal@3.1.3",
224
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|fast-deep-equal@3.1.3",
225
225
  "licenses": [
226
226
  {
227
227
  "license": {
@@ -255,7 +255,7 @@
255
255
  "type": "library",
256
256
  "name": "fast-uri",
257
257
  "version": "3.1.8",
258
- "bom-ref": "@rathnasgala2/schemas@3.32.0|fast-uri@3.1.8",
258
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|fast-uri@3.1.8",
259
259
  "licenses": [
260
260
  {
261
261
  "license": {
@@ -289,7 +289,7 @@
289
289
  "type": "library",
290
290
  "name": "json-schema-traverse",
291
291
  "version": "1.0.0",
292
- "bom-ref": "@rathnasgala2/schemas@3.32.0|json-schema-traverse@1.0.0",
292
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|json-schema-traverse@1.0.0",
293
293
  "licenses": [
294
294
  {
295
295
  "license": {
@@ -323,7 +323,7 @@
323
323
  "type": "library",
324
324
  "name": "require-from-string",
325
325
  "version": "2.0.2",
326
- "bom-ref": "@rathnasgala2/schemas@3.32.0|require-from-string@2.0.2",
326
+ "bom-ref": "@rathnasgala2/schemas@3.32.2|require-from-string@2.0.2",
327
327
  "licenses": [
328
328
  {
329
329
  "license": {
@@ -1064,10 +1064,10 @@
1064
1064
  ],
1065
1065
  "dependencies": [
1066
1066
  {
1067
- "ref": "@rathnasgala2/schemas@3.32.0",
1067
+ "ref": "@rathnasgala2/schemas@3.32.2",
1068
1068
  "dependsOn": [
1069
- "@rathnasgala2/schemas@3.32.0|ajv-formats@3.0.1",
1070
- "@rathnasgala2/schemas@3.32.0|ajv@8.20.0",
1069
+ "@rathnasgala2/schemas@3.32.2|ajv-formats@3.0.1",
1070
+ "@rathnasgala2/schemas@3.32.2|ajv@8.20.0",
1071
1071
  "pkg:npm/semver@7.8.5",
1072
1072
  "urn:gala:source-data:iana-ipv4-special-registry",
1073
1073
  "urn:gala:source-data:iana-ipv6-special-registry",
@@ -1089,31 +1089,31 @@
1089
1089
  ]
1090
1090
  },
1091
1091
  {
1092
- "ref": "@rathnasgala2/schemas@3.32.0|ajv-formats@3.0.1",
1092
+ "ref": "@rathnasgala2/schemas@3.32.2|ajv-formats@3.0.1",
1093
1093
  "dependsOn": [
1094
- "@rathnasgala2/schemas@3.32.0|ajv@8.20.0"
1094
+ "@rathnasgala2/schemas@3.32.2|ajv@8.20.0"
1095
1095
  ]
1096
1096
  },
1097
1097
  {
1098
- "ref": "@rathnasgala2/schemas@3.32.0|ajv@8.20.0",
1098
+ "ref": "@rathnasgala2/schemas@3.32.2|ajv@8.20.0",
1099
1099
  "dependsOn": [
1100
- "@rathnasgala2/schemas@3.32.0|fast-deep-equal@3.1.3",
1101
- "@rathnasgala2/schemas@3.32.0|fast-uri@3.1.8",
1102
- "@rathnasgala2/schemas@3.32.0|json-schema-traverse@1.0.0",
1103
- "@rathnasgala2/schemas@3.32.0|require-from-string@2.0.2"
1100
+ "@rathnasgala2/schemas@3.32.2|fast-deep-equal@3.1.3",
1101
+ "@rathnasgala2/schemas@3.32.2|fast-uri@3.1.8",
1102
+ "@rathnasgala2/schemas@3.32.2|json-schema-traverse@1.0.0",
1103
+ "@rathnasgala2/schemas@3.32.2|require-from-string@2.0.2"
1104
1104
  ]
1105
1105
  },
1106
1106
  {
1107
- "ref": "@rathnasgala2/schemas@3.32.0|fast-deep-equal@3.1.3"
1107
+ "ref": "@rathnasgala2/schemas@3.32.2|fast-deep-equal@3.1.3"
1108
1108
  },
1109
1109
  {
1110
- "ref": "@rathnasgala2/schemas@3.32.0|fast-uri@3.1.8"
1110
+ "ref": "@rathnasgala2/schemas@3.32.2|fast-uri@3.1.8"
1111
1111
  },
1112
1112
  {
1113
- "ref": "@rathnasgala2/schemas@3.32.0|json-schema-traverse@1.0.0"
1113
+ "ref": "@rathnasgala2/schemas@3.32.2|json-schema-traverse@1.0.0"
1114
1114
  },
1115
1115
  {
1116
- "ref": "@rathnasgala2/schemas@3.32.0|require-from-string@2.0.2"
1116
+ "ref": "@rathnasgala2/schemas@3.32.2|require-from-string@2.0.2"
1117
1117
  },
1118
1118
  {
1119
1119
  "ref": "pkg:npm/semver@7.8.5"