namespace IWS5.Autotest.IWS5.Api.ApiEndpointFormats
{
    public static class ApiEndpointFormat
    {
        public static class Authentication
        {
            public const string Base = "api/Authentication/";
            public const string Login = "login";
            public const string Refresh = "refresh";
            public const string Logout = "logout";
        }

        public static class Buttons
        {
            public const string Base = "api/Buttons";
        }

        public static class Connection
        {
            public const string Base = "api/Connection/";
            public const string List = "list";
        }

        public static class Document
        {
            public const string Base = "api/Document/";
            public const string List = "list";
            public const string GetById = "{documentId}";
            public const string UpdateFields = "update-doc-fields";
            public const string UpdateContent = "update-doc-content";
            public const string UpdateRename = "rename";
            public const string Delete = "";
            public const string Add = "add-document";
        }

        public static class DocumentTemplate
        {
            public const string Base = "api/DocumentTemplate/";
            public const string List = "list";
            public const string GetById = "{templateId}";
            public const string Fields = "{templateId}/fields";
            public const string LimitTemplate = "limitTemplate";
            public const string Create = "create";
            public const string UpdateCabinet = "update-cabinet";
        }

        public static class FolderField
        {
            public const string Base = "api/FolderField";
            public const string Process = "process/{processId}";
            public const string UpdateValues = "update-values";
        }

        public static class Note
        {
            public const string Base = "api/Note/";
            public const string GetByWorkItemRefId = "{workItemReferenceId}";
            public const string Add = "add";
        }

        public static class PdfViewer
        {
            public const string Base = "api/PdfViewer/";
            public const string Load = "Load";
            public const string Bookmarks = "Bookmarks";
            public const string RenderPages = "RenderPdfPages";
            public const string RenderTexts = "RenderPdfTexts";
            public const string RenderAnnotations = "RenderAnnotationComments";
            public const string Unload = "Unload";
            public const string Thumbnails = "RenderThumbnailImages";
            public const string Download = "Download";
            public const string SaveUrl = "SaveUrl";
            public const string PrintImages = "PrintImages";
            public const string ExportAnnotations = "ExportAnnotations";
            public const string ImportAnnotations = "ImportAnnotations";
            public const string ExportFormFields = "ExportFormFields";
            public const string ImportFormFields = "ImportFormFields";
        }

        public static class Process
        {
            public const string Base = "api/Process/";
            public const string List = "list";
            public const string Permissions = "{processId}/permissions";
            public const string AllowedTemplates = "{processId}/allowed-templates";
            public const string UpdateTemplate = "template";
            public const string UpdateLimitTemplate = "limit-template";
        }

        public static class Queue
        {
            public const string Base = "api/Queue/";
            public const string GetByProcessId = "{processId}";
        }

        public static class Rights
        {
            public const string Base = "api/Rights/";
            public const string Process = "process";
            public const string Queue = "queue";
        }

        public static class TrackingRecord
        {
            public const string Base = "api/TrackingRecord/";
            public const string GetByWorkItemId = "{workItemId}";
        }

        public static class WorkItem
        {
            public const string Base = "api/WorkItem/";
            public const string Inbox = "inbox";
            public const string Create = "create";
            public const string Forward = "forward";
            public const string Lock = "{workItemReferenceId}/lock";
            public const string IsLocked = "{workItemReferenceId}/isWorkitemLocked";
            public const string Unlock = "{workItemReferenceId}/unlock";
        }
    }
}
