github.com/greenpau/go-identity@v1.1.6/registration.go (about)

     1  // Copyright 2020 Paul Greenberg greenpau@outlook.com
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package identity
    16  
    17  import (
    18  	"time"
    19  )
    20  
    21  // Registration is an instance of user registration.
    22  // Typically used in scenarios where user wants to
    23  // register for a service. The user provides identity information
    24  // and waits for an approval.
    25  type Registration struct {
    26  	User     *User     `json:"user,omitempty" xml:"user,omitempty" yaml:"user,omitempty"`
    27  	Created  time.Time `json:"created,omitempty" xml:"created,omitempty" yaml:"created,omitempty"`
    28  	Aprroved bool      `json:"aprroved,omitempty" xml:"aprroved,omitempty" yaml:"aprroved,omitempty"`
    29  }
    30  
    31  // NewRegistration returns an instance of Registration.
    32  func NewRegistration(user *User) *Registration {
    33  	r := &Registration{
    34  		User:    user,
    35  		Created: time.Now().UTC(),
    36  	}
    37  	return r
    38  }