Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* initial completion of the sharing function

* Adjusting multi-partition disk mounts

* Add file sharing function

* update usb auto mount shell

* update samba config

* add umount disk function

* update change log

* update usb auto mount \

* update usb auto mount

* Update periodical.go

* Update periodical.go

* resolve alpha.1 issues

* Update UI
  • Loading branch information
LinkLeong authored Aug 18, 2022
1 parent 091be6d commit b6f413b
Show file tree
Hide file tree
Showing 21 changed files with 234 additions and 164 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ main
CasaOS
github.com
.all-contributorsrc
build
8 changes: 7 additions & 1 deletion route/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,18 @@ import (
"os"
"strconv"
"strings"
"time"

"github.com/IceWhaleTech/CasaOS/pkg/config"
"github.com/IceWhaleTech/CasaOS/pkg/samba"
"github.com/IceWhaleTech/CasaOS/pkg/utils/command"
"github.com/IceWhaleTech/CasaOS/pkg/utils/encryption"
"github.com/IceWhaleTech/CasaOS/pkg/utils/file"
"github.com/IceWhaleTech/CasaOS/pkg/utils/loger"
"github.com/IceWhaleTech/CasaOS/service"
model2 "github.com/IceWhaleTech/CasaOS/service/model"
uuid "github.com/satori/go.uuid"
"go.uber.org/zap"
)

