Blazor Diffusion

<back to all web services

UpdateArtifactComment

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

// @DataContract
abstract class AuditBase
{
    // @DataMember(Order=1)
    DateTime? createdDate;

    // @DataMember(Order=2)
    // @required()
    String? createdBy;

    // @DataMember(Order=3)
    DateTime? modifiedDate;

    // @DataMember(Order=4)
    // @required()
    String? modifiedBy;

    // @DataMember(Order=5)
    DateTime? deletedDate;

    // @DataMember(Order=6)
    String? deletedBy;

    AuditBase({this.createdDate,this.createdBy,this.modifiedDate,this.modifiedBy,this.deletedDate,this.deletedBy});
    AuditBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        createdBy = json['createdBy'];
        modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!);
        modifiedBy = json['modifiedBy'];
        deletedDate = JsonConverters.fromJson(json['deletedDate'],'DateTime',context!);
        deletedBy = json['deletedBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
        'createdBy': createdBy,
        'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!),
        'modifiedBy': modifiedBy,
        'deletedDate': JsonConverters.toJson(deletedDate,'DateTime',context!),
        'deletedBy': deletedBy
    };

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

class ArtifactComment extends AuditBase implements IConvertible
{
    int? id;
    int? artifactId;
    int? replyId;
    String? content;
    int? upVotes;
    int? downVotes;
    int? votes;
    String? flagReason;
    String? notes;
    String? refId;
    int? appUserId;

    ArtifactComment({this.id,this.artifactId,this.replyId,this.content,this.upVotes,this.downVotes,this.votes,this.flagReason,this.notes,this.refId,this.appUserId});
    ArtifactComment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        id = json['id'];
        artifactId = json['artifactId'];
        replyId = json['replyId'];
        content = json['content'];
        upVotes = json['upVotes'];
        downVotes = json['downVotes'];
        votes = json['votes'];
        flagReason = json['flagReason'];
        notes = json['notes'];
        refId = json['refId'];
        appUserId = json['appUserId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'id': id,
        'artifactId': artifactId,
        'replyId': replyId,
        'content': content,
        'upVotes': upVotes,
        'downVotes': downVotes,
        'votes': votes,
        'flagReason': flagReason,
        'notes': notes,
        'refId': refId,
        'appUserId': appUserId
    });

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

// @ValidateRequest(Validator="IsAuthenticated")
class UpdateArtifactComment implements IPatchDb<ArtifactComment>, IConvertible
{
    int? id;
    String? content;

    UpdateArtifactComment({this.id,this.content});
    UpdateArtifactComment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        content = json['content'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'content': content
    };

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

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

Dart UpdateArtifactComment DTOs

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

HTTP + JSV

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

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

{
	id: 0,
	content: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	artifactId: 0,
	replyId: 0,
	content: String,
	upVotes: 0,
	downVotes: 0,
	votes: 0,
	flagReason: String,
	notes: String,
	refId: String,
	appUserId: 0,
	createdDate: 0001-01-01,
	createdBy: String,
	modifiedDate: 0001-01-01,
	modifiedBy: String,
	deletedDate: 0001-01-01,
	deletedBy: String
}