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.
Update user profile information.
Goal
Allow users to update their profile.
Context
Self-service profile updates.
Emitted Events
•
`user.updated` (v1.0.0)
Source Definition
import { defineCommand, defineQuery } from '@lssm-tech/lib.contracts-spec';
import { ScalarTypeEnum, SchemaModel } from '@lssm-tech/lib.schema';
export const UpdateUserContract = defineCommand({
meta: {
key: 'identity.user.update',
version: '1.0.0',
stability: 'stable',
owners: ['platform.identity-rbac'],
tags: ['identity', 'user', 'update'],
description: 'Update user profile information.',
goal: 'Allow users to update their profile.',
context: 'Self-service profile updates.',
},
io: {
input: UpdateUserInputModel,
output: UserProfileModel,
},
policy: {
auth: 'user',
},
sideEffects: {
emits: [
{
key: 'user.updated',
version: '1.0.0',
when: 'User profile is updated',
payload: UserProfileModel,
},
],
audit: ['user.updated'],
},
});