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}