var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var cloud_libraries_exports = {};
__export(cloud_libraries_exports, {
  default: () => cloud_libraries_default
});
module.exports = __toCommonJS(cloud_libraries_exports);
var import_server = require("@tego/server");
var cloud_libraries_default = (0, import_server.defineCollection)({
  name: "cloudLibraries",
  dumpRules: "required",
  logging: true,
  autoGenId: true,
  createdAt: true,
  createdBy: true,
  updatedAt: true,
  updatedBy: true,
  fields: [
    {
      name: "name",
      type: "string",
      unique: true
    },
    {
      name: "code",
      type: "text",
      allowNull: false,
      defaultValue: ""
    },
    {
      name: "codeSource",
      type: "string",
      defaultValue: "local"
      // local: 本地代码, remote: 远程代码
    },
    {
      name: "codeType",
      type: "string"
      // cdn: CDN 地址, git: Git 仓库地址（由前端指定，后端不判断）
    },
    {
      name: "codeUrl",
      type: "string"
      // 远程代码地址: CDN URL 或 Git 仓库地址
    },
    {
      name: "codeBranch",
      type: "string",
      defaultValue: "main"
      // Git 分支名称，默认为 main
    },
    {
      name: "codePath",
      type: "string"
      // Git 仓库中的文件路径
    },
    {
      name: "codeCache",
      type: "jsonb"
      // 缓存远程代码内容和更新时间
    },
    {
      name: "codeAuthType",
      type: "string"
      // 认证类型: none, token, basic
      // none: 无需认证, token: Bearer Token, basic: Basic Auth
    },
    {
      name: "codeAuthToken",
      type: "string"
      // Bearer Token 或 Basic Auth 的密码（加密存储）
    },
    {
      name: "codeAuthUsername",
      type: "string"
      // Basic Auth 的用户名
    },
    {
      name: "lastSyncTime",
      type: "date"
      // 最后同步时间
    },
    {
      name: "data",
      type: "json",
      jsonb: false
    },
    {
      name: "description",
      type: "text"
    },
    {
      name: "enabled",
      type: "boolean",
      defaultValue: false
    },
    {
      name: "isClient",
      type: "boolean",
      defaultValue: false
    },
    {
      name: "isServer",
      type: "boolean",
      defaultValue: false
    },
    {
      name: "module",
      type: "string",
      allowNull: false,
      unique: true
    },
    {
      name: "serverPlugin",
      type: "string"
    },
    {
      name: "clientPlugin",
      type: "string"
    },
    {
      name: "component",
      type: "string"
    },
    {
      name: "version",
      type: "string",
      defaultValue: "debug"
    },
    {
      name: "versions",
      type: "jsonb",
      defaultValue: "[]"
    }
  ]
});