func InitFunction() {
Expand All @@ -24,7 +27,8 @@ func InitFunction() {
// Soon to be removed
ChangeAPIUrl()
MoveUserToDB()
InitNetworkMount()
go InitNetworkMount()

}

func CheckSerialDiskMount() {
Expand Down Expand Up @@ -141,12 +145,14 @@ func MoveUserToDB() {
}

func InitNetworkMount() {
time.Sleep(time.Second * 10)
connections := service.MyService.Connections().GetConnectionsList()
for _, v := range connections {
connection := service.MyService.Connections().GetConnectionByID(fmt.Sprint(v.ID))
directories, err := samba.GetSambaSharesList(connection.Host, connection.Port, connection.Username, connection.Password)
if err != nil {
service.MyService.Connections().DeleteConnection(fmt.Sprint(connection.ID))
loger.Error("mount samba err", zap.Any("err", err), zap.Any("info", connection))
continue
}
baseHostPath := "/mnt/" + connection.Host
Expand Down
13 changes: 11 additions & 2 deletions route/v1/disk.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package v1

import (
"fmt"
"net/http"
"reflect"
"strconv"
Expand Down Expand Up @@ -255,6 +256,8 @@ func DeleteDisksUmount(c *gin.Context) {
service.MyService.Disk().UmountPointAndRemoveDir(v.Path)
//delete data
service.MyService.Disk().DeleteMountPoint(v.Path, v.MountPoint)

service.MyService.Shares().DeleteShareByPath(v.MountPoint)
}

service.MyService.Disk().RemoveLSBLKCache()
Expand Down Expand Up @@ -367,7 +370,7 @@ func PostDiskAddPartition(c *gin.Context) {
js := make(map[string]interface{})
c.ShouldBind(&js)
path := js["path"].(string)
//name := js["name"].(string)
name := js["name"].(string)
format := js["format"].(bool)

if len(path) == 0 {
Expand Down Expand Up @@ -412,10 +415,16 @@ func PostDiskAddPartition(c *gin.Context) {
// c.JSON(common_err.SERVICE_ERROR, model.Result{Success: common_err.DISK_NEEDS_FORMAT, Message: common_err.GetMsg(common_err.DISK_NEEDS_FORMAT)})
// return
// }
fmt.Println(name)
if len(name) == 0 {
name = "Storage"
}
fmt.Println(name)
for i := 0; i < len(currentDisk.Children); i++ {
childrenName := currentDisk.Children[i].Label
if len(childrenName) == 0 {
childrenName = "Storage_" + currentDisk.Children[i].Name
//childrenName = name + "_" + currentDisk.Children[i].Name
childrenName = name + "_" + strconv.Itoa(i+1)
}
mountPath := "/DATA/" + childrenName
if !file.CheckNotExist(mountPath) {
Expand Down
2 changes: 1 addition & 1 deletion route/v1/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -1120,7 +1120,7 @@ func ContainerUpdateInfo(c *gin.Context) {
showENV := info.Config.Labels["show_env"]
showENVList := strings.Split(showENV, ",")
showENVMap := make(map[string]string)
if len(showENVList) > 0 {
if len(showENVList) > 0 && showENVList[0] != "" {
for _, name := range showENVList {
showENVMap[name] = "1"
}
Expand Down
5 changes: 3 additions & 2 deletions route/v1/samba.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: LinkLeong link@icewhale.com
* @Date: 2022-07-26 11:08:48
* @LastEditors: LinkLeong
* @LastEditTime: 2022-08-05 12:16:39
* @LastEditTime: 2022-08-17 18:25:42
* @FilePath: /CasaOS/route/v1/samba.go
* @Description:
* @Website: https://www.casaos.io
Expand Down Expand Up @@ -85,6 +85,7 @@ func PostSambaSharesCreate(c *gin.Context) {
shareDBModel.Anonymous = true
shareDBModel.Path = v.Path
shareDBModel.Name = filepath.Base(v.Path)
os.Chmod(v.Path, 0777)
service.MyService.Shares().CreateShare(shareDBModel)
}

Expand Down Expand Up @@ -127,8 +128,8 @@ func PostSambaConnectionsCreate(c *gin.Context) {
c.JSON(common_err.CLIENT_ERROR, model.Result{Success: common_err.INVALID_PARAMS, Message: common_err.GetMsg(common_err.INVALID_PARAMS)})
return
}
connection.Host = strings.Split(connection.Host, "/")[0]
// check is exists

connections := service.MyService.Connections().GetConnectionByHost(connection.Host)
if len(connections) > 0 {
c.JSON(common_err.SERVICE_ERROR, model.Result{Success: common_err.Record_ALREADY_EXIST, Message: common_err.GetMsg(common_err.Record_ALREADY_EXIST), Data: common_err.GetMsg(common_err.Record_ALREADY_EXIST)})
Expand Down
11 changes: 8 additions & 3 deletions route/v1/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: LinkLeong link@icewhale.com
* @Date: 2022-07-11 16:02:29
* @LastEditors: LinkLeong
* @LastEditTime: 2022-08-11 14:20:02
* @LastEditTime: 2022-08-17 19:14:50
* @FilePath: /CasaOS/route/v1/storage.go
* @Description:
* @Website: https://www.casaos.io
Expand All @@ -11,8 +11,8 @@
package v1

import (
"path/filepath"
"reflect"
"strconv"

"github.com/IceWhaleTech/CasaOS/model"
"github.com/IceWhaleTech/CasaOS/pkg/utils/common_err"
Expand Down Expand Up @@ -70,7 +70,12 @@ func GetStorageList(c *gin.Context) {
stor.Type = v.FsType
stor.DriveName = v.Name
if len(v.Label) == 0 {
stor.Label = "Storage" + strconv.Itoa(diskNumber) + "_" + strconv.Itoa(children)
if stor.MountPoint == "/" {
stor.Label = "System"
} else {
stor.Label = filepath.Base(stor.MountPoint)
}

children += 1
} else {
stor.Label = v.Label
Expand Down
11 changes: 6 additions & 5 deletions service/docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -535,13 +535,14 @@ func (ds *dockerService) DockerContainerCreate(m model.CustomizationPostData, id
// info.NetworkSettings = &types.NetworkSettings{}
hostConfig = info.HostConfig
config = info.Config
} else {
config.Cmd = m.Cmd
config.Image = m.Image
config.Env = envArr
config.Hostname = m.HostName
config.ExposedPorts = ports
}

config.Cmd = m.Cmd
config.Image = m.Image
config.Env = envArr
config.Hostname = m.HostName
config.ExposedPorts = ports
config.Labels["origin"] = m.Origin
config.Labels["casaos"] = "casaos"
config.Labels["web"] = m.PortMap
Expand Down
10 changes: 10 additions & 0 deletions service/model/o_disk.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
/*
* @Author: LinkLeong link@icewhale.org
* @Date: 2021-12-07 17:14:41
* @LastEditors: LinkLeong
* @LastEditTime: 2022-08-17 18:46:43
* @FilePath: /CasaOS/service/model/o_disk.go
* @Description:
* @Website: https://www.casaos.io
* Copyright (c) 2022 by icewhale, All Rights Reserved.
*/
package model

//SerialAdvanced Technology Attachment (STAT)
Expand Down
8 changes: 7 additions & 1 deletion service/shares.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @Author: LinkLeong link@icewhale.org
* @Date: 2022-07-26 11:21:14
* @LastEditors: LinkLeong
* @LastEditTime: 2022-08-11 14:04:00
* @LastEditTime: 2022-08-18 11:16:25
* @FilePath: /CasaOS/service/shares.go
* @Description:
* @Website: https://www.casaos.io
Expand Down Expand Up @@ -30,12 +30,18 @@ type SharesService interface {
DeleteShare(id string)
UpdateConfigFile()
InitSambaConfig()
DeleteShareByPath(path string)
}

type sharesStruct struct {
db *gorm.DB
}

func (s *sharesStruct) DeleteShareByPath(path string) {
s.db.Where("path LIKE ?", path+"%").Delete(&model.SharesDBModel{})
s.UpdateConfigFile()
}

func (s *sharesStruct) GetSharesByName(name string) (shares []model2.SharesDBModel) {
s.db.Select("anonymous,path,id").Where("name = ?", name).Find(&shares)

Expand Down
18 changes: 9 additions & 9 deletions web/browserconfig.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/ui/img/icon/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/ui/img/icon/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>
28 changes: 14 additions & 14 deletions web/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 25 additions & 25 deletions web/img/icon/safari-pinned-tab.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 12 additions & 1 deletion web/index.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
<!--
* @Author: LinkLeong link@icewhale.org
* @Date: 2022-08-18 11:14:30
* @LastEditors: LinkLeong
* @LastEditTime: 2022-08-18 11:17:26
* @FilePath: /CasaOS/web/index.html
* @Description:
* @Website: https://www.casaos.io
* Copyright (c) 2022 by icewhale, All Rights Reserved.
-->
<!DOCTYPE html>
<html lang="">

Expand All @@ -20,7 +30,7 @@
<title>
CasaOS
</title>
<link href="/ui/css/13.a16d5119.css" rel="prefetch"><link href="/ui/css/14.cf8c898a.css" rel="prefetch"><link href="/ui/css/4.f17f9b01.css" rel="prefetch"><link href="/ui/css/5.e8438f80.css" rel="prefetch"><link href="/ui/css/6.d72d6157.css" rel="prefetch"><link href="/ui/css/7.805596b0.css" rel="prefetch"><link href="/ui/css/8.92188e4d.css" rel="prefetch"><link href="/ui/css/9.dccf29b4.css" rel="prefetch"><link href="/ui/js/0.js" rel="prefetch"><link href="/ui/js/1.js" rel="prefetch"><link href="/ui/js/10.js" rel="prefetch"><link href="/ui/js/11.js" rel="prefetch"><link href="/ui/js/12.js" rel="prefetch"><link href="/ui/js/13.js" rel="prefetch"><link href="/ui/js/14.js" rel="prefetch"><link href="/ui/js/15.js" rel="prefetch"><link href="/ui/js/2.js" rel="prefetch"><link href="/ui/js/3.js" rel="prefetch"><link href="/ui/js/4.js" rel="prefetch"><link href="/ui/js/5.js" rel="prefetch"><link href="/ui/js/6.js" rel="prefetch"><link href="/ui/js/7.js" rel="prefetch"><link href="/ui/js/8.js" rel="prefetch"><link href="/ui/js/9.js" rel="prefetch"><link href="/ui/css/app.c78d232d.css" rel="preload" as="style"><link href="/ui/css/vendors~app.c42f9a2b.css" rel="preload" as="style"><link href="/ui/js/app.js" rel="preload" as="script"><link href="/ui/js/vendors~app.js" rel="preload" as="script"><link href="/ui/css/vendors~app.c42f9a2b.css" rel="stylesheet"><link href="/ui/css/app.c78d232d.css" rel="stylesheet"></head>
<link href="/ui/css/13.4aea6393.css" rel="prefetch"><link href="/ui/css/14.177dd094.css" rel="prefetch"><link href="/ui/css/4.5facaf2f.css" rel="prefetch"><link href="/ui/css/5.3f6e4ac6.css" rel="prefetch"><link href="/ui/css/6.0cf49524.css" rel="prefetch"><link href="/ui/css/7.515410b8.css" rel="prefetch"><link href="/ui/css/8.d30a96e7.css" rel="prefetch"><link href="/ui/css/9.3e385d0d.css" rel="prefetch"><link href="/ui/js/0.js" rel="prefetch"><link href="/ui/js/1.js" rel="prefetch"><link href="/ui/js/10.js" rel="prefetch"><link href="/ui/js/11.js" rel="prefetch"><link href="/ui/js/12.js" rel="prefetch"><link href="/ui/js/13.js" rel="prefetch"><link href="/ui/js/14.js" rel="prefetch"><link href="/ui/js/15.js" rel="prefetch"><link href="/ui/js/2.js" rel="prefetch"><link href="/ui/js/3.js" rel="prefetch"><link href="/ui/js/4.js" rel="prefetch"><link href="/ui/js/5.js" rel="prefetch"><link href="/ui/js/6.js" rel="prefetch"><link href="/ui/js/7.js" rel="prefetch"><link href="/ui/js/8.js" rel="prefetch"><link href="/ui/js/9.js" rel="prefetch"><link href="/ui/css/app.66eff8da.css" rel="preload" as="style"><link href="/ui/css/vendors~app.3967bc71.css" rel="preload" as="style"><link href="/ui/js/app.js" rel="preload" as="script"><link href="/ui/js/vendors~app.js" rel="preload" as="script"><link href="/ui/css/vendors~app.3967bc71.css" rel="stylesheet"><link href="/ui/css/app.66eff8da.css" rel="stylesheet"></head>

<body>
<noscript>
Expand All @@ -32,3 +42,4 @@
<script type="text/javascript" src="/ui/js/vendors~app.js"></script><script type="text/javascript" src="/ui/js/app.js"></script></body>

</html>

Loading

0 comments on commit b6f413b

Please sign in to comment.