mirror of
https://github.com/mickael-kerjean/filestash
synced 2025-12-27 10:42:36 +01:00
feature (share): WIP
This commit is contained in:
parent
c649dc4854
commit
86b1acd93c
3 changed files with 45 additions and 51 deletions
|
|
@ -135,6 +135,12 @@ export class ShareComponent extends React.Component {
|
|||
}
|
||||
this.setState({existings: links});
|
||||
return Share.upsert(link)
|
||||
.then(() => {
|
||||
if(this.state.url !== null && this.state.url !== this.state.id){
|
||||
this.onDeleteLink(this.state.id)
|
||||
}
|
||||
return Promise.resolve()
|
||||
})
|
||||
.then(() => this.setState(this.resetState()))
|
||||
.catch((err) => {
|
||||
notify.send(err, "error");
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ func TestShareMultipleUpsert(t *testing.T) {
|
|||
err := model.ShareUpsert(&shareObj);
|
||||
assert.NoError(t, err)
|
||||
|
||||
shareObj.CanManageOwn = false
|
||||
err = model.ShareUpsert(&shareObj);
|
||||
assert.NoError(t, err)
|
||||
|
||||
|
|
@ -40,18 +39,16 @@ func TestShareMultipleUpsert(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
// func TestShareUpsertIsProperlyInserted(t *testing.T) {
|
||||
// err := model.ShareUpsert(&shareObj);
|
||||
// assert.NoError(t, err)
|
||||
func TestShareUpsertIsProperlyInserted(t *testing.T) {
|
||||
err := model.ShareUpsert(&shareObj);
|
||||
assert.NoError(t, err)
|
||||
|
||||
// var obj model.Share
|
||||
// err = model.ShareGet(&obj)
|
||||
// assert.NoError(t, err)
|
||||
// assert.NotNil(t, obj.Password)
|
||||
|
||||
// // TODO
|
||||
// //assert.NotNil(t, obj.Password)
|
||||
// }
|
||||
var obj model.Share
|
||||
obj.Id = "foo"
|
||||
err = model.ShareGet(&obj)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, obj.Password)
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////
|
||||
//// get
|
||||
|
|
@ -71,29 +68,26 @@ func TestShareGetExisting(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
// func TestShareGetExistingMakeSureDataIsOk(t *testing.T) {
|
||||
// err := model.ShareUpsert(&shareObj);
|
||||
// assert.NoError(t, err, "Upsert issue")
|
||||
func TestShareGetExistingMakeSureDataIsOk(t *testing.T) {
|
||||
err := model.ShareUpsert(&shareObj);
|
||||
assert.NoError(t, err, "Upsert issue")
|
||||
|
||||
// var obj model.Share
|
||||
// obj.Id = shareObj.Id
|
||||
// obj.Backend = shareObj.Backend
|
||||
// err = model.ShareGet(&obj);
|
||||
// assert.NoError(t, err)
|
||||
// assert.Equal(t, "foo", obj.Id)
|
||||
// assert.Equal(t, "/var/www/", obj.Path)
|
||||
// assert.Equal(t, true, obj.CanManageOwn)
|
||||
// assert.Equal(t, true, obj.CanShare)
|
||||
// assert.Equal(t, true, obj.CanRead)
|
||||
// assert.Equal(t, false, obj.CanWrite)
|
||||
// assert.Equal(t, false, obj.CanUpload)
|
||||
// assert.Nil(t, obj.Backend)
|
||||
|
||||
// assert.NotNil(t, obj.Expire)
|
||||
// assert.Equal(t, shareObj.Expire, obj.Expire)
|
||||
// assert.NotNil(t, obj.Password)
|
||||
// assert.NotEqual(t, shareObj.Password, obj.Password)
|
||||
// }
|
||||
var obj model.Share
|
||||
obj.Id = "foo"
|
||||
obj.Backend = shareObj.Backend
|
||||
err = model.ShareGet(&obj);
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, "foo", obj.Id)
|
||||
assert.Equal(t, "/var/www/", obj.Path)
|
||||
assert.Equal(t, true, obj.CanManageOwn)
|
||||
assert.Equal(t, true, obj.CanShare)
|
||||
assert.Equal(t, true, obj.CanRead)
|
||||
assert.Equal(t, false, obj.CanWrite)
|
||||
assert.Equal(t, false, obj.CanUpload)
|
||||
assert.Equal(t, "foo", obj.Backend)
|
||||
assert.Equal(t, shareObj.Expire, obj.Expire)
|
||||
assert.Equal(t, "{{PASSWORD}}", *obj.Password)
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////
|
||||
//// LIST
|
||||
|
|
|
|||
|
|
@ -81,11 +81,9 @@ func ShareList(p *Share) ([]Share, error) {
|
|||
sharedFiles := []Share{}
|
||||
for rows.Next() {
|
||||
var a Share
|
||||
a.Id = "test"
|
||||
var params []byte
|
||||
rows.Scan(&a.Id, &a.Path, ¶ms)
|
||||
json.Unmarshal(params, &a)
|
||||
// TODO password
|
||||
sharedFiles = append(sharedFiles, a)
|
||||
}
|
||||
rows.Close()
|
||||
|
|
@ -121,11 +119,16 @@ func shareGet(p *Share) error {
|
|||
}
|
||||
|
||||
func ShareUpsert(p *Share) error {
|
||||
var copy Share
|
||||
if p.Password != nil && *p.Password == PASSWORD_DUMMY {
|
||||
copy = *p
|
||||
ShareGet(©)
|
||||
p.Password = copy.Password
|
||||
if p.Password != nil {
|
||||
if *p.Password == PASSWORD_DUMMY {
|
||||
var copy Share
|
||||
copy.Id = p.Id
|
||||
shareGet(©);
|
||||
p.Password = copy.Password
|
||||
} else {
|
||||
hashedPassword, _ := bcrypt.GenerateFromPassword([]byte(*p.Password), bcrypt.DefaultCost)
|
||||
p.Password = NewString(string(hashedPassword))
|
||||
}
|
||||
}
|
||||
|
||||
stmt, err := DB.Prepare("INSERT INTO Location(backend, path) VALUES($1, $2)")
|
||||
|
|
@ -158,16 +161,7 @@ func ShareUpsert(p *Share) error {
|
|||
CanWrite bool `json:"can_write"`
|
||||
CanUpload bool `json:"can_upload"`
|
||||
}{
|
||||
Password: func(password *string) *string{
|
||||
if password == nil {
|
||||
return nil
|
||||
}
|
||||
if *password == PASSWORD_DUMMY {
|
||||
return copy.Password
|
||||
}
|
||||
hashedPassword, _ := bcrypt.GenerateFromPassword([]byte(*password), bcrypt.DefaultCost)
|
||||
return NewString(string(hashedPassword))
|
||||
}(p.Password),
|
||||
Password: p.Password,
|
||||
Users: p.Users,
|
||||
Expire: p.Expire,
|
||||
Url: p.Url,
|
||||
|
|
|
|||
Loading…
Reference in a new issue