001/* 002 * Copyright 2024 Vonage 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 */ 016package com.vonage.client.meetings; 017 018import com.fasterxml.jackson.annotation.JsonProperty; 019import com.vonage.client.JsonableBaseObject; 020import java.net.URI; 021 022public class LogoUploadsUrlResponse extends JsonableBaseObject { 023 private URI url; 024 private Fields fields; 025 026 protected LogoUploadsUrlResponse() { 027 } 028 029 /** 030 * Storage system URL. 031 * 032 * @return The URL. 033 */ 034 @JsonProperty("url") 035 public URI getUrl() { 036 return url; 037 } 038 039 /** 040 * Fields property has to be part of the POST request's body. 041 * 042 * @return The field properties. 043 */ 044 @JsonProperty("fields") 045 public Fields getFields() { 046 return fields; 047 } 048 049 public static class Fields extends JsonableBaseObject { 050 private LogoType logoType; 051 private String contentType, key, bucket, policy, 052 amzDate, amzAlgorithm, amzCredential, amzSecurityToken, amzSignature; 053 054 protected Fields() { 055 } 056 057 /** 058 * MIME type of the content. 059 * 060 * @return The image type as a string. 061 */ 062 @JsonProperty("Content-Type") 063 public String getContentType() { 064 return contentType; 065 } 066 067 /** 068 * Logo's key in storage system. 069 * 070 * @return The logo key. 071 */ 072 @JsonProperty("key") 073 public String getKey() { 074 return key; 075 } 076 077 /** 078 * Logo's type. 079 * 080 * @return The logo type, as an enum. 081 */ 082 @JsonProperty("logoType") 083 public LogoType getLogoType() { 084 return logoType; 085 } 086 087 /** 088 * Bucket name to upload to. 089 * 090 * @return The bucket name. 091 */ 092 @JsonProperty("bucket") 093 public String getBucket() { 094 return bucket; 095 } 096 097 @JsonProperty("X-Amz-Algorithm") 098 public String getAmzAlgorithm() { 099 return amzAlgorithm; 100 } 101 102 @JsonProperty("X-Amz-Credential") 103 public String getAmzCredential() { 104 return amzCredential; 105 } 106 107 @JsonProperty("X-Amz-Date") 108 public String getAmzDate() { 109 return amzDate; 110 } 111 112 @JsonProperty("X-Amz-Security-Token") 113 public String getAmzSecurityToken() { 114 return amzSecurityToken; 115 } 116 117 @JsonProperty("Policy") 118 public String getPolicy() { 119 return policy; 120 } 121 122 @JsonProperty("X-Amz-Signature") 123 public String getAmzSignature() { 124 return amzSignature; 125 } 126 } 127}