Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /news | Add a news item | Add a news item to the company of the currently logged in user, only administrators are allowed to add news items. |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
@ValidateRequest(Validator="IsAuthenticated")
public static class CreateNewsItem implements ICompany
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
@ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public UUID CompanyId = null;
/**
* The news item header, keep this short and concise
*/
@ApiMember(Description="The news item header, keep this short and concise", IsRequired=true)
public String Heading = null;
/**
* The news body text
*/
@ApiMember(Description="The news body text", IsRequired=true)
public String Body = null;
/**
* Valid url to a image associated with the news
*/
@ApiMember(Description="Valid url to a image associated with the news")
public Uri ImageUrl = null;
/**
* The timestamp from which the newsitem should be visible from
*/
@ApiMember(Description="The timestamp from which the newsitem should be visible from", IsRequired=true)
public Date From = null;
/**
* The timestamp to which the newsitem should be visible to
*/
@ApiMember(Description="The timestamp to which the newsitem should be visible to", IsRequired=true)
public Date To = null;
public UUID getCompanyId() { return CompanyId; }
public CreateNewsItem setCompanyId(UUID value) { this.CompanyId = value; return this; }
public String getHeading() { return Heading; }
public CreateNewsItem setHeading(String value) { this.Heading = value; return this; }
public String getBody() { return Body; }
public CreateNewsItem setBody(String value) { this.Body = value; return this; }
public Uri getImageUrl() { return ImageUrl; }
public CreateNewsItem setImageUrl(Uri value) { this.ImageUrl = value; return this; }
public Date getFrom() { return From; }
public CreateNewsItem setFrom(Date value) { this.From = value; return this; }
public Date getTo() { return To; }
public CreateNewsItem setTo(Date value) { this.To = value; return this; }
}
public static class NewsItemQueryResponse
{
/**
* The news item id
*/
@ApiMember(Description="The news item id")
public Integer Id = null;
/**
* Heading of the news item
*/
@ApiMember(Description="Heading of the news item")
public String Heading = null;
/**
* Body of the news item
*/
@ApiMember(Description="Body of the news item")
public String Body = null;
/**
* Url to a image associated with the news
*/
@ApiMember(Description="Url to a image associated with the news")
public Uri ImageUrl = null;
/**
* The timestamp from which the newsitem should be visible from
*/
@ApiMember(Description="The timestamp from which the newsitem should be visible from", IsRequired=true)
public Date From = null;
/**
* The timestamp to which the newsitem should be visible to
*/
@ApiMember(Description="The timestamp to which the newsitem should be visible to", IsRequired=true)
public Date To = null;
/**
* The timestamp when news was created
*/
@ApiMember(Description="The timestamp when news was created", IsRequired=true)
public Date Created = null;
public ResponseStatus ResponseStatus = null;
public Integer getId() { return Id; }
public NewsItemQueryResponse setId(Integer value) { this.Id = value; return this; }
public String getHeading() { return Heading; }
public NewsItemQueryResponse setHeading(String value) { this.Heading = value; return this; }
public String getBody() { return Body; }
public NewsItemQueryResponse setBody(String value) { this.Body = value; return this; }
public Uri getImageUrl() { return ImageUrl; }
public NewsItemQueryResponse setImageUrl(Uri value) { this.ImageUrl = value; return this; }
public Date getFrom() { return From; }
public NewsItemQueryResponse setFrom(Date value) { this.From = value; return this; }
public Date getTo() { return To; }
public NewsItemQueryResponse setTo(Date value) { this.To = value; return this; }
public Date getCreated() { return Created; }
public NewsItemQueryResponse setCreated(Date value) { this.Created = value; return this; }
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public NewsItemQueryResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /news HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Heading: String,
Body: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: 0, Heading: String, Body: String, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }