grain.social is a photo sharing platform built on atproto.

feat: update exifView schema to require 'uri', 'cid', and embed raw exif record

Changed files
+10 -4
__generated__
types
social
grain
photo
lexicons
social
grain
photo
src
lib
+4 -1
__generated__/lexicons.ts
··· 4313 4313 }, 4314 4314 exifView: { 4315 4315 type: 'object', 4316 - required: ['photo', 'createdAt'], 4316 + required: ['uri', 'cid', 'photo', 'record', 'createdAt'], 4317 4317 properties: { 4318 4318 uri: { 4319 4319 type: 'string', ··· 4326 4326 photo: { 4327 4327 type: 'string', 4328 4328 format: 'at-uri', 4329 + }, 4330 + record: { 4331 + type: 'unknown', 4329 4332 }, 4330 4333 createdAt: { 4331 4334 type: 'string',
+3 -2
__generated__/types/social/grain/photo/defs.ts
··· 42 42 43 43 export interface ExifView { 44 44 $type?: 'social.grain.photo.defs#exifView' 45 - uri?: string 46 - cid?: string 45 + uri: string 46 + cid: string 47 47 photo: string 48 + record: { [_ in string]: unknown } 48 49 createdAt: string 49 50 dateTimeOriginal?: string 50 51 exposureTime?: string
+2 -1
lexicons/social/grain/photo/defs.json
··· 36 36 }, 37 37 "exifView": { 38 38 "type": "object", 39 - "required": ["photo", "createdAt"], 39 + "required": ["uri", "cid", "photo", "record", "createdAt"], 40 40 "properties": { 41 41 "uri": { "type": "string", "format": "at-uri" }, 42 42 "cid": { "type": "string", "format": "cid" }, 43 43 "photo": { "type": "string", "format": "at-uri" }, 44 + "record": { "type": "unknown" }, 44 45 "createdAt": { "type": "string", "format": "datetime" }, 45 46 "dateTimeOriginal": { "type": "string" }, 46 47 "exposureTime": { "type": "string" },
+1
src/lib/photo.ts
··· 96 96 ? formatExposureTime(deserializedExif.exposureTime) 97 97 : undefined, 98 98 $type: "social.grain.photo.defs#exifView", 99 + record: exif, 99 100 }; 100 101 } 101 102