-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathboxCollaborations.psm1
More file actions
118 lines (100 loc) · 3.13 KB
/
boxCollaborations.psm1
File metadata and controls
118 lines (100 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
function boxGetCollaboration()
{
param
(
[parameter(Mandatory=$false)]
[ValidateLength(1,100)]
[String]$env=(boxGetDefaultEnv),
[parameter(Mandatory=$false)]
[String]$collabid="0"
)
$method = 'GET'
$resource = '/collaborations/' + $collabid
$result = boxApiCall -env $env -method $method -resource $resource
return $result
}
function boxCreateCollaboration()
{
param
(
[parameter(Mandatory=$false)]
[ValidateLength(1,100)]
[String]$env=(boxGetDefaultEnv),
[parameter(Mandatory=$true)]
[String]$collabon,
[parameter(Mandatory=$true)]
[String]$collabto,
[parameter(Mandatory=$false)]
[ValidateSet('user','group')]
[String]$collabtoType='user',
[parameter(Mandatory=$false)]
[bool]$notify=$true,
[parameter(Mandatory=$false)]
[String]$login,
[parameter(Mandatory=$false)]
[ValidateSet('editor','viewer','previewer','uploader','previewer uploader','viewer uploader','co-owner','owner')]
[string]$role='co-owner',
[parameter(Mandatory=$false)]
[string]$fields='Please enjoy our collaboration together...'
)
$method = 'POST'
$resource = '/collaborations'
$body = @{ "notify" = $notify
"item" = @{ "id" = $collabon; "type" = "folder" }
"accessible_by" = @{ "id" = $collabto; "type" = $collabtoType }
"role" = $role
"fields" = $fields
}
$result = boxApiCall -env $env -method $method -resource $resource -body $body
return $result
}
function boxDeleteCollaboration()
{
param
(
[parameter(Mandatory=$false)]
[ValidateLength(1,100)]
[String]$env=(boxGetDefaultEnv),
[parameter(Mandatory=$true)]
[String]$collabid
)
$method = 'DELETE'
$resource = '/collaborations/' + $collabid
$result = boxApiCall -env $env -method $method -resource $resource
return $result
}
function zzzboxUpdateFolder()
{
param
(
[parameter(Mandatory=$false)]
[ValidateLength(1,100)]
[String]$env=(boxGetDefaultEnv),
[parameter(Mandatory=$true)]
[string]$folderid,
[parameter(Mandatory=$false)]
[String]$name,
[parameter(Mandatory=$false)]
[String]$tags,
[parameter(Mandatory=$false)]
[String]$description
)
$method = 'Put'
$resource = '/folders/' + $folderid
[string[]]$param = "name","tags","description"
$body = New-Object psobject
foreach ($p in $param)
{
if (Get-Variable -Name $p -ErrorAction SilentlyContinue)
{
if ((Get-Variable -Name $p -ValueOnly) -ne "")
{
Add-Member -InputObject $body -Name $p -Value (Get-Variable -Name $p -ValueOnly) -MemberType NoteProperty
Write-Verbose ("Setting " + $p + " to " + (Get-Variable -Name $p -ValueOnly))
}
}
}
Write-Verbose ($body)
$result = boxApiCall -env $env -method $method -resource $resource -body $body
return $result
}