2016-11-07 16:53:13 +03:00
// Copyright 2015 The Gogs Authors. All rights reserved.
2019-02-25 21:56:47 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2016-11-07 16:53:13 +03:00
2019-05-11 13:21:34 +03:00
package structs
2016-11-07 16:53:13 +03:00
2023-02-16 19:32:01 +03:00
import "time"
2016-11-29 11:09:17 +03:00
// CreateUserOption create user options
2016-11-07 16:53:13 +03:00
type CreateUserOption struct {
2018-03-06 04:22:16 +03:00
SourceID int64 ` json:"source_id" `
2017-08-21 14:13:47 +03:00
LoginName string ` json:"login_name" `
2017-11-13 10:02:25 +03:00
// required: true
2022-11-04 12:04:08 +03:00
Username string ` json:"username" binding:"Required;Username;MaxSize(40)" `
2017-08-21 14:13:47 +03:00
FullName string ` json:"full_name" binding:"MaxSize(100)" `
2017-11-13 10:02:25 +03:00
// required: true
// swagger:strfmt email
2023-12-19 05:32:45 +03:00
Email string ` json:"email" binding:"Required;Email;MaxSize(254)" `
Password string ` json:"password" binding:"MaxSize(255)" `
2019-02-27 22:37:57 +03:00
MustChangePassword * bool ` json:"must_change_password" `
2019-02-25 21:56:47 +03:00
SendNotify bool ` json:"send_notify" `
2022-04-29 22:38:11 +03:00
Restricted * bool ` json:"restricted" `
2021-06-26 22:53:14 +03:00
Visibility string ` json:"visibility" binding:"In(,public,limited,private)" `
2023-02-16 19:32:01 +03:00
// For explicitly setting the user creation timestamp. Useful when users are
// migrated from other systems. When omitted, the user's creation timestamp
// will be set to "now".
Created * time . Time ` json:"created_at" `
2016-11-07 16:53:13 +03:00
}
2016-11-29 11:09:17 +03:00
// EditUserOption edit user options
2016-11-07 16:53:13 +03:00
type EditUserOption struct {
2017-11-13 10:02:25 +03:00
// required: true
2020-11-20 04:56:42 +03:00
SourceID int64 ` json:"source_id" `
// required: true
LoginName string ` json:"login_name" binding:"Required" `
2017-11-13 10:02:25 +03:00
// swagger:strfmt email
2020-11-20 04:56:42 +03:00
Email * string ` json:"email" binding:"MaxSize(254)" `
FullName * string ` json:"full_name" binding:"MaxSize(100)" `
Password string ` json:"password" binding:"MaxSize(255)" `
MustChangePassword * bool ` json:"must_change_password" `
2021-05-02 22:03:15 +03:00
Website * string ` json:"website" binding:"OmitEmpty;ValidUrl;MaxSize(255)" `
2020-11-20 04:56:42 +03:00
Location * string ` json:"location" binding:"MaxSize(50)" `
2021-05-02 22:03:15 +03:00
Description * string ` json:"description" binding:"MaxSize(255)" `
2020-11-20 04:56:42 +03:00
Active * bool ` json:"active" `
Admin * bool ` json:"admin" `
AllowGitHook * bool ` json:"allow_git_hook" `
AllowImportLocal * bool ` json:"allow_import_local" `
MaxRepoCreation * int ` json:"max_repo_creation" `
ProhibitLogin * bool ` json:"prohibit_login" `
AllowCreateOrganization * bool ` json:"allow_create_organization" `
2021-02-18 11:25:35 +03:00
Restricted * bool ` json:"restricted" `
2021-06-26 22:53:14 +03:00
Visibility string ` json:"visibility" binding:"In(,public,limited,private)" `
2016-11-07 16:53:13 +03:00
}