Blazor Diffusion

<back to all web services

UpdateUserProfile

User
Requires Authentication
import 'package:servicestack/servicestack.dart';

class UserProfile implements IConvertible
{
    String? displayName;
    String? avatar;
    String? handle;

    UserProfile({this.displayName,this.avatar,this.handle});
    UserProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        displayName = json['displayName'];
        avatar = json['avatar'];
        handle = json['handle'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'displayName': displayName,
        'avatar': avatar,
        'handle': handle
    };

    getTypeName() => "UserProfile";
    TypeContext? context = _ctx;
}

// @ValidateRequest(Validator="IsAuthenticated")
class UpdateUserProfile implements IUpdateDb<AppUser>, IConvertible
{
    // @Validate(Validator="NotEmpty")
    String? displayName;

    String? avatar;
    // @Validate(Validator="MaximumLength(20)")
    String? handle;

    UpdateUserProfile({this.displayName,this.avatar,this.handle});
    UpdateUserProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        displayName = json['displayName'];
        avatar = json['avatar'];
        handle = json['handle'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'displayName': displayName,
        'avatar': avatar,
        'handle': handle
    };

    getTypeName() => "UpdateUserProfile";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'blazordiffusion.com', types: <String, TypeInfo> {
    'UserProfile': TypeInfo(TypeOf.Class, create:() => UserProfile()),
    'UpdateUserProfile': TypeInfo(TypeOf.Class, create:() => UpdateUserProfile()),
});

Dart UpdateUserProfile DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsonl/reply/UpdateUserProfile HTTP/1.1 
Host: blazordiffusion.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"displayName":"String","avatar":"String","handle":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"displayName":"String","avatar":"String","handle":"String"}