001/*
002 * (C) Copyright 2018 Nuxeo (http://nuxeo.com/) and others.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 *
016 * Contributors:
017 *     Thomas Roger
018 */
019
020package org.nuxeo.wopi;
021
022/**
023 * @since 10.3
024 */
025public class Constants {
026
027    private Constants() {
028        // constants class
029    }
030
031    public static final String ACCESS_TOKEN_ATTRIBUTE = "accessToken";
032
033    public static final String ACCESS_TOKEN_PARAMETER = "access_token";
034
035    public static final String ACCESS_TOKEN_TTL_ATTRIBUTE = "accessTokenTTL";
036
037    public static final String ACTION_CONVERT = "convert";
038
039    public static final String ACTION_EDIT = "edit";
040
041    public static final String ACTION_VIEW = "view";
042
043    public static final String FILES_ENDPOINT_PATH = "site/wopi/files/";
044
045    public static final String FILE_SCHEMA = "file";
046
047    public static final String FORM_URL = "formURL";
048
049    public static final int JWT_TOKEN_TTL = 60 * 60; // 1h
050
051    public static final String NOTIFICATION_DOCUMENT_ID_CODEC_NAME = "notificationDocId";
052
053    public static final String OPERATION_CHECK_FILE_INFO = "CheckFileInfo";
054
055    public static final String OPERATION_GET_FILE = "GetFile";
056
057    public static final String OPERATION_GET_LOCK = "GetLock";
058
059    public static final String OPERATION_GET_SHARE_URL = "GetShareUrl";
060
061    public static final String OPERATION_LOCK = "Lock";
062
063    public static final String OPERATION_PUT_FILE = "PutFile";
064
065    public static final String OPERATION_PUT_RELATIVE_FILE = "PutRelativeFile";
066
067    public static final String OPERATION_REFRESH_LOCK = "RefreshLock";
068
069    public static final String OPERATION_RENAME_FILE = "RenameFile";
070
071    public static final String OPERATION_UNLOCK = "Unlock";
072
073    public static final String OPERATION_UNLOCK_AND_RELOCK = "UnlockAndRelock";
074
075    public static final String WOPI_BASE_URL_PROPERTY = "nuxeo.wopi.baseURL";
076
077    public static final String WOPI_DISCOVERY_KEY = "wopiDiscovery";
078
079    public static final String WOPI_DISCOVERY_REFRESH_EVENT = "refreshWOPIDiscovery";
080
081    public static final String WOPI_DISCOVERY_URL_PROPERTY = "nuxeo.wopi.discoveryURL";
082
083    public static final String WOPI_JSP = "/wopi.jsp";
084
085    public static final String WOPI_KEY_VALUE_STORE_NAME = "wopi";
086
087    public static final String WOPI_SERVLET_PATH = "wopi";
088
089    public static final String WOPI_SOURCE = "wopi";
090
091    public static final String WOPI_SRC = "WOPISrc";
092
093    // -------- WOPI locks directory ---------------
094
095    public static final String LOCK_DIRECTORY_DOC_ID = "docId";
096
097    public static final String LOCK_DIRECTORY_FILE_ID = "fileId";
098
099    public static final String LOCK_DIRECTORY_LOCK = "lock";
100
101    public static final String LOCK_DIRECTORY_NAME = "wopiLocks";
102
103    public static final String LOCK_DIRECTORY_REPOSITORY = "repository";
104
105    public static final String LOCK_DIRECTORY_SCHEMA_NAME = "wopiLocks"; // NOSONAR
106
107    public static final String LOCK_DIRECTORY_TIMESTAMP = "timestamp";
108
109    public static final String LOCK_EXPIRATION_EVENT = "wopiLocksExpiration";
110
111    public static final long LOCK_TTL = 30L * 60 * 1000; // 30 minutes
112
113    // -------- End WOPI locks directory ---------------
114
115    // -------- CheckFileInfo ---------------
116
117    // -------- Required properties ---------------
118
119    public static final String BASE_FILE_NAME = "BaseFileName";
120
121    public static final String OWNER_ID = "OwnerId";
122
123    public static final String SIZE = "Size";
124
125    public static final String USER_ID = "UserId";
126
127    public static final String VERSION = "Version";
128
129    // -------- Host capabilities properties ---------------
130
131    public static final String SUPPORTS_EXTENDED_LOCK_LENGTH = "SupportsExtendedLockLength";
132
133    public static final String SUPPORTS_GET_LOCK = "SupportsGetLock";
134
135    public static final String SUPPORTS_LOCKS = "SupportsLocks";
136
137    public static final String SUPPORTS_RENAME = "SupportsRename";
138
139    public static final String SUPPORTS_UPDATE = "SupportsUpdate";
140
141    public static final String SUPPORTED_SHARE_URL_TYPES = "SupportedShareUrlTypes";
142
143    // -------- User metadata properties ---------------
144
145    public static final String IS_ANONYMOUS_USER = "IsAnonymousUser";
146
147    public static final String LICENSE_CHECK_FOR_EDIT_IS_ENABLED = "LicenseCheckForEditIsEnabled";
148
149    public static final String USER_FRIENDLY_NAME = "UserFriendlyName";
150
151    // -------- User permissions properties ---------------
152
153    public static final String READ_ONLY = "ReadOnly";
154
155    public static final String USER_CAN_RENAME = "UserCanRename";
156
157    public static final String USER_CAN_WRITE = "UserCanWrite";
158
159    public static final String USER_CAN_NOT_WRITE_RELATIVE = "UserCanNotWriteRelative";
160
161    // -------- File URL properties ---------------
162
163    public static final String CLOSE_URL = "CloseUrl";
164
165    public static final String DOWNLOAD_URL = "DownloadUrl";
166
167    public static final String FILE_VERSION_URL = "FileVersionUrl";
168
169    public static final String HOST_EDIT_URL = "HostEditUrl";
170
171    public static final String HOST_VIEW_URL = "HostViewUrl";
172
173    public static final String SIGNOUT_URL = "SignoutUrl";
174
175    // -------- Breadcrumb properties ---------------
176
177    public static final String BREADCRUMB_BRAND_NAME = "BreadcrumbBrandName";
178
179    public static final String BREADCRUMB_BRAND_URL = "BreadcrumbBrandUrl";
180
181    public static final String BREADCRUMB_FOLDER_NAME = "BreadcrumbFolderName";
182
183    public static final String BREADCRUMB_FOLDER_URL = "BreadcrumbFolderUrl";
184
185    // -------- End CheckFileInfo ---------------
186
187    // -------- Rename and PutRelativeFile ---------------
188
189    public static final String NAME = "Name";
190
191    public static final String URL = "Url";
192
193    // -------- End Rename and PutRelativeFile ---------------
194
195    // -------- GetShareUrl ---------------
196
197    public static final String SHARE_URL = "ShareUrl";
198
199    public static final String SHARE_URL_READ_ONLY = "ReadOnly"; // NOSONAR
200
201    public static final String SHARE_URL_READ_WRITE = "ReadWrite";
202
203    // -------- End GetShareUrl ---------------
204
205}