blob: 531e63ac4ab50989489352ed44d61a7512ba734d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.eventmesh.dashboard.console.entity.topic;
import org.apache.eventmesh.dashboard.common.model.metadata.TopicMetadata;
import org.apache.eventmesh.dashboard.console.entity.base.BaseEntity;
import java.sql.Timestamp;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true, exclude = "status")
@SuperBuilder
public class TopicEntity extends BaseEntity {
private Long id;
private Long clusterId;
private String topicName;
private Long storageId;
@Schema(description = "time to live in milliseconds, -2 unknown, -1 no limit;", example = "1000")
private Long retentionMs;
/**
* topic type, 0: normal, 1: EventMesh internal;
*/
@Schema(description = "topic type, 0: normal, 1: EventMesh internal;", example = "0")
private Integer type;
private String description;
private Timestamp createTime;
private Timestamp updateTime;
private Integer status;
private Integer createProgress;
public TopicEntity(TopicMetadata source) {
setClusterId(source.getClusterId());
setTopicName(source.getTopicName());
setStorageId(source.getStorageId());
setRetentionMs(source.getRetentionMs());
setType(source.getType());
setDescription(source.getDescription());
setStatus(1);
setCreateProgress(1);
}
}