diff --git a/packages/codegen_studio/seed/scripts/permissions.lua b/packages/codegen_studio/seed/scripts/permissions.lua new file mode 100644 index 000000000..e8ff452bb --- /dev/null +++ b/packages/codegen_studio/seed/scripts/permissions.lua @@ -0,0 +1,14 @@ +local M = {} + +function M.can_generate(user) + local role = user.role or "public" + local allowed = { + user = true, + admin = true, + god = true, + supergod = true + } + return allowed[role] == true +end + +return M diff --git a/packages/codegen_studio/seed/scripts/zip_plan.lua b/packages/codegen_studio/seed/scripts/zip_plan.lua new file mode 100644 index 000000000..8302dbb74 --- /dev/null +++ b/packages/codegen_studio/seed/scripts/zip_plan.lua @@ -0,0 +1,21 @@ +local M = {} + +function M.prepare_zip(blueprint) + local entries = {} + local files = blueprint.files or {} + + for _, file in ipairs(files) do + local content = file.content or "" + table.insert(entries, { + path = file.path, + size = string.len(content) + }) + end + + return { + name = blueprint.name or "project", + entries = entries + } +end + +return M