OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
Mark a notification as read.
Goal
Track which notifications user has seen.
Context
User clicks on a notification.
Source Definition
import { defineCommand, defineQuery } from '@lssm-tech/lib.contracts-spec';
import {
defineEnum,
defineSchemaModel,
ScalarTypeEnum,
} from '@lssm-tech/lib.schema';
export const MarkNotificationReadContract = defineCommand({
meta: {
key: 'notifications.markRead',
version: '1.0.0',
stability: 'stable',
owners: ['platform.notifications'],
tags: ['notifications', 'read'],
description: 'Mark a notification as read.',
goal: 'Track which notifications user has seen.',
context: 'User clicks on a notification.',
},
io: {
input: defineSchemaModel({
name: 'MarkNotificationReadInput',
fields: {
notificationId: {
type: ScalarTypeEnum.String_unsecure(),
isOptional: false,
},
},
}),
output: NotificationModel,
},
policy: {
auth: 'user',
},
});