@@ -25,15 +25,16 @@ let listPackageFilesOnDisk (dir: String) : List<String> =
25
25
26
26
27
27
let saveItemToCanvas
28
- (host: String)
29
28
(json: String)
29
+ (host: String)
30
+ (password: String)
30
31
(name: String)
31
32
: PACKAGE.Darklang.Stdlib.Result.Result<Unit, String> =
32
33
let response =
33
34
PACKAGE.Darklang.Stdlib.HttpClient.request
34
35
"POST"
35
36
$"{host}/{name}s"
36
- []
37
+ [PACKAGE.Darklang.Stdlib.HttpClient.bearerToken password ]
37
38
(PACKAGE.Darklang.Stdlib.String.toBytes json)
38
39
39
40
let errMsg = $"Error saving {name} to canvas"
@@ -51,6 +52,7 @@ let saveItemToCanvas
51
52
Builtin.printLine
52
53
$"Body: {response.body |> PACKAGE.Darklang.Stdlib.String.fromBytesWithReplacement}"
53
54
55
+ Builtin.printLine $"pw[{password}]"
54
56
Builtin.printLine errMsg
55
57
PACKAGE.Darklang.Stdlib.Result.Result.Error errMsg
56
58
| Error err ->
@@ -62,7 +64,8 @@ let saveItemToCanvas
62
64
63
65
64
66
let loadPackageFileIntoDarkCanvas
65
- (host : string)
67
+ (host: String)
68
+ (password: String)
66
69
(filename: String)
67
70
: PACKAGE.Darklang.Stdlib.Result.Result<Unit, String> =
68
71
let package =
@@ -78,44 +81,56 @@ let loadPackageFileIntoDarkCanvas
78
81
|> PACKAGE.Darklang.Stdlib.List.map (fun fn ->
79
82
let owner = fn.name.owner
80
83
let modules = fn.name.modules |> PACKAGE.Darklang.Stdlib.String.join "."
81
- let name = match fn.name.name with
82
- | FnName name -> name
84
+
85
+ let name =
86
+ match fn.name.name with
87
+ | FnName name -> name
88
+
83
89
let version = PACKAGE.Darklang.Stdlib.Int64.toString_v0 fn.name.version
84
- let name = $"Function {owner}.{modules}.{name}_v{version}"
90
+ let name = $"Function {owner}.{modules}.{name}_v{version}"
85
91
86
92
Builtin.printLine $"Saving {name}"
93
+
87
94
fn
88
95
|> Builtin.Json.serialize<PACKAGE.Darklang.LanguageTools.ProgramTypes.PackageFn.PackageFn>
89
- |> saveItemToCanvas host "function")
96
+ |> saveItemToCanvas host password "function")
90
97
91
98
let typeResults =
92
99
package.types
93
100
|> PACKAGE.Darklang.Stdlib.List.map (fun t ->
94
101
95
102
let owner = t.name.owner
96
103
let modules = t.name.modules |> PACKAGE.Darklang.Stdlib.String.join "."
97
- let name = match t.name.name with
98
- | TypeName name -> name
104
+
105
+ let name =
106
+ match t.name.name with
107
+ | TypeName name -> name
108
+
99
109
let version = PACKAGE.Darklang.Stdlib.Int64.toString_v0 t.name.version
100
- let name = $"Type {owner}.{modules}.{name}_v{version}"
110
+ let name = $"Type {owner}.{modules}.{name}_v{version}"
101
111
Builtin.printLine $"Saving {name}"
112
+
102
113
t
103
114
|> Builtin.Json.serialize<PACKAGE.Darklang.LanguageTools.ProgramTypes.PackageType>
104
- |> saveItemToCanvas host "type")
115
+ |> saveItemToCanvas host password "type")
105
116
106
117
let constantResults =
107
118
package.constants
108
119
|> PACKAGE.Darklang.Stdlib.List.map (fun c ->
109
120
let owner = c.name.owner
110
121
let modules = c.name.modules |> PACKAGE.Darklang.Stdlib.String.join "."
111
- let name = match c.name.name with
112
- | ConstantName name -> name
122
+
123
+ let name =
124
+ match c.name.name with
125
+ | ConstantName name -> name
126
+
113
127
let version = PACKAGE.Darklang.Stdlib.Int64.toString_v0 c.name.version
114
- let name = $"Constant {owner}.{modules}.{name}_v{version}"
128
+ let name = $"Constant {owner}.{modules}.{name}_v{version}"
115
129
Builtin.printLine $"Saving {name}"
130
+
116
131
c
117
132
|> Builtin.Json.serialize<PACKAGE.Darklang.LanguageTools.ProgramTypes.PackageConstant>
118
- |> saveItemToCanvas host "constant")
133
+ |> saveItemToCanvas host password "constant")
119
134
120
135
// Flatten all the result lists into one list
121
136
let allResults =
@@ -174,7 +189,7 @@ let printAllPackagesInDb () : Unit =
174
189
// parse args and execute
175
190
type CliOptions =
176
191
| Help
177
- | LoadPackagesIntoDarkCanvas of String
192
+ | LoadPackagesIntoDarkCanvas of String * String
178
193
| ListPackages
179
194
| BadOption of String
180
195
@@ -184,7 +199,7 @@ let usage () : String =
184
199
Options:
185
200
-h, --help Show this help message and exit
186
201
load-packages-dlio Load packages from disk into local dark packages canvas
187
- load-packages-darklang-com Load packages from disk into production packages canvas
202
+ load-packages-darklang-com PASSWORD Load packages from disk into production packages canvas
188
203
list-packages List packages
189
204
"
190
205
@@ -199,8 +214,10 @@ let parseArgs (args: List<String>) : CliOptions =
199
214
| [ "load-packages" ] ->
200
215
CliOptions.BadOption
201
216
"`load-packages` now executes in F# (not sure how you got here)"
202
- | [ "load-packages-dlio" ] -> CliOptions.LoadPackagesIntoDarkCanvas "http://dark-packages.dlio.localhost:11003"
203
- | [ "load-packages-darklang-com" ] -> CliOptions.LoadPackagesIntoDarkCanvas "https://packages.darklang.com"
217
+ | [ "load-packages-dlio" ] ->
218
+ CliOptions.LoadPackagesIntoDarkCanvas("http://dark-packages.dlio.localhost:11003", "password")
219
+ | [ "load-packages-darklang-com", password ] ->
220
+ CliOptions.LoadPackagesIntoDarkCanvas("https://packages.darklang.com", password)
204
221
205
222
| _ -> CliOptions.BadOption "Invalid arguments"
206
223
@@ -216,8 +233,10 @@ let main (args: List<String>) : Int64 =
216
233
printAllPackagesInDb ()
217
234
0L
218
235
219
- | LoadPackagesIntoDarkCanvas host ->
220
- let files = (listPackageFilesOnDisk "/home/dark/app/packages") |> PACKAGE.Darklang.Stdlib.List.sort
236
+ | LoadPackagesIntoDarkCanvas(host, password) ->
237
+ let files =
238
+ (listPackageFilesOnDisk "/home/dark/app/packages")
239
+ |> PACKAGE.Darklang.Stdlib.List.sort
221
240
222
241
// Wait for canvas to be ready
223
242
let available =
@@ -228,11 +247,7 @@ let main (args: List<String>) : Int64 =
228
247
match found with
229
248
| Ok() -> PACKAGE.Darklang.Stdlib.Result.Result.Ok()
230
249
| Error _ ->
231
- (PACKAGE.Darklang.Stdlib.HttpClient.request
232
- "GET"
233
- $"{host}/health"
234
- []
235
- [])
250
+ (PACKAGE.Darklang.Stdlib.HttpClient.request "GET" $"{host}/health" [] [])
236
251
|> PACKAGE.Darklang.Stdlib.Result.map (fun _ -> ())
237
252
|> PACKAGE.Darklang.Stdlib.Result.mapError (fun err ->
238
253
let errMsg = PACKAGE.Darklang.Stdlib.HttpClient.toString err
@@ -259,7 +274,7 @@ let main (args: List<String>) : Int64 =
259
274
match acc with
260
275
| Error _err -> acc
261
276
| Ok() ->
262
- match loadPackageFileIntoDarkCanvas host f with
277
+ match loadPackageFileIntoDarkCanvas host password f with
263
278
| Error err ->
264
279
PACKAGE.Darklang.Stdlib.Result.Result.Error(
265
280
$"Failed to load packages from {f}:\n" ++ err
0 commit comments