/*
* Licensed to Jasig under one or more contributor license
* agreements. See the NOTICE file distributed with this work
* for additional information regarding copyright ownership.
* Jasig 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 the following location:
*
* 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 io.cos.cas.adaptors.postgres.models;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* The OpenScience Framework API OAuth2 Application.
*
* @author Micael Haselton
* @author Longze Chen
* @since 4.1.0
*/
@Entity
@Table(name = "osf_apioauth2application")
public class OpenScienceFrameworkApiOauth2Application {
@Id
@Column(name = "id", nullable = false)
private Integer id;
/**
* The `objectId` serves as a unique and fixed identifier for each oauth application.
* It comes from `apioauth2application._id` (mongo) to `apioauth2application._id` (postgres).
* Methods such as `getId()` refer to this `objectId`.
*/
@Column(name ="_id", nullable = false, unique=true)
private String objectId;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "description")
private String description;
@Column(name = "client_id", nullable = false, unique = true)
private String clientId;
@Column(name = "client_secret", nullable = false)
private String clientSecret;
@Column(name = "callback_url", nullable = false)
private String callbackUrl;
@Column(name = "is_active", nullable = false)
private Boolean isActive;
/**
* Returns the `objectId` instead of `id` (postgres pk).
* @return the object id
*/
public String getId() {
return objectId;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public String getClientId() {
return clientId;
}
public String getClientSecret() {
return clientSecret;
}
public String getCallbackUrl() {
return callbackUrl;
}
@Override
public String toString() {
return String.format("OpenScienceFrameworkApiOauth2Application [_id=%s, name=%s]", objectId, name);
}
}