Files
RUSTDESK-AP-SERVER-SUNLIX/http/request/admin/addressBook.go
ljw 8ee93b530d add address book name &
add share address book
2024-10-28 14:51:07 +08:00

125 lines
3.5 KiB
Go

package admin
import (
"Gwen/model"
"encoding/json"
)
type AddressBookForm struct {
RowId uint `json:"row_id"`
Id string `json:"id" validate:"required"`
Username string `json:"username" `
Password string `json:"password" `
Hostname string `json:"hostname" `
Alias string `json:"alias" `
Platform string `json:"platform" `
Tags []string `json:"tags"`
Hash string `json:"hash"`
UserId uint `json:"user_id"`
UserIds []uint `json:"user_ids"`
ForceAlwaysRelay bool `json:"forceAlwaysRelay"`
RdpPort string `json:"rdpPort"`
RdpUsername string `json:"rdpUsername"`
Online bool `json:"online"`
LoginName string `json:"loginName" `
SameServer bool `json:"sameServer"`
CollectionId uint `json:"collection_id"`
}
func (a AddressBookForm) ToAddressBook() *model.AddressBook {
//tags转换
tags, _ := json.Marshal(a.Tags)
return &model.AddressBook{
RowId: a.RowId,
Id: a.Id,
Username: a.Username,
Password: a.Password,
Hostname: a.Hostname,
Alias: a.Alias,
Platform: a.Platform,
Tags: tags,
Hash: a.Hash,
UserId: a.UserId,
ForceAlwaysRelay: a.ForceAlwaysRelay,
RdpPort: a.RdpPort,
RdpUsername: a.RdpUsername,
Online: a.Online,
LoginName: a.LoginName,
SameServer: a.SameServer,
CollectionId: a.CollectionId,
}
}
func (a AddressBookForm) ToAddressBooks() []*model.AddressBook {
//tags转换
tags, _ := json.Marshal(a.Tags)
abs := make([]*model.AddressBook, 0, len(a.UserIds))
for _, userId := range a.UserIds {
abs = append(abs, &model.AddressBook{
RowId: a.RowId,
Id: a.Id,
Username: a.Username,
Password: a.Password,
Hostname: a.Hostname,
Alias: a.Alias,
Platform: a.Platform,
Tags: tags,
Hash: a.Hash,
UserId: userId,
ForceAlwaysRelay: a.ForceAlwaysRelay,
RdpPort: a.RdpPort,
RdpUsername: a.RdpUsername,
Online: a.Online,
LoginName: a.LoginName,
SameServer: a.SameServer,
CollectionId: a.CollectionId,
})
}
return abs
}
type AddressBookQuery struct {
UserId int `form:"user_id"`
CollectionId *int `form:"collection_id"`
IsMy int `form:"is_my"`
Username string `form:"username"`
Hostname string `form:"hostname"`
Id string `form:"id"`
PageQuery
}
type ShareByWebClientForm struct {
Id string `json:"id" validate:"required"`
PasswordType string `json:"password_type" validate:"required,oneof=once fixed"` //只能是once,fixed
Password string `json:"password" validate:"required"`
Expire int64 `json:"expire"`
}
func (sbwcf ShareByWebClientForm) ToShareRecord() *model.ShareRecord {
return &model.ShareRecord{
UserId: 0,
PeerId: sbwcf.Id,
PasswordType: sbwcf.PasswordType,
Password: sbwcf.Password,
Expire: sbwcf.Expire,
}
}
type AddressBookCollectionQuery struct {
UserId int `form:"user_id"`
IsMy int `form:"is_my"`
PageQuery
}
type AddressBookCollectionSimpleListQuery struct {
UserIds []uint `form:"user_ids"`
}
type AddressBookCollectionRuleQuery struct {
UserId int `form:"user_id"`
CollectionId int `form:"collection_id"`
IsMy int `form:"is_my"`
PageQuery
}