//
// * Copyright 2020 The Feast Authors
// *
// * Licensed 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
// *
// *     https://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.
//

syntax = "proto3";

package feast.core;
option java_package = "feast.proto.core";
option java_outer_classname = "ProjectProto";
option go_package = "github.com/feast-dev/feast/go/protos/feast/core";

import "google/protobuf/timestamp.proto";

message Project {
    // User-specified specifications of this entity.
    ProjectSpec spec = 1;
    // System-populated metadata for this entity.
    ProjectMeta meta = 2;
}

message ProjectSpec {
    // Name of the Project
    string name = 1;

    // Description of the Project
    string description = 2;

    // User defined metadata
    map<string,string> tags = 3;

    // Owner of the Project
    string owner = 4;
}

message ProjectMeta {
    // Time when the Project is created
    google.protobuf.Timestamp created_timestamp = 1;
    // Time when the Project is last updated with registry changes (Apply stage)
    google.protobuf.Timestamp last_updated_timestamp = 2;
}
