Summary:
Ref T8116. A package has:
- a publisher (like "Phacility"), from the previous revision;
- a name (like "Arcanist");
- a package key (like "arcanist").
The package key is immutable, like the publisher key.
This gives a package a full key like "phacility/arcanist".
Policy stuff:
- You must be able to view a publisher to view a package (currently, everyone can always see all publishers).
- You must be able to edit a publisher to create a new package inside it.
- Packages have separate view/edit permissions.
This still does nothing interesting.
Test Plan: {F1731663}
Reviewers: chad
Reviewed By: chad
Subscribers: eadler
Maniphest Tasks: T8116
Differential Revision: https://secure.phabricator.com/D16315
14 lines
570 B
SQL
14 lines
570 B
SQL
CREATE TABLE {$NAMESPACE}_packages.packages_package (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
phid VARBINARY(64) NOT NULL,
|
|
name VARCHAR(64) NOT NULL COLLATE {$COLLATE_TEXT},
|
|
publisherPHID VARBINARY(64) NOT NULL,
|
|
packageKey VARCHAR(64) NOT NULL COLLATE {$COLLATE_SORT},
|
|
viewPolicy VARBINARY(64) NOT NULL,
|
|
editPolicy VARBINARY(64) NOT NULL,
|
|
dateCreated INT UNSIGNED NOT NULL,
|
|
dateModified INT UNSIGNED NOT NULL,
|
|
UNIQUE KEY `key_phid` (phid),
|
|
UNIQUE KEY `key_package` (publisherPHID, packageKey)
|
|
) ENGINE=InnoDB, COLLATE {$COLLATE_TEXT};
|