95187bcc64
This makes a couple of backwards compatible changes to the ClusterConfig: - Remove the `ignore_permissions` and `ignore_delete` booleans which we've never read or used for anything - Remove the `disable_temp_indexes` boolean and option entirely. We did use this one, and about 1% of users have set the option. The only thing it does is inhibits sending of periodical DownloadProgress messages while downloading data, which is a minuscule bandwidth optimisation given that we're already sending data at the time. - Change the `read_only` boolean (which indicated send-only folders) to an enum `FolderType`, where the values zero and one match the existing usage. Again, we don't actually use this value, but I can see that we might want to and then it makes more sense for it to be more comprehensive. - Change the `paused` boolean to an enum `StopReason`, where zero indicates not stopped and one indicates paused, exactly the same wire representation as previously but leaves space for additional stop reasons (errors etc).
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
// Copyright (C) 2016 The Syncthing Authors.
|
|
//
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
|
|
package config
|
|
|
|
import "github.com/syncthing/syncthing/lib/protocol"
|
|
|
|
type FolderType protocol.FolderType
|
|
|
|
const (
|
|
FolderTypeSendReceive = FolderType(protocol.FolderTypeSendReceive)
|
|
FolderTypeSendOnly = FolderType(protocol.FolderTypeSendOnly)
|
|
FolderTypeReceiveOnly = FolderType(protocol.FolderTypeReceiveOnly)
|
|
FolderTypeReceiveEncrypted = FolderType(protocol.FolderTypeReceiveEncrypted)
|
|
)
|
|
|
|
func (t FolderType) String() string {
|
|
switch t {
|
|
case FolderTypeSendReceive:
|
|
return "sendreceive"
|
|
case FolderTypeSendOnly:
|
|
return "sendonly"
|
|
case FolderTypeReceiveOnly:
|
|
return "receiveonly"
|
|
case FolderTypeReceiveEncrypted:
|
|
return "receiveencrypted"
|
|
default:
|
|
return "unknown"
|
|
}
|
|
}
|
|
|
|
func (t FolderType) MarshalText() ([]byte, error) {
|
|
return []byte(t.String()), nil
|
|
}
|
|
|
|
func (t *FolderType) UnmarshalText(bs []byte) error {
|
|
switch string(bs) {
|
|
case "readwrite", "sendreceive":
|
|
*t = FolderTypeSendReceive
|
|
case "readonly", "sendonly":
|
|
*t = FolderTypeSendOnly
|
|
case "receiveonly":
|
|
*t = FolderTypeReceiveOnly
|
|
case "receiveencrypted":
|
|
*t = FolderTypeReceiveEncrypted
|
|
default:
|
|
*t = FolderTypeSendReceive
|
|
}
|
|
return nil
|
|
}
|