Changeset 38157
- Timestamp:
- Apr 20, 2015, 12:32:54 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 7 edited
-
dbconfig/pstamp.md (modified) (1 diff)
-
ippTools/share/Makefile.am (modified) (1 diff)
-
ippTools/share/pstamptool_addaccesslevel.sql (added)
-
ippTools/share/pxadmin_create_tables.sql (modified) (1 diff)
-
ippTools/share/pxadmin_drop_tables.sql (modified) (2 diffs)
-
ippTools/src/pstamptool.c (modified) (7 diffs)
-
ippTools/src/pstamptool.h (modified) (1 diff)
-
ippTools/src/pstamptoolConfig.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dbconfig/pstamp.md
r35295 r38157 69 69 END 70 70 71 pstampWebRequest METADATA71 pstampWebRequest METADATA 72 72 num S64 0 # Primary Key AUTO_INCREMENT 73 73 END 74 74 75 pstampFile METADATA75 pstampFile METADATA 76 76 file_id S64 0 # Primary Key AUTO_INCREMENT 77 77 job_id S64 0 78 78 path STR 255 79 end 79 END 80 81 pstampUserDomain METADATA 82 domainName STR 64 83 accessLevel S32 0 84 defaultProduct STR 255 85 defaultLabel STR 64 86 END 87 88 pstampUser METADATA 89 userName STR 64 # Primary Key (userName, domainName) 90 domainName STR 64 91 accessLevel S32 0 92 defaultProduct STR 255 93 defaultLabel STR 64 94 END 95 96 pstampAccessLevel METADATA 97 proj_id S64 0 # Primary Key (proj_id, accessLevel) fkey(proj_id) 98 accessLevel S32 0 99 mjd_min F32 0 100 mjd_max F32 0 101 END 102 -
trunk/ippTools/share/Makefile.am
r38134 r38157 359 359 pstamptool_stopdependentjob.sql \ 360 360 pstamptool_updatejob.sql \ 361 pstamptool_addaccesslevel.sql \ 361 362 pxadmin_create_tables.sql \ 362 363 pxadmin_create_mirror_tables.sql \ -
trunk/ippTools/share/pxadmin_create_tables.sql
r37885 r38157 1511 1511 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1512 1512 1513 CREATE TABLE pstampUserDomain ( 1514 domainName VARCHAR(64), 1515 accessLevel INT, 1516 defaultProduct VARCHAR(255), 1517 defaultLabel VARCHAR(64), 1518 PRIMARY KEY(domainName) 1519 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1520 1521 CREATE TABLE pstampUser ( 1522 userName VARCHAR(64), 1523 domainName VARCHAR(64), 1524 accessLevel INT, 1525 defaultProduct VARCHAR(255), 1526 defaultLabel VARCHAR(64), 1527 PRIMARY KEY (userName, domainName) 1528 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1529 1530 CREATE TABLE pstampAccessLevel ( 1531 proj_id BIGINT, 1532 accessLevel INT, 1533 mjd_min FLOAT DEFAULT 0, 1534 mjd_max FLOAT DEFAULT 0, 1535 PRIMARY KEY (proj_id, accessLevel), 1536 UNIQUE KEY (proj_id, accessLevel), 1537 FOREIGN KEY(proj_id) REFERENCES pstampProject(proj_id) 1538 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1539 1513 1540 CREATE TABLE pstampWebRequest ( 1514 1541 num BIGINT AUTO_INCREMENT, -
trunk/ippTools/share/pxadmin_drop_tables.sql
r37885 r38157 69 69 DROP TABLE IF EXISTS pstampProject; 70 70 DROP TABLE IF EXISTS pstampRequest; 71 DROP TABLE IF EXISTS pstampDependent; 72 DROP TABLE IF EXISTS pstampWebRequest; 73 DROP TABLE IF EXISTS pstampFile; 71 74 DROP TABLE IF EXISTS pstampJob; 75 DROP TABLE IF EXISTS pstampUserDomain; 76 DROP TABLE IF EXISTS pstampUser; 77 DROP TABLE IF EXISTS pstampAccessLevel; 72 78 DROP TABLE IF EXISTS distRun; 73 79 DROP TABLE IF EXISTS distTarget; … … 85 91 DROP TABLE IF EXISTS publishRun; 86 92 DROP TABLE IF EXISTS publishDone; 87 DROP TABLE IF EXISTS pstampDependent;88 DROP TABLE IF EXISTS pstampFile;89 93 DROP TABLE IF EXISTS staticskyInput; 90 94 DROP TABLE IF EXISTS staticskyResult; 91 95 DROP TABLE IF EXISTS staticskyRun; 92 96 DROP TABLE IF EXISTS Label; 93 DROP TABLE IF EXISTS pstampWebRequest;94 97 DROP TABLE IF EXISTS chipBackgroundRun; 95 98 DROP TABLE IF EXISTS chipBackgroundImfile; -
trunk/ippTools/src/pstamptool.c
r38134 r38157 61 61 static bool deletefileMode(pxConfig *config); 62 62 63 static bool adddomainMode(pxConfig * config); 64 static bool updatedomainMode(pxConfig * config); 63 65 static bool listdomainMode(pxConfig *config); 66 static bool adduserMode(pxConfig * config); 67 static bool updateuserMode(pxConfig * config); 64 68 static bool listuserMode(pxConfig * config); 69 static bool addaccesslevelMode(pxConfig * config); 70 static bool updateaccesslevelMode(pxConfig * config); 71 static bool listaccesslevelMode(pxConfig * config); 65 72 66 73 # define MODECASE(caseName, func) \ … … 114 121 MODECASE(PSTAMPTOOL_MODE_DELETEFILE, deletefileMode); 115 122 123 MODECASE(PSTAMPTOOL_MODE_ADDDOMAIN, adddomainMode); 124 MODECASE(PSTAMPTOOL_MODE_UPDATEDOMAIN, updatedomainMode); 116 125 MODECASE(PSTAMPTOOL_MODE_LISTDOMAIN, listdomainMode); 126 MODECASE(PSTAMPTOOL_MODE_ADDUSER, adduserMode); 127 MODECASE(PSTAMPTOOL_MODE_UPDATEUSER, updateuserMode); 117 128 MODECASE(PSTAMPTOOL_MODE_LISTUSER, listuserMode); 129 MODECASE(PSTAMPTOOL_MODE_ADDACCESSLEVEL, addaccesslevelMode); 130 MODECASE(PSTAMPTOOL_MODE_UPDATEACCESSLEVEL, updateaccesslevelMode); 131 MODECASE(PSTAMPTOOL_MODE_LISTACCESSLEVEL, listaccesslevelMode); 118 132 119 133 default: … … 1709 1723 } 1710 1724 1725 static bool adddomainMode(pxConfig *config) 1726 { 1727 PS_ASSERT_PTR_NON_NULL(config, false); 1728 1729 PXOPT_LOOKUP_STR(domainName, config->args, "-domain", true, false); 1730 PXOPT_LOOKUP_S32(accessLevel, config->args, "-accessLevel", true, false); 1731 PXOPT_LOOKUP_STR(defaultProduct, config->args, "-defaultProduct", false, false); 1732 PXOPT_LOOKUP_STR(defaultLabel, config->args, "-defaultLabel", false, false); 1733 1734 if (!pstampUserDomainInsert(config->dbh, 1735 domainName, 1736 accessLevel, 1737 defaultProduct, 1738 defaultLabel 1739 )) { 1740 psError(PS_ERR_UNKNOWN, false, "failed to insert domain"); 1741 return false; 1742 } 1743 1744 return true; 1745 } 1746 static bool updatedomainMode(pxConfig *config) 1747 { 1748 PS_ASSERT_PTR_NON_NULL(config, false); 1749 1750 PXOPT_LOOKUP_STR(domainName, config->args, "-domain", true, false); 1751 PXOPT_LOOKUP_S32(accessLevel, config->args, "-accessLevel", false, false); 1752 PXOPT_LOOKUP_STR(defaultProduct, config->args, "-defaultProduct", false, false); 1753 PXOPT_LOOKUP_STR(defaultLabel, config->args, "-defaultLabel", false, false); 1754 1755 if (!accessLevel && !defaultProduct && !defaultLabel) { 1756 psError(PS_ERR_UNKNOWN, true, "at least one set option is required"); 1757 return false; 1758 } 1759 1760 psMetadata *where = psMetadataAlloc(); 1761 PXOPT_COPY_STR(config->args, where, "-domain", "domainName", "=="); 1762 if (!psListLength(where->list)) { 1763 psFree(where); 1764 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1765 return false; 1766 } 1767 1768 psString query = psStringCopy("UPDATE pstampUserDomain SET"); 1769 1770 char * sep = ""; 1771 if (accessLevel) { 1772 psStringAppend(&query, "%s accessLevel = '%d'", sep, accessLevel); 1773 sep = ", "; 1774 } 1775 if (defaultProduct) { 1776 psStringAppend(&query, "%s defaultProduct = '%s'", sep, defaultProduct); 1777 sep = ", "; 1778 } 1779 if (defaultLabel) { 1780 psStringAppend(&query, "%s defaultLabel = '%s'", sep, defaultLabel); 1781 sep = ", "; 1782 } 1783 1784 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1785 psStringAppend(&query, "\nWHERE %s", whereClause); 1786 psFree(whereClause); 1787 psFree(where); 1788 1789 if (!p_psDBRunQuery(config->dbh, query)) { 1790 psError(PS_ERR_UNKNOWN, false, "database error"); 1791 psFree(query); 1792 return false; 1793 } 1794 1795 // psU64 affected = psDBAffectedRows(config->dbh); 1796 // psLogMsg("pstamptool", PS_LOG_INFO, "Updated %" PRIu64 " pstampRequests", affected); 1797 1798 return true; 1799 } 1800 1711 1801 static bool listdomainMode(pxConfig *config) 1712 1802 { … … 1715 1805 psMetadata *where = psMetadataAlloc(); 1716 1806 PXOPT_COPY_STR(config->args, where, "-domain", "domainName", "="); 1717 PXOPT_COPY_S32(config->args, where, "-access _level", "accessLevel", "=");1807 PXOPT_COPY_S32(config->args, where, "-accessLevel", "accessLevel", "="); 1718 1808 1719 1809 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 1764 1854 return true; 1765 1855 } 1856 static bool adduserMode(pxConfig *config) 1857 { 1858 PS_ASSERT_PTR_NON_NULL(config, false); 1859 1860 PXOPT_LOOKUP_STR(userName, config->args, "-user", true, false); 1861 PXOPT_LOOKUP_STR(domainName, config->args, "-domain", true, false); 1862 PXOPT_LOOKUP_S32(accessLevel, config->args, "-accessLevel", false, false); 1863 PXOPT_LOOKUP_STR(defaultProduct, config->args, "-defaultProduct", false, false); 1864 PXOPT_LOOKUP_STR(defaultLabel, config->args, "-defaultLabel", false, false); 1865 1866 if (!pstampUserInsert(config->dbh, 1867 userName, 1868 domainName, 1869 accessLevel, 1870 defaultProduct, 1871 defaultLabel 1872 )) { 1873 psError(PS_ERR_UNKNOWN, false, "failed to insert user"); 1874 return false; 1875 } 1876 1877 return true; 1878 } 1879 static bool updateuserMode(pxConfig *config) 1880 { 1881 PS_ASSERT_PTR_NON_NULL(config, false); 1882 1883 PXOPT_LOOKUP_STR(userName, config->args, "-user", true, false); 1884 PXOPT_LOOKUP_STR(domainName, config->args, "-domain", true, false); 1885 PXOPT_LOOKUP_S32(accessLevel, config->args, "-accessLevel", false, false); 1886 PXOPT_LOOKUP_STR(defaultProduct, config->args, "-defaultProduct", false, false); 1887 PXOPT_LOOKUP_STR(defaultLabel, config->args, "-defaultLabel", false, false); 1888 1889 if (!accessLevel && !defaultProduct && !defaultLabel) { 1890 psError(PS_ERR_UNKNOWN, true, "at least one set option is required"); 1891 return false; 1892 } 1893 1894 psMetadata *where = psMetadataAlloc(); 1895 PXOPT_COPY_STR(config->args, where, "-user", "userName", "=="); 1896 PXOPT_COPY_STR(config->args, where, "-domain", "domainName", "=="); 1897 if (!psListLength(where->list)) { 1898 psFree(where); 1899 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1900 return false; 1901 } 1902 1903 psString query = psStringCopy("UPDATE pstampUser SET"); 1904 1905 char * sep = ""; 1906 if (accessLevel) { 1907 psStringAppend(&query, "%s accessLevel = '%d'", sep, accessLevel); 1908 sep = ", "; 1909 } 1910 if (defaultProduct) { 1911 psStringAppend(&query, "%s defaultProduct = '%s'", sep, defaultProduct); 1912 sep = ", "; 1913 } 1914 if (defaultLabel) { 1915 psStringAppend(&query, "%s defaultLabel = '%s'", sep, defaultLabel); 1916 sep = ", "; 1917 } 1918 1919 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1920 psStringAppend(&query, "\nWHERE %s", whereClause); 1921 psFree(whereClause); 1922 psFree(where); 1923 1924 if (!p_psDBRunQuery(config->dbh, query)) { 1925 psError(PS_ERR_UNKNOWN, false, "database error"); 1926 psFree(query); 1927 return false; 1928 } 1929 1930 // psU64 affected = psDBAffectedRows(config->dbh); 1931 // psLogMsg("pstamptool", PS_LOG_INFO, "Updated %" PRIu64 " pstampRequests", affected); 1932 1933 return true; 1934 } 1766 1935 static bool listuserMode(pxConfig *config) 1767 1936 { … … 1771 1940 PXOPT_COPY_STR(config->args, where, "-user", "userName", "="); 1772 1941 PXOPT_COPY_STR(config->args, where, "-domain", "domainName", "="); 1773 PXOPT_COPY_S32(config->args, where, "-access _level", "pstampUser.accessLevel", "=");1942 PXOPT_COPY_S32(config->args, where, "-accessLevel", "pstampUser.accessLevel", "="); 1774 1943 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1775 1944 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 1822 1991 return true; 1823 1992 } 1993 1994 static bool addaccesslevelMode(pxConfig *config) 1995 { 1996 PS_ASSERT_PTR_NON_NULL(config, false); 1997 1998 PXOPT_LOOKUP_S64(proj_id, config->args, "-proj_id", false, false); 1999 PXOPT_LOOKUP_STR(project_name, config->args, "-project_name", false, false); 2000 PXOPT_LOOKUP_S32(accessLevel, config->args, "-accessLevel", true, false); 2001 PXOPT_LOOKUP_F32(mjd_min, config->args, "-mjd_min", false, false); 2002 PXOPT_LOOKUP_F32(mjd_max, config->args, "-mjd_max", false, false); 2003 2004 if (proj_id) { 2005 if (!pstampAccessLevelInsert(config->dbh, 2006 proj_id, 2007 accessLevel, 2008 mjd_min, 2009 mjd_max 2010 )) { 2011 psError(PS_ERR_UNKNOWN, false, "failed to insert accessLevel"); 2012 return false; 2013 } 2014 } else if (project_name) { 2015 // use select insert getting proj_id from pstampProject 2016 psString query = pxDataGet("pstamptool_addaccesslevel.sql"); 2017 if (!p_psDBRunQueryF(config->dbh, query, accessLevel, mjd_min, mjd_max, project_name)) { 2018 psError(PS_ERR_UNKNOWN, false, "database error"); 2019 psFree(query); 2020 return false; 2021 } 2022 psFree(query); 2023 } else { 2024 psError(PS_ERR_UNKNOWN, true, "proj_id or project_name is required"); 2025 return false; 2026 } 2027 2028 return true; 2029 } 2030 static bool updateaccesslevelMode(pxConfig *config) 2031 { 2032 return false; 2033 } 2034 static bool listaccesslevelMode(pxConfig *config) 2035 { 2036 PS_ASSERT_PTR_NON_NULL(config, false); 2037 2038 psMetadata *where = psMetadataAlloc(); 2039 PXOPT_COPY_STR(config->args, where, "-project_name", "pstampProject.name", "="); 2040 PXOPT_COPY_S64(config->args, where, "-proj_id", "proj_id", "="); 2041 PXOPT_COPY_S32(config->args, where, "-accessLevel", "accessLevel", "="); 2042 2043 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 2044 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 2045 2046 psString query = psStringCopy("SELECT * from pstampAccessLevel join pstampProject USING(proj_id)"); 2047 2048 if (psListLength(where->list)) { 2049 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 2050 psStringAppend(&query, " WHERE %s", whereClause); 2051 psFree(whereClause); 2052 } 2053 psFree(where); 2054 2055 // treat limit == 0 as "no limit" 2056 if (limit) { 2057 psString limitString = psDBGenerateLimitSQL(limit); 2058 psStringAppend(&query, " %s", limitString); 2059 psFree(limitString); 2060 } 2061 2062 if (!p_psDBRunQuery(config->dbh, query)) { 2063 psError(PS_ERR_UNKNOWN, false, "database error"); 2064 psFree(query); 2065 return false; 2066 } 2067 psFree(query); 2068 2069 psArray *output = p_psDBFetchResult(config->dbh); 2070 if (!output) { 2071 psError(PS_ERR_UNKNOWN, false, "database error"); 2072 return false; 2073 } 2074 if (!psArrayLength(output)) { 2075 psFree(output); 2076 return true; 2077 } 2078 2079 // negative simple so the default is true 2080 if (!ippdbPrintMetadatas(stdout, output, "pstampAccessLevel", !simple)) { 2081 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 2082 psFree(output); 2083 return false; 2084 } 2085 2086 psFree(output); 2087 2088 return true; 2089 } 1824 2090 # endif -
trunk/ippTools/src/pstamptool.h
r38134 r38157 65 65 PSTAMPTOOL_MODE_ADDACCESSLEVEL, 66 66 PSTAMPTOOL_MODE_UPDATEACCESSLEVEL, 67 PSTAMPTOOL_MODE_LISTACC CESSLEVEL,67 PSTAMPTOOL_MODE_LISTACCESSLEVEL, 68 68 } pstamptoolMode; 69 69 -
trunk/ippTools/src/pstamptoolConfig.c
r38134 r38157 277 277 // -project 278 278 psMetadata *projectArgs = psMetadataAlloc(); 279 psMetadataAddStr(projectArgs, PS_LIST_TAIL, "-name", 0, "define project name to list (required)", NULL);279 psMetadataAddStr(projectArgs, PS_LIST_TAIL, "-name", 0, "define project name to list", NULL); 280 280 psMetadataAddBool(projectArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 281 281 … … 303 303 psMetadataAddS64(deletefileArgs, PS_LIST_TAIL, "-job_id", 0, "select by job ID (required)", 0); 304 304 305 // -adduserdomain 306 psMetadata *adduserdomainArgs = psMetadataAlloc(); 307 psMetadataAddStr(adduserdomainArgs, PS_LIST_TAIL, "-domain", 0, "define domain name (required)", NULL); 308 psMetadataAddS32(adduserdomainArgs, PS_LIST_TAIL, "-access_level", 0, "define default access level for users in this domain (required)", 0); 309 psMetadataAddStr(adduserdomainArgs, PS_LIST_TAIL, "-default_product", 0, "define default data store product for users in this domain", NULL); 310 psMetadataAddStr(adduserdomainArgs, PS_LIST_TAIL, "-default_label", 0, "define default label for requests from users in this domain", NULL); 305 // Access control tables 306 307 // -adddomain 308 psMetadata *adddomainArgs = psMetadataAlloc(); 309 psMetadataAddStr(adddomainArgs, PS_LIST_TAIL, "-set_domain", 0, "define domain name (required)", NULL); 310 psMetadataAddS32(adddomainArgs, PS_LIST_TAIL, "-set_accessLevel", 0, "define access level for this domain (required)", 0); 311 psMetadataAddStr(adddomainArgs, PS_LIST_TAIL, "-set_defaultProduct", 0, "define default product", NULL); 312 psMetadataAddStr(adddomainArgs, PS_LIST_TAIL, "-set_defaultLabel", 0, "define default Label", NULL); 313 314 // -updatedomain 315 psMetadata *updatedomainArgs = psMetadataAlloc(); 316 psMetadataAddStr(updatedomainArgs, PS_LIST_TAIL, "-domain", 0, "define domain name (required)", NULL); 317 psMetadataAddS32(updatedomainArgs, PS_LIST_TAIL, "-set_accessLevel", 0, "define access level for this domain", 0); 318 psMetadataAddStr(updatedomainArgs, PS_LIST_TAIL, "-set_defaultProduct", 0, "define default product", NULL); 319 psMetadataAddStr(updatedomainArgs, PS_LIST_TAIL, "-set_defaultLabel", 0, "define default Label", NULL); 311 320 312 321 // -listdomain 313 322 psMetadata *listdomainArgs = psMetadataAlloc(); 314 323 psMetadataAddStr(listdomainArgs, PS_LIST_TAIL, "-domain", 0, "define domain name", NULL); 315 psMetadataAddS32(listdomainArgs, PS_LIST_TAIL, "-access _level", 0, "select by access level", 0);324 psMetadataAddS32(listdomainArgs, PS_LIST_TAIL, "-accessLevel", 0, "select by access level", 0); 316 325 psMetadataAddU64(listdomainArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 317 326 psMetadataAddBool(listdomainArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 319 328 // -adduser 320 329 psMetadata *adduserArgs = psMetadataAlloc(); 321 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-user", 0, "define user name (required)", NULL); 322 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-domain", 0, "define user's domain name (required)", NULL); 323 psMetadataAddS32(adduserArgs, PS_LIST_TAIL, "-access_level", 0, "define maximum access level for this user (required)", 0); 324 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-default_product", 0, "define default data store product for this user", NULL); 325 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-default_label", 0, "define default label for requests from this user", NULL); 330 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-set_user", 0, "define user name (required)", NULL); 331 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-set_domain", 0, "define user's domain name (required)", NULL); 332 psMetadataAddS32(adduserArgs, PS_LIST_TAIL, "-set_accessLevel", 0, "define maximum access level for this user", 0); 333 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-set_defaultProduct", 0, "define default data store product for this user", NULL); 334 psMetadataAddStr(adduserArgs, PS_LIST_TAIL, "-set_defaultLabel", 0, "define default label for requests from this user", NULL); 335 336 // -updateuser 337 psMetadata *updateuserArgs = psMetadataAlloc(); 338 psMetadataAddStr(updateuserArgs, PS_LIST_TAIL, "-user", 0, "select user to update (required)", NULL); 339 psMetadataAddStr(updateuserArgs, PS_LIST_TAIL, "-domain", 0, "select domain of user to update (required)", NULL); 340 psMetadataAddS32(updateuserArgs, PS_LIST_TAIL, "-set_accessLevel", 0, "define access level for this domain", 0); 341 psMetadataAddStr(updateuserArgs, PS_LIST_TAIL, "-set_defaultProduct", 0, "define default product", NULL); 342 psMetadataAddStr(updateuserArgs, PS_LIST_TAIL, "-set_defaultLabel", 0, "define default Label", NULL); 326 343 327 344 // -listuser … … 329 346 psMetadataAddStr(listuserArgs, PS_LIST_TAIL, "-user", 0, "select by user name", NULL); 330 347 psMetadataAddStr(listuserArgs, PS_LIST_TAIL, "-domain", 0, "select by user's domain name", NULL); 331 psMetadataAddS32(listuserArgs, PS_LIST_TAIL, "-access _level", 0, "select by maximum access level", 0);348 psMetadataAddS32(listuserArgs, PS_LIST_TAIL, "-accessLevel", 0, "select by maximum access level", 0); 332 349 psMetadataAddU64(listuserArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 333 350 psMetadataAddBool(listuserArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 351 352 // -addaccesslevel 353 psMetadata *addaccesslevelArgs = psMetadataAlloc(); 354 psMetadataAddStr(addaccesslevelArgs, PS_LIST_TAIL, "-project_name", 0, "define project name", NULL); 355 psMetadataAddS64(addaccesslevelArgs, PS_LIST_TAIL, "-proj_id", 0, "define project ID", 0); 356 psMetadataAddS32(addaccesslevelArgs, PS_LIST_TAIL, "-set_accessLevel", 0, "define access level (required)", 0); 357 psMetadataAddF32(addaccesslevelArgs, PS_LIST_TAIL, "-set_mjd_min", 0, "define mjd_min", 0.0); 358 psMetadataAddF32(addaccesslevelArgs, PS_LIST_TAIL, "-set_mjd_max", 0, "define mjd_max", 0.0); 359 360 // -listaccesslevel 361 psMetadata *listaccesslevelArgs = psMetadataAlloc(); 362 psMetadataAddStr(listaccesslevelArgs, PS_LIST_TAIL, "-project_name", 0, "search by project name", NULL); 363 psMetadataAddS64(listaccesslevelArgs, PS_LIST_TAIL, "-proj_id", 0, "select by project ID", 0); 364 psMetadataAddS32(listaccesslevelArgs, PS_LIST_TAIL, "-accessLevel", 0, "select by access level", 0); 365 psMetadataAddU64(listaccesslevelArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 366 psMetadataAddBool(listaccesslevelArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 367 368 // -updateaccesslevel 369 psMetadata *updateaccesslevelArgs = psMetadataAlloc(); 370 psMetadataAddStr(updateaccesslevelArgs, PS_LIST_TAIL, "-project_name", 0, "select by project name", NULL); 371 psMetadataAddS64(updateaccesslevelArgs, PS_LIST_TAIL, "-proj_id", 0, "select by project ID", 0); 372 psMetadataAddS32(updateaccesslevelArgs, PS_LIST_TAIL, "-accessLevel", 0, "select by access level (required)", 0); 373 psMetadataAddF32(updateaccesslevelArgs, PS_LIST_TAIL, "-set_mjd_min", 0, "define new mjd_min", NAN); 374 psMetadataAddF32(updateaccesslevelArgs, PS_LIST_TAIL, "-set_mjd_max", 0, "define new mjd_max", NAN); 334 375 335 376 PXOPT_ADD_MODE("-addreq", "", PSTAMPTOOL_MODE_ADDREQ, addreqArgs); … … 365 406 PXOPT_ADD_MODE("-deletefile", "", PSTAMPTOOL_MODE_DELETEFILE, deletefileArgs); 366 407 408 PXOPT_ADD_MODE("-adddomain", "", PSTAMPTOOL_MODE_ADDDOMAIN, adddomainArgs); 409 PXOPT_ADD_MODE("-updatedomain", "", PSTAMPTOOL_MODE_UPDATEDOMAIN, updatedomainArgs); 367 410 PXOPT_ADD_MODE("-listdomain", "", PSTAMPTOOL_MODE_LISTDOMAIN, listdomainArgs); 411 PXOPT_ADD_MODE("-adduser", "", PSTAMPTOOL_MODE_ADDUSER, adduserArgs); 412 PXOPT_ADD_MODE("-updateuser", "", PSTAMPTOOL_MODE_UPDATEUSER, updateuserArgs); 368 413 PXOPT_ADD_MODE("-listuser", "", PSTAMPTOOL_MODE_LISTUSER, listuserArgs); 414 PXOPT_ADD_MODE("-addaccesslevel", "", PSTAMPTOOL_MODE_ADDACCESSLEVEL, addaccesslevelArgs); 415 PXOPT_ADD_MODE("-listaccesslevel", "", PSTAMPTOOL_MODE_LISTACCESSLEVEL, listaccesslevelArgs); 369 416 370 417 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
