001 002package com.commercetools.history.models.common; 003 004import java.util.Arrays; 005import java.util.Optional; 006 007import com.fasterxml.jackson.annotation.JsonCreator; 008import com.fasterxml.jackson.annotation.JsonValue; 009 010import io.vrap.rmf.base.client.JsonEnum; 011import io.vrap.rmf.base.client.utils.Generated; 012 013/** 014 * <p>Permissions grant granular access to Business Units, Carts, Orders, Quotes, and Quote Requests.</p> 015 */ 016@Generated(value = "io.vrap.rmf.codegen.rendering.CoreCodeGenerator", comments = "https://github.com/commercetools/rmf-codegen") 017public interface Permission extends JsonEnum { 018 019 Permission ADD_CHILD_UNITS = PermissionEnum.ADD_CHILD_UNITS; 020 021 Permission UPDATE_ASSOCIATES = PermissionEnum.UPDATE_ASSOCIATES; 022 023 Permission UPDATE_BUSINESS_UNIT_DETAILS = PermissionEnum.UPDATE_BUSINESS_UNIT_DETAILS; 024 025 Permission UPDATE_PARENT_UNIT = PermissionEnum.UPDATE_PARENT_UNIT; 026 027 Permission VIEW_MY_CARTS = PermissionEnum.VIEW_MY_CARTS; 028 029 Permission VIEW_OTHERS_CARTS = PermissionEnum.VIEW_OTHERS_CARTS; 030 031 Permission UPDATE_MY_CARTS = PermissionEnum.UPDATE_MY_CARTS; 032 033 Permission UPDATE_OTHERS_CARTS = PermissionEnum.UPDATE_OTHERS_CARTS; 034 035 Permission CREATE_MY_CARTS = PermissionEnum.CREATE_MY_CARTS; 036 037 Permission CREATE_OTHERS_CARTS = PermissionEnum.CREATE_OTHERS_CARTS; 038 039 Permission DELETE_MY_CARTS = PermissionEnum.DELETE_MY_CARTS; 040 041 Permission DELETE_OTHERS_CARTS = PermissionEnum.DELETE_OTHERS_CARTS; 042 043 Permission VIEW_MY_ORDERS = PermissionEnum.VIEW_MY_ORDERS; 044 045 Permission VIEW_OTHERS_ORDERS = PermissionEnum.VIEW_OTHERS_ORDERS; 046 047 Permission UPDATE_MY_ORDERS = PermissionEnum.UPDATE_MY_ORDERS; 048 049 Permission UPDATE_OTHERS_ORDERS = PermissionEnum.UPDATE_OTHERS_ORDERS; 050 051 Permission CREATE_MY_ORDERS_FROM_MY_CARTS = PermissionEnum.CREATE_MY_ORDERS_FROM_MY_CARTS; 052 053 Permission CREATE_MY_ORDERS_FROM_MY_QUOTES = PermissionEnum.CREATE_MY_ORDERS_FROM_MY_QUOTES; 054 055 Permission CREATE_ORDERS_FROM_OTHERS_CARTS = PermissionEnum.CREATE_ORDERS_FROM_OTHERS_CARTS; 056 057 Permission CREATE_ORDERS_FROM_OTHERS_QUOTES = PermissionEnum.CREATE_ORDERS_FROM_OTHERS_QUOTES; 058 059 Permission VIEW_MY_QUOTES = PermissionEnum.VIEW_MY_QUOTES; 060 061 Permission VIEW_OTHERS_QUOTES = PermissionEnum.VIEW_OTHERS_QUOTES; 062 063 Permission ACCEPT_MY_QUOTES = PermissionEnum.ACCEPT_MY_QUOTES; 064 065 Permission ACCEPT_OTHERS_QUOTES = PermissionEnum.ACCEPT_OTHERS_QUOTES; 066 067 Permission DECLINE_MY_QUOTES = PermissionEnum.DECLINE_MY_QUOTES; 068 069 Permission DECLINE_OTHERS_QUOTES = PermissionEnum.DECLINE_OTHERS_QUOTES; 070 071 Permission RENEGOTIATE_MY_QUOTES = PermissionEnum.RENEGOTIATE_MY_QUOTES; 072 073 Permission RENEGOTIATE_OTHERS_QUOTES = PermissionEnum.RENEGOTIATE_OTHERS_QUOTES; 074 075 Permission REASSIGN_MY_QUOTES = PermissionEnum.REASSIGN_MY_QUOTES; 076 077 Permission REASSIGN_OTHERS_QUOTES = PermissionEnum.REASSIGN_OTHERS_QUOTES; 078 079 Permission VIEW_MY_QUOTE_REQUESTS = PermissionEnum.VIEW_MY_QUOTE_REQUESTS; 080 081 Permission VIEW_OTHERS_QUOTE_REQUESTS = PermissionEnum.VIEW_OTHERS_QUOTE_REQUESTS; 082 083 Permission UPDATE_MY_QUOTE_REQUESTS = PermissionEnum.UPDATE_MY_QUOTE_REQUESTS; 084 085 Permission UPDATE_OTHERS_QUOTE_REQUESTS = PermissionEnum.UPDATE_OTHERS_QUOTE_REQUESTS; 086 087 Permission CREATE_MY_QUOTE_REQUESTS_FROM_MY_CARTS = PermissionEnum.CREATE_MY_QUOTE_REQUESTS_FROM_MY_CARTS; 088 089 Permission CREATE_QUOTE_REQUESTS_FROM_OTHERS_CARTS = PermissionEnum.CREATE_QUOTE_REQUESTS_FROM_OTHERS_CARTS; 090 091 /** 092 * possible values of Permission 093 */ 094 enum PermissionEnum implements Permission { 095 /** 096 * AddChildUnits 097 */ 098 ADD_CHILD_UNITS("AddChildUnits"), 099 100 /** 101 * UpdateAssociates 102 */ 103 UPDATE_ASSOCIATES("UpdateAssociates"), 104 105 /** 106 * UpdateBusinessUnitDetails 107 */ 108 UPDATE_BUSINESS_UNIT_DETAILS("UpdateBusinessUnitDetails"), 109 110 /** 111 * UpdateParentUnit 112 */ 113 UPDATE_PARENT_UNIT("UpdateParentUnit"), 114 115 /** 116 * ViewMyCarts 117 */ 118 VIEW_MY_CARTS("ViewMyCarts"), 119 120 /** 121 * ViewOthersCarts 122 */ 123 VIEW_OTHERS_CARTS("ViewOthersCarts"), 124 125 /** 126 * UpdateMyCarts 127 */ 128 UPDATE_MY_CARTS("UpdateMyCarts"), 129 130 /** 131 * UpdateOthersCarts 132 */ 133 UPDATE_OTHERS_CARTS("UpdateOthersCarts"), 134 135 /** 136 * CreateMyCarts 137 */ 138 CREATE_MY_CARTS("CreateMyCarts"), 139 140 /** 141 * CreateOthersCarts 142 */ 143 CREATE_OTHERS_CARTS("CreateOthersCarts"), 144 145 /** 146 * DeleteMyCarts 147 */ 148 DELETE_MY_CARTS("DeleteMyCarts"), 149 150 /** 151 * DeleteOthersCarts 152 */ 153 DELETE_OTHERS_CARTS("DeleteOthersCarts"), 154 155 /** 156 * ViewMyOrders 157 */ 158 VIEW_MY_ORDERS("ViewMyOrders"), 159 160 /** 161 * ViewOthersOrders 162 */ 163 VIEW_OTHERS_ORDERS("ViewOthersOrders"), 164 165 /** 166 * UpdateMyOrders 167 */ 168 UPDATE_MY_ORDERS("UpdateMyOrders"), 169 170 /** 171 * UpdateOthersOrders 172 */ 173 UPDATE_OTHERS_ORDERS("UpdateOthersOrders"), 174 175 /** 176 * CreateMyOrdersFromMyCarts 177 */ 178 CREATE_MY_ORDERS_FROM_MY_CARTS("CreateMyOrdersFromMyCarts"), 179 180 /** 181 * CreateMyOrdersFromMyQuotes 182 */ 183 CREATE_MY_ORDERS_FROM_MY_QUOTES("CreateMyOrdersFromMyQuotes"), 184 185 /** 186 * CreateOrdersFromOthersCarts 187 */ 188 CREATE_ORDERS_FROM_OTHERS_CARTS("CreateOrdersFromOthersCarts"), 189 190 /** 191 * CreateOrdersFromOthersQuotes 192 */ 193 CREATE_ORDERS_FROM_OTHERS_QUOTES("CreateOrdersFromOthersQuotes"), 194 195 /** 196 * ViewMyQuotes 197 */ 198 VIEW_MY_QUOTES("ViewMyQuotes"), 199 200 /** 201 * ViewOthersQuotes 202 */ 203 VIEW_OTHERS_QUOTES("ViewOthersQuotes"), 204 205 /** 206 * AcceptMyQuotes 207 */ 208 ACCEPT_MY_QUOTES("AcceptMyQuotes"), 209 210 /** 211 * AcceptOthersQuotes 212 */ 213 ACCEPT_OTHERS_QUOTES("AcceptOthersQuotes"), 214 215 /** 216 * DeclineMyQuotes 217 */ 218 DECLINE_MY_QUOTES("DeclineMyQuotes"), 219 220 /** 221 * DeclineOthersQuotes 222 */ 223 DECLINE_OTHERS_QUOTES("DeclineOthersQuotes"), 224 225 /** 226 * RenegotiateMyQuotes 227 */ 228 RENEGOTIATE_MY_QUOTES("RenegotiateMyQuotes"), 229 230 /** 231 * RenegotiateOthersQuotes 232 */ 233 RENEGOTIATE_OTHERS_QUOTES("RenegotiateOthersQuotes"), 234 235 /** 236 * ReassignMyQuotes 237 */ 238 REASSIGN_MY_QUOTES("ReassignMyQuotes"), 239 240 /** 241 * ReassignOthersQuotes 242 */ 243 REASSIGN_OTHERS_QUOTES("ReassignOthersQuotes"), 244 245 /** 246 * ViewMyQuoteRequests 247 */ 248 VIEW_MY_QUOTE_REQUESTS("ViewMyQuoteRequests"), 249 250 /** 251 * ViewOthersQuoteRequests 252 */ 253 VIEW_OTHERS_QUOTE_REQUESTS("ViewOthersQuoteRequests"), 254 255 /** 256 * UpdateMyQuoteRequests 257 */ 258 UPDATE_MY_QUOTE_REQUESTS("UpdateMyQuoteRequests"), 259 260 /** 261 * UpdateOthersQuoteRequests 262 */ 263 UPDATE_OTHERS_QUOTE_REQUESTS("UpdateOthersQuoteRequests"), 264 265 /** 266 * CreateMyQuoteRequestsFromMyCarts 267 */ 268 CREATE_MY_QUOTE_REQUESTS_FROM_MY_CARTS("CreateMyQuoteRequestsFromMyCarts"), 269 270 /** 271 * CreateQuoteRequestsFromOthersCarts 272 */ 273 CREATE_QUOTE_REQUESTS_FROM_OTHERS_CARTS("CreateQuoteRequestsFromOthersCarts"); 274 private final String jsonName; 275 276 private PermissionEnum(final String jsonName) { 277 this.jsonName = jsonName; 278 } 279 280 public String getJsonName() { 281 return jsonName; 282 } 283 284 public String toString() { 285 return jsonName; 286 } 287 } 288 289 /** 290 * the JSON value 291 * @return json value 292 */ 293 @JsonValue 294 String getJsonName(); 295 296 /** 297 * the enum value 298 * @return name 299 */ 300 String name(); 301 302 /** 303 * convert value to string 304 * @return string representation 305 */ 306 String toString(); 307 308 /** 309 * factory method for a enum value of Permission 310 * if no enum has been found an anonymous instance will be created 311 * @param value the enum value to be wrapped 312 * @return enum instance 313 */ 314 @JsonCreator 315 public static Permission findEnum(String value) { 316 return findEnumViaJsonName(value).orElse(new Permission() { 317 @Override 318 public String getJsonName() { 319 return value; 320 } 321 322 @Override 323 public String name() { 324 return value.toUpperCase(); 325 } 326 327 public String toString() { 328 return value; 329 } 330 }); 331 } 332 333 /** 334 * method to find enum using the JSON value 335 * @param jsonName the json value to be wrapped 336 * @return optional of enum instance 337 */ 338 public static Optional<Permission> findEnumViaJsonName(String jsonName) { 339 return Arrays.stream(values()).filter(t -> t.getJsonName().equals(jsonName)).findFirst(); 340 } 341 342 /** 343 * possible enum values 344 * @return array of possible enum values 345 */ 346 public static Permission[] values() { 347 return PermissionEnum.values(); 348 } 349 350}