113 lines
4.1 KiB
Go
113 lines
4.1 KiB
Go
/*
|
|
* 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 schema
|
|
|
|
const (
|
|
ExternalLoginOAuthStateLoginIntent = "login"
|
|
ExternalLoginOAuthStateBindIntent = "bind"
|
|
)
|
|
|
|
// UserExternalLoginResp user external login resp
|
|
type UserExternalLoginResp struct {
|
|
BindingKey string `json:"binding_key"`
|
|
AccessToken string `json:"access_token"`
|
|
// ErrMsg error message, if not empty, means login failed and this message should be displayed.
|
|
ErrMsg string `json:"-"`
|
|
ErrTitle string `json:"-"`
|
|
}
|
|
|
|
// ExternalLoginBindingUserSendEmailReq external login binding user request
|
|
type ExternalLoginBindingUserSendEmailReq struct {
|
|
BindingKey string `validate:"required,gt=1,lte=100" json:"binding_key"`
|
|
Email string `validate:"required,gt=1,lte=512,email" json:"email"`
|
|
// If must is true, whatever email if exists, try to bind user.
|
|
// If must is false, when email exist, will only be prompted with a warning.
|
|
Must bool `json:"must"`
|
|
}
|
|
|
|
// ExternalLoginBindingUserSendEmailResp external login binding user response
|
|
type ExternalLoginBindingUserSendEmailResp struct {
|
|
EmailExistAndMustBeConfirmed bool `json:"email_exist_and_must_be_confirmed"`
|
|
AccessToken string `json:"access_token"`
|
|
}
|
|
|
|
// ExternalLoginBindingUserReq external login binding user request
|
|
type ExternalLoginBindingUserReq struct {
|
|
Code string `validate:"required,gt=0,lte=500" json:"code"`
|
|
Content string `json:"-"`
|
|
}
|
|
|
|
// ExternalLoginBindingUserResp external login binding user response
|
|
type ExternalLoginBindingUserResp struct {
|
|
AccessToken string `json:"access_token"`
|
|
}
|
|
|
|
// ExternalLoginUserInfoCache external login user info
|
|
type ExternalLoginUserInfoCache struct {
|
|
// Third party identification
|
|
// e.g. facebook, twitter, instagram
|
|
Provider string
|
|
// required. The unique user ID provided by the third-party login
|
|
ExternalID string
|
|
// optional. This name is used preferentially during registration
|
|
DisplayName string
|
|
// optional. This username is used preferentially during registration
|
|
Username string
|
|
// optional. If email exist will bind the existing user
|
|
Email string
|
|
// optional. The avatar URL provided by the third-party login platform
|
|
Avatar string
|
|
// optional. The original user information provided by the third-party login platform
|
|
MetaInfo string
|
|
// optional. The bio provided by the third-party login platform
|
|
Bio string
|
|
}
|
|
|
|
// ExternalLoginOAuthState stores the local OAuth request state.
|
|
type ExternalLoginOAuthState struct {
|
|
Provider string `json:"provider"`
|
|
Intent string `json:"intent"`
|
|
UserID string `json:"user_id,omitempty"`
|
|
}
|
|
|
|
// ExternalLoginUnbindingReq external login unbinding user
|
|
type ExternalLoginUnbindingReq struct {
|
|
ExternalID string `validate:"required,gt=0,lte=128" json:"external_id"`
|
|
UserID string `json:"-"`
|
|
}
|
|
|
|
// UserCenterUserSettingsResp user center user info response
|
|
type UserCenterUserSettingsResp struct {
|
|
ProfileSettingAgent UserSettingAgent `json:"profile_setting_agent"`
|
|
AccountSettingAgent UserSettingAgent `json:"account_setting_agent"`
|
|
}
|
|
|
|
type UserCenterAdminFunctionAgentResp struct {
|
|
AllowCreateUser bool `json:"allow_create_user"`
|
|
AllowUpdateUserStatus bool `json:"allow_update_user_status"`
|
|
AllowUpdateUserPassword bool `json:"allow_update_user_password"`
|
|
AllowUpdateUserRole bool `json:"allow_update_user_role"`
|
|
}
|
|
|
|
type UserSettingAgent struct {
|
|
Enabled bool `json:"enabled"`
|
|
RedirectURL string `json:"redirect_url"`
|
|
}
|