@package-broker/main 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,6 @@
1
1
  -- Initial schema migration
2
+ -- Complete database schema for PACKAGE.broker
3
+ -- Consolidated from all incremental migrations
2
4
 
3
5
  -- Repositories table
4
6
  CREATE TABLE IF NOT EXISTS repositories (
@@ -8,6 +10,7 @@ CREATE TABLE IF NOT EXISTS repositories (
8
10
  credential_type TEXT NOT NULL,
9
11
  auth_credentials TEXT NOT NULL,
10
12
  composer_json_path TEXT,
13
+ package_filter TEXT,
11
14
  status TEXT DEFAULT 'pending',
12
15
  error_message TEXT,
13
16
  last_synced_at INTEGER,
@@ -24,6 +27,7 @@ CREATE TABLE IF NOT EXISTS tokens (
24
27
  id TEXT PRIMARY KEY,
25
28
  description TEXT NOT NULL,
26
29
  token_hash TEXT NOT NULL,
30
+ permissions TEXT NOT NULL DEFAULT 'readonly',
27
31
  rate_limit_max INTEGER DEFAULT 1000,
28
32
  created_at INTEGER NOT NULL,
29
33
  expires_at INTEGER,
@@ -57,8 +61,15 @@ CREATE TABLE IF NOT EXISTS packages (
57
61
  name TEXT NOT NULL,
58
62
  version TEXT NOT NULL,
59
63
  dist_url TEXT NOT NULL,
64
+ source_dist_url TEXT,
65
+ dist_reference TEXT,
66
+ description TEXT,
67
+ license TEXT,
68
+ package_type TEXT,
69
+ homepage TEXT,
60
70
  released_at INTEGER,
61
71
  readme_content TEXT,
72
+ metadata TEXT,
62
73
  created_at INTEGER NOT NULL
63
74
  );
64
75
 
@@ -66,7 +77,6 @@ CREATE INDEX IF NOT EXISTS idx_packages_repo_id ON packages(repo_id);
66
77
  CREATE INDEX IF NOT EXISTS idx_packages_name ON packages(name);
67
78
  CREATE UNIQUE INDEX IF NOT EXISTS packages_name_version_unique ON packages(name, version);
68
79
 
69
- -- Admin users table
70
80
  -- Users table
71
81
  CREATE TABLE IF NOT EXISTS users (
72
82
  id TEXT PRIMARY KEY,
@@ -85,5 +95,3 @@ CREATE TABLE IF NOT EXISTS users (
85
95
 
86
96
  CREATE INDEX IF NOT EXISTS idx_users_email ON users(email);
87
97
  CREATE INDEX IF NOT EXISTS idx_users_invite_token ON users(invite_token);
88
-
89
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@package-broker/main",
3
- "version": "0.7.2",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,62 +0,0 @@
1
- -- Create repositories table
2
- CREATE TABLE IF NOT EXISTS repositories (
3
- id TEXT PRIMARY KEY,
4
- url TEXT NOT NULL,
5
- vcs_type TEXT NOT NULL,
6
- credential_type TEXT NOT NULL,
7
- auth_credentials TEXT NOT NULL,
8
- composer_json_path TEXT,
9
- status TEXT DEFAULT 'pending',
10
- error_message TEXT,
11
- last_synced_at INTEGER,
12
- created_at INTEGER NOT NULL
13
- );
14
-
15
- CREATE INDEX IF NOT EXISTS idx_repositories_status ON repositories(status);
16
- CREATE INDEX IF NOT EXISTS idx_repositories_vcs_type ON repositories(vcs_type);
17
-
18
- -- Create tokens table
19
- CREATE TABLE IF NOT EXISTS tokens (
20
- id TEXT PRIMARY KEY,
21
- description TEXT NOT NULL,
22
- token_hash TEXT NOT NULL,
23
- rate_limit_max INTEGER DEFAULT 1000,
24
- created_at INTEGER NOT NULL,
25
- expires_at INTEGER,
26
- last_used_at INTEGER
27
- );
28
-
29
- CREATE INDEX IF NOT EXISTS idx_tokens_token_hash ON tokens(token_hash);
30
-
31
- -- Create packages table
32
- CREATE TABLE IF NOT EXISTS packages (
33
- id TEXT PRIMARY KEY,
34
- repo_id TEXT NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
35
- name TEXT NOT NULL,
36
- version TEXT NOT NULL,
37
- dist_url TEXT NOT NULL,
38
- released_at INTEGER,
39
- readme_content TEXT,
40
- created_at INTEGER NOT NULL,
41
- UNIQUE(name, version)
42
- );
43
-
44
- CREATE INDEX IF NOT EXISTS idx_packages_repo_id ON packages(repo_id);
45
- CREATE INDEX IF NOT EXISTS idx_packages_name ON packages(name);
46
-
47
- -- Create artifacts table
48
- CREATE TABLE IF NOT EXISTS artifacts (
49
- id TEXT PRIMARY KEY,
50
- repo_id TEXT NOT NULL REFERENCES repositories(id) ON DELETE CASCADE,
51
- package_name TEXT NOT NULL,
52
- version TEXT NOT NULL,
53
- file_key TEXT,
54
- size INTEGER,
55
- download_count INTEGER DEFAULT 0,
56
- last_downloaded_at INTEGER,
57
- created_at INTEGER NOT NULL,
58
- UNIQUE(repo_id, package_name, version)
59
- );
60
-
61
- CREATE INDEX IF NOT EXISTS idx_artifacts_repo_id ON artifacts(repo_id);
62
- CREATE INDEX IF NOT EXISTS idx_artifacts_package_name ON artifacts(package_name);
@@ -1,6 +0,0 @@
1
- -- Add package_filter column for filtering packages to sync
2
- -- Used by repositories with provider-includes (like Magento Marketplace)
3
- -- Contains comma-separated list of package names to sync
4
-
5
- ALTER TABLE repositories ADD COLUMN package_filter TEXT;
6
-
@@ -1,2 +0,0 @@
1
- -- Add source_dist_url column to packages table for on-demand artifact mirroring
2
- ALTER TABLE packages ADD COLUMN source_dist_url TEXT;
@@ -1,6 +0,0 @@
1
- -- Add file_key column to artifacts table for R2/S3 storage key tracking
2
- -- Note: This column is already included in the initial schema (0001_initial.sql)
3
- -- This migration is kept for backward compatibility with databases created before file_key was added to initial schema
4
- -- If the column already exists, this migration will fail but that's safe to ignore
5
- -- SQLite doesn't support IF NOT EXISTS for ALTER TABLE ADD COLUMN
6
- -- The migration system will handle the error gracefully
@@ -1,6 +0,0 @@
1
- -- Add package metadata fields: description, license, package_type, homepage
2
- ALTER TABLE packages ADD COLUMN description TEXT;
3
- ALTER TABLE packages ADD COLUMN license TEXT;
4
- ALTER TABLE packages ADD COLUMN package_type TEXT;
5
- ALTER TABLE packages ADD COLUMN homepage TEXT;
6
-
@@ -1,6 +0,0 @@
1
- -- Add permissions column to tokens table
2
- ALTER TABLE tokens ADD COLUMN permissions TEXT NOT NULL DEFAULT 'readonly';
3
-
4
- -- Set all existing tokens to 'write' for backwards compatibility
5
- UPDATE tokens SET permissions = 'write' WHERE permissions = 'readonly';
6
-
@@ -1,2 +0,0 @@
1
- -- Add metadata column to store complete upstream package metadata as JSON
2
- ALTER TABLE packages ADD COLUMN metadata TEXT;