diff --git a/.gitignore b/.gitignore
index d064173..fb47e97 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,10 @@
pom.xml.versionsBackup
target
+# Maven Invoker
+build.log
+invoker-reports
+
# Eclipse
.project
.classpath
@@ -11,5 +15,6 @@ target
.factorypath
# Swagger Codegen
+src/gen
.swagger-codegen
.swagger-codegen-ignore
diff --git a/COPYING.LESSER.md b/COPYING.LESSER.md
new file mode 100644
index 0000000..0927556
--- /dev/null
+++ b/COPYING.LESSER.md
@@ -0,0 +1,157 @@
+### GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the
+terms and conditions of version 3 of the GNU General Public License,
+supplemented by the additional permissions listed below.
+
+#### 0. Additional Definitions.
+
+As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the
+GNU General Public License.
+
+"The Library" refers to a covered work governed by this License, other
+than an Application or a Combined Work as defined below.
+
+An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+#### 1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+#### 2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+- a) under this License, provided that you make a good faith effort
+ to ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+- b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+#### 3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a
+header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+- a) Give prominent notice with each copy of the object code that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the object code with a copy of the GNU GPL and this
+ license document.
+
+#### 4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken
+together, effectively do not restrict modification of the portions of
+the Library contained in the Combined Work and reverse engineering for
+debugging such modifications, if you also do each of the following:
+
+- a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the Combined Work with a copy of the GNU GPL and this
+ license document.
+- c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+- d) Do one of the following:
+ - 0) Convey the Minimal Corresponding Source under the terms of
+ this License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+ - 1) Use a suitable shared library mechanism for linking with
+ the Library. A suitable mechanism is one that (a) uses at run
+ time a copy of the Library already present on the user's
+ computer system, and (b) will operate properly with a modified
+ version of the Library that is interface-compatible with the
+ Linked Version.
+- e) Provide Installation Information, but only if you would
+ otherwise be required to provide such information under section 6
+ of the GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the Application
+ with a modified version of the Linked Version. (If you use option
+ 4d0, the Installation Information must accompany the Minimal
+ Corresponding Source and Corresponding Application Code. If you
+ use option 4d1, you must provide the Installation Information in
+ the manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.)
+
+#### 5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library
+side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+- a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities, conveyed under the terms of this License.
+- b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+#### 6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+as you received it specifies that a certain numbered version of the
+GNU Lesser General Public License "or any later version" applies to
+it, you have the option of following the terms and conditions either
+of that published version or of any later version published by the
+Free Software Foundation. If the Library as you received it does not
+specify a version number of the GNU Lesser General Public License, you
+may choose any version of the GNU Lesser General Public License ever
+published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/COPYING.md b/COPYING.md
new file mode 100644
index 0000000..2fb2e74
--- /dev/null
+++ b/COPYING.md
@@ -0,0 +1,675 @@
+### GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+### Preamble
+
+The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom
+to share and change all versions of a program--to make sure it remains
+free software for all its users. We, the Free Software Foundation, use
+the GNU General Public License for most of our software; it applies
+also to any other work released this way by its authors. You can apply
+it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you
+have certain responsibilities if you distribute copies of the
+software, or if you modify it: responsibilities to respect the freedom
+of others.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the
+manufacturer can do so. This is fundamentally incompatible with the
+aim of protecting users' freedom to change the software. The
+systematic pattern of such abuse occurs in the area of products for
+individuals to use, which is precisely where it is most unacceptable.
+Therefore, we have designed this version of the GPL to prohibit the
+practice for those products. If such problems arise substantially in
+other domains, we stand ready to extend this provision to those
+domains in future versions of the GPL, as needed to protect the
+freedom of users.
+
+Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish
+to avoid the special danger that patents applied to a free program
+could make it effectively proprietary. To prevent this, the GPL
+assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+### TERMS AND CONDITIONS
+
+#### 0. Definitions.
+
+"This License" refers to version 3 of the GNU General Public License.
+
+"Copyright" also means copyright-like laws that apply to other kinds
+of works, such as semiconductor masks.
+
+"The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of
+an exact copy. The resulting work is called a "modified version" of
+the earlier work or a work "based on" the earlier work.
+
+A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user
+through a computer network, with no transfer of a copy, is not
+conveying.
+
+An interactive user interface displays "Appropriate Legal Notices" to
+the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+#### 1. Source Code.
+
+The "source code" for a work means the preferred form of the work for
+making modifications to it. "Object code" means any non-source form of
+a work.
+
+A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can
+regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same
+work.
+
+#### 2. Basic Permissions.
+
+All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey,
+without conditions so long as your license otherwise remains in force.
+You may convey covered works to others for the sole purpose of having
+them make modifications exclusively for you, or provide you with
+facilities for running those works, provided that you comply with the
+terms of this License in conveying all material for which you do not
+control copyright. Those thus making or running the covered works for
+you must do so exclusively on your behalf, under your direction and
+control, on terms that prohibit them from making any copies of your
+copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the
+conditions stated below. Sublicensing is not allowed; section 10 makes
+it unnecessary.
+
+#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such
+circumvention is effected by exercising rights under this License with
+respect to the covered work, and you disclaim any intention to limit
+operation or modification of the work as a means of enforcing, against
+the work's users, your or third parties' legal rights to forbid
+circumvention of technological measures.
+
+#### 4. Conveying Verbatim Copies.
+
+You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+#### 5. Conveying Modified Source Versions.
+
+You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these
+conditions:
+
+- a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+- b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under
+ section 7. This requirement modifies the requirement in section 4
+ to "keep intact all notices".
+- c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+- d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+#### 6. Conveying Non-Source Forms.
+
+You may convey a covered work in object code form under the terms of
+sections 4 and 5, provided that you also convey the machine-readable
+Corresponding Source under the terms of this License, in one of these
+ways:
+
+- a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+- b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the Corresponding
+ Source from a network server at no charge.
+- c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+- d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+- e) Convey the object code using peer-to-peer transmission,
+ provided you inform other peers where the object code and
+ Corresponding Source of the work are being offered to the general
+ public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal,
+family, or household purposes, or (2) anything designed or sold for
+incorporation into a dwelling. In determining whether a product is a
+consumer product, doubtful cases shall be resolved in favor of
+coverage. For a particular product received by a particular user,
+"normally used" refers to a typical or common use of that class of
+product, regardless of the status of the particular user or of the way
+in which the particular user actually uses, or expects or is expected
+to use, the product. A product is a consumer product regardless of
+whether the product has substantial commercial, industrial or
+non-consumer uses, unless such uses represent the only significant
+mode of use of the product.
+
+"Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to
+install and execute modified versions of a covered work in that User
+Product from a modified version of its Corresponding Source. The
+information must suffice to ensure that the continued functioning of
+the modified object code is in no case prevented or interfered with
+solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or
+updates for a work that has been modified or installed by the
+recipient, or for the User Product in which it has been modified or
+installed. Access to a network may be denied when the modification
+itself materially and adversely affects the operation of the network
+or violates the rules and protocols for communication across the
+network.
+
+Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+#### 7. Additional Terms.
+
+"Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders
+of that material) supplement the terms of this License with terms:
+
+- a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+- b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+- c) Prohibiting misrepresentation of the origin of that material,
+ or requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+- d) Limiting the use for publicity purposes of names of licensors
+ or authors of the material; or
+- e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+- f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions
+ of it) with contractual assumptions of liability to the recipient,
+ for any liability that these contractual assumptions directly
+ impose on those licensors and authors.
+
+All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions; the
+above requirements apply either way.
+
+#### 8. Termination.
+
+You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+#### 9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run
+a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+#### 10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+#### 11. Patents.
+
+A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+A contributor's "essential patent claims" are all patent claims owned
+or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+A patent license is "discriminatory" if it does not include within the
+scope of its coverage, prohibits the exercise of, or is conditioned on
+the non-exercise of one or more of the rights that are specifically
+granted under this License. You may not convey a covered work if you
+are a party to an arrangement with a third party that is in the
+business of distributing software, under which you make payment to the
+third party based on the extent of your activity of conveying the
+work, and under which the third party grants, to any of the parties
+who would receive the covered work from you, a discriminatory patent
+license (a) in connection with copies of the covered work conveyed by
+you (or copies made from those copies), or (b) primarily for and in
+connection with specific products or compilations that contain the
+covered work, unless you entered into that arrangement, or that patent
+license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+#### 12. No Surrender of Others' Freedom.
+
+If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under
+this License and any other pertinent obligations, then as a
+consequence you may not convey it at all. For example, if you agree to
+terms that obligate you to collect a royalty for further conveying
+from those to whom you convey the Program, the only way you could
+satisfy both those terms and this License would be to refrain entirely
+from conveying the Program.
+
+#### 13. Use with the GNU Affero General Public License.
+
+Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+#### 14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies that a certain numbered version of the GNU General Public
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that numbered version or
+of any later version published by the Free Software Foundation. If the
+Program does not specify a version number of the GNU General Public
+License, you may choose any version ever published by the Free
+Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions
+of the GNU General Public License can be used, that proxy's public
+statement of acceptance of a version permanently authorizes you to
+choose that version for the Program.
+
+Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+#### 15. Disclaimer of Warranty.
+
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
+DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
+CORRECTION.
+
+#### 16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
+CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
+NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
+LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
+TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
+PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+#### 17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+### How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively state
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper
+mail.
+
+If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands \`show w' and \`show c' should show the
+appropriate parts of the General Public License. Of course, your
+program's commands might be different; for a GUI interface, you would
+use an "about box".
+
+You should also get your employer (if you work as a programmer) or
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. For more information on this, and how to apply and follow
+the GNU GPL, see .
+
+The GNU General Public License does not permit incorporating your
+program into proprietary programs. If your program is a subroutine
+library, you may consider it more useful to permit linking proprietary
+applications with the library. If this is what you want to do, use the
+GNU Lesser General Public License instead of this License. But first,
+please read .
diff --git a/pom.xml b/pom.xml
index aa54375..aa12214 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,10 +2,39 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
+
com.inteligr8.alfrescoacs-public-rest-api
- 2.0.1
+ 2.0.1-acs51
+
Alfresco Content Services ReST API for Java
+ A library for building ACS v5.1.x JAX-RS REST API clients
+ https://bitbucket.org/inteligr8/acs-public-rest-api
+
+
+
+ GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007
+ https://www.gnu.org/licenses/lgpl-3.0.txt
+
+
+
+
+ scm:git:https://bitbucket.org/inteligr8/acs-public-rest-api.git
+ scm:git:git@bitbucket.org:inteligr8/acs-public-rest-api.git
+ https://bitbucket.org/inteligr8/acs-public-rest-api
+
+
+ Inteligr8
+ https://www.inteligr8.com
+
+
+
+ brian.long
+ Brian Long
+ brian@inteligr8.com
+ https://twitter.com/brianmlong
+
+ utf-8
@@ -13,16 +42,12 @@
8lines,vars,source
-
- http://localhost:8080/alfresco
- acs7com.inteligr8.alfresco.acs
+
+ 5.1.02.353.4.7
-
- false
@@ -63,6 +88,156 @@
+
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ src/gen/java
+
+ com/inteligr8/alfresco/acs/**/*
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ download-api-explorer
+ generate-sources
+ unpack
+
+ org.alfresco:api-explorer:${alfresco.platform.version}:war
+ definitions/**/*
+
+
+
+
+
+ io.swagger
+ swagger-codegen-maven-plugin
+ 2.4.21
+
+ jaxrs-cxf-client
+
+ ${swagger.basePackage}.api
+ ${swagger.basePackage}.model
+ ${swagger.basePackage}.invoker
+ false
+ false
+ false
+ false
+
+
+
+ swagger-core-codegen
+ generate-sources
+
+ generate
+
+
+ ${project.build.directory}/dependency/definitions/alfresco-core.yaml
+
+
+
+
+
+ com.inteligr8
+ regex-maven-plugin
+ 1.0.3
+
+
+ fix-baseUrl
+ generate-sources
+
+ replace-file
+
+
+
+
+ ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api
+ ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api
+
+
+ true
+
+
+ import org\.apache\.cxf\.jaxrs\.ext\.multipart\.\*;.*
+
+
+
+ (\*\*Core API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
+ $1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"
+
+
+ (\*\*Search API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
+ $1@Path("/api/-default-/public/search/versions/1")$2@Api(value = "/api/-default-/public/search/versions/1"
+
+
+ (\*\*Model API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
+ $1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"
+
+
+ (\*\*Authentication API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
+ $1@Path("/api/-default-/public/authentication/versions/1")$2@Api(value = "/api/-default-/public/authentication/versions/1"
+
+
+ (\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
+ $1@Path("/api")$2@Api(value = "/api"
+
+
+
+
+
+ add-ignoreUnknown
+ generate-sources
+
+ replace-file
+
+
+
+
+ ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model
+ ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model
+
+
+ true
+
+
+ (\npublic class [A-Za-z][A-Za-z0-9]* )
+ @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)$1
+
+
+
+
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+ 1.6.2
+
+
+ organize-imports
+ process-sources
+ sort
+
+
+ ${basedir}/src/gen/java
+
+
+ **/*.java
+
+ true
+
+
+
+ org.codehaus.mojobuild-helper-maven-plugin
@@ -70,7 +245,7 @@
add-gensrc
- initialize
+ process-sourcesadd-source
@@ -82,272 +257,63 @@
-
- maven-jar-plugin
-
- ${acs.platform.tag}
-
-
-
- maven-javadoc-plugin
- 3.3.2
-
-
- javadoc
- package
- jar
-
- public
-
-
-
-
-
- swagger-codegen
-
- ${acs.baseUrl}/definitions
-
+ ossrh-release
- maven-clean-plugin
- 3.1.0
-
-
-
- src/gen/java
-
- com/inteligr8/alfresco/acs/**/*
-
-
-
-
-
-
- com.googlecode.maven-download-plugin
- download-maven-plugin
- 1.6.3
+ maven-source-plugin
- download-acs-core-defs
- generate-sources
-
- wget
-
-
- ${acs.defs.baseUrl}/alfresco-core.yaml
- ${project.build.directory}/downloads
-
+ source
+ package
+ jar-no-fork
+
+
+
+ maven-javadoc-plugin
+ 3.3.2
+
- download-acs-search-defs
- generate-sources
-
- wget
-
+ javadoc
+ package
+ jar
- ${acs.defs.baseUrl}/alfresco-search.yaml
- ${project.build.directory}/downloads
-
-
-
- download-acs-auth-defs
- generate-sources
-
- wget
-
-
- ${acs.defs.baseUrl}/alfresco-auth.yaml
- ${project.build.directory}/downloads
-
-
-
- download-acs-discovery-defs
- generate-sources
-
- wget
-
-
- ${acs.defs.baseUrl}/alfresco-discovery.yaml
- ${project.build.directory}/downloads
-
-
-
- download-acs-model-defs
- generate-sources
-
- wget
-
-
- ${acs.defs.baseUrl}/alfresco-model.yaml
- ${project.build.directory}/downloads
+ public
+ -Xdoclint:none
- io.swagger
- swagger-codegen-maven-plugin
- 2.4.21
+ maven-gpg-plugin
+
+
+ sign
+ verify
+ sign
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.13
- jaxrs-cxf-client
-
- ${swagger.basePackage}.api
- ${swagger.basePackage}.model
- ${swagger.basePackage}.invoker
- false
- false
- false
- false
+ ossrh
+ https://s01.oss.sonatype.org/
+ true
- swagger-core-codegen
- generate-sources
-
- generate
-
-
- ${project.build.directory}/downloads/alfresco-core.yaml
-
-
-
- swagger-search-codegen
- generate-sources
-
- generate
-
-
- ${project.build.directory}/downloads/alfresco-search.yaml
-
-
-
- swagger-auth-codegen
- generate-sources
-
- generate
-
-
- ${project.build.directory}/downloads/alfresco-auth.yaml
-
-
-
- swagger-discovery-codegen
- generate-sources
-
- generate
-
-
- ${project.build.directory}/downloads/alfresco-discovery.yaml
-
-
-
- swagger-model-codegen
- generate-sources
-
- generate
-
-
- ${api.model.disabled}
- ${project.build.directory}/downloads/alfresco-model.yaml
-
-
-
-
-
- com.inteligr8
- regex-maven-plugin
- 1.0.3
-
-
- fix-baseUrl
- generate-sources
-
- replace-file
-
-
-
-
- ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api
- ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api
-
-
- true
-
-
- import org\.apache\.cxf\.jaxrs\.ext\.multipart\.\*;.*
-
-
-
- (\*\*Core API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
- $1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"
-
-
- (\*\*Search API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
- $1@Path("/api/-default-/public/search/versions/1")$2@Api(value = "/api/-default-/public/search/versions/1"
-
-
- (\*\*Model API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
- $1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"
-
-
- (\*\*Authentication API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
- $1@Path("/api/-default-/public/authentication/versions/1")$2@Api(value = "/api/-default-/public/authentication/versions/1"
-
-
- (\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"
- $1@Path("/api")$2@Api(value = "/api"
-
-
-
-
-
- add-ignoreUnknown
- generate-sources
-
- replace-file
-
-
-
-
- ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model
- ${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model
-
-
- true
-
-
- (\npublic class [A-Za-z][A-Za-z0-9]* \{)
- @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)$1
-
-
-
-
-
-
-
- net.revelc.code
- impsort-maven-plugin
- 1.6.2
-
-
- organize-imports
- process-sources
- sort
-
-
- ${basedir}/src/gen/java
-
-
- **/*.java
-
- true
-
+ ossrh-deploy
+ deploy
+ deploy
@@ -355,13 +321,11 @@
-
+
- inteligr8-releases
- https://repos.inteligr8.com/nexus/repository/inteligr8-public
- true
- false
+ alfresco-public
+ https://artifacts.alfresco.com/nexus/content/groups/public
@@ -370,16 +334,5 @@
mulesoft-releaseshttps://repository.mulesoft.org/releases
-
- inteligr8-public
- https://repos.inteligr8.com/nexus/repository/inteligr8-public
-
-
-
-
- inteligr8-releases
- https://repos.inteligr8.com/nexus/repository/inteligr8-public
-
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/ActionsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/ActionsApi.java
deleted file mode 100644
index 0e287bb..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/ActionsApi.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.ActionBodyExec;
-import com.inteligr8.alfresco.acs.model.ActionDefinitionEntry;
-import com.inteligr8.alfresco.acs.model.ActionDefinitionList;
-import com.inteligr8.alfresco.acs.model.ActionExecResultEntry;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface ActionsApi {
-
- /**
- * Retrieve the details of an action definition
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieve the details of the action denoted by **actionDefinitionId**.
- *
- */
- @GET
- @Path("/action-definitions/{actionDefinitionId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Retrieve the details of an action definition", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**actionDefinitionId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ActionDefinitionEntry actionDetails(@PathParam("actionDefinitionId") String actionDefinitionId);
-
- /**
- * Execute an action
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Executes an action An action may be executed against a node specified by **targetId**. For example: ``` { \"actionDefinitionId\": \"copy\", \"targetId\": \"4c4b3c43-f18b-43ff-af84-751f16f1ddfd\", \"params\": { \"destination-folder\": \"34219f79-66fa-4ebf-b371-118598af898c\" } } ``` Performing a POST with the request body shown above will result in the node identified by ```targetId``` being copied to the destination folder specified in the ```params``` object by the key ```destination-folder```. **targetId** is optional, however, currently **targetId** must be a valid node ID. In the future, actions may be executed against different entity types or executed without the need for the context of an entity. Parameters supplied to the action within the ```params``` object will be converted to the expected type, where possible using the DefaultTypeConverter class. In addition: * Node IDs may be supplied in their short form (implicit workspace://SpacesStore prefix) * Aspect names may be supplied using their short form, e.g. cm:versionable or cm:auditable In this example, we add the aspect ```cm:versionable``` to a node using the QName resolution mentioned above: ``` { \"actionDefinitionId\": \"add-features\", \"targetId\": \"16349e3f-2977-44d1-93f2-73c12b8083b5\", \"params\": { \"aspect-name\": \"cm:versionable\" } } ``` The ```actionDefinitionId``` is the ```id``` of an action definition as returned by the _list actions_ operations (e.g. GET /action-definitions). The action will be executed **asynchronously** with a `202` HTTP response signifying that the request has been accepted successfully. The response body contains the unique ID of the action pending execution. The ID may be used, for example to correlate an execution with output in the server logs.
- *
- */
- @POST
- @Path("/action-executions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Execute an action", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "Action execution request accepted and pending execution. ", response = ActionExecResultEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **actionDefinitionId** missing but required by the action "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**actionDefinitionId** or **targetId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ActionExecResultEntry actionExec(ActionBodyExec actionBodyExec);
-
- /**
- * Retrieve list of available actions
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of all available actions The default sort order for the returned list is for actions to be sorted by ascending name. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * name * title
- *
- */
- @GET
- @Path("/action-definitions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Retrieve list of available actions", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionList.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ActionDefinitionList listActions(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("fields")List fields);
-
- /**
- * Retrieve actions for a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieve the list of actions that may be executed against the given **nodeId**. The default sort order for the returned list is for actions to be sorted by ascending name. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * name * title
- *
- */
- @GET
- @Path("/nodes/{nodeId}/action-definitions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Retrieve actions for a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionList.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ActionDefinitionList nodeActions(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/ActivitiesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/ActivitiesApi.java
deleted file mode 100644
index 0f5c5bf..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/ActivitiesApi.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.ActivityPaging;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface ActivitiesApi {
-
- /**
- * List activities
- *
- * Gets a list of activities for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/activities")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List activities", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ActivityPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, or **who** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the activities for **personId**"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ActivityPaging listActivitiesForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("who")String who, @QueryParam("siteId")String siteId, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/AspectsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/AspectsApi.java
deleted file mode 100644
index 5f8037a..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/AspectsApi.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.AspectEntry;
-import com.inteligr8.alfresco.acs.model.AspectPaging;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface AuditApi {
-
- /**
- * Permanently delete audit entries for an audit application
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Permanently delete audit entries for an audit application **auditApplicationId**. The **where** clause must be specified, either with an inclusive time period or for an inclusive range of ids. The delete is within the context of the given audit application. For example: * ```where=(createdAt BETWEEN ('2017-06-02T12:13:51.593+01:00' , '2017-06-04T10:05:16.536+01:00')``` * ```where=(id BETWEEN ('1234', '4321')``` You must have admin rights to delete audit information.
- *
- */
- @DELETE
- @Path("/audit-applications/{auditApplicationId}/audit-entries")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Permanently delete audit entries for an audit application", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** is not a valid format or invalid **where** "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete audit information"),
- @ApiResponse(code = 404, message = "**auditApplicationId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteAuditEntriesForAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("where")String where);
-
- /**
- * Permanently delete an audit entry
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Permanently delete a single audit entry **auditEntryId**. You must have admin rights to delete audit information.
- *
- */
- @DELETE
- @Path("/audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Permanently delete an audit entry", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** or **auditEntryId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete audit information"),
- @ApiResponse(code = 404, message = "**auditApplicationId** or **auditEntryId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteAuditEntry(@PathParam("auditApplicationId") String auditApplicationId, @PathParam("auditEntryId") String auditEntryId);
-
- /**
- * Get audit application info
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Get status of an audit application **auditApplicationId**. You must have admin rights to retrieve audit information. You can use the **include** parameter to return the minimum and/or maximum audit record id for the application.
- *
- */
- @GET
- @Path("/audit-applications/{auditApplicationId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get audit application info", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditApp.class),
- @ApiResponse(code = 400, message = "Invalid parameter: invalid **auditApplicationId** "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
- @ApiResponse(code = 404, message = "**applicationId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditApp getAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("fields")List fields, @QueryParam("include")List include);
-
- /**
- * Get audit entry
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets audit entry **auditEntryId**. You must have admin rights to access audit information.
- *
- */
- @GET
- @Path("/audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get audit entry", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditEntryEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** or **auditEntryId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
- @ApiResponse(code = 404, message = "**auditApplicationId** or **auditEntryId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditEntryEntry getAuditEntry(@PathParam("auditApplicationId") String auditApplicationId, @PathParam("auditEntryId") String auditEntryId, @QueryParam("fields")List fields);
-
- /**
- * List audit applications
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit applications in this repository. This list may include pre-configured audit applications, if enabled, such as: * alfresco-access * CMISChangeLog * Alfresco Tagging Service * Alfresco Sync Service (used by Enterprise Cloud Sync) You must have admin rights to retrieve audit information.
- *
- */
- @GET
- @Path("/audit-applications")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List audit applications", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditAppPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditAppPaging listAuditApps(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * List audit entries for an audit application
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit entries for audit application **auditApplicationId**. You can use the **include** parameter to return additional **values** information. The list can be filtered by one or more of: * **createdByUser** person id * **createdAt** inclusive time period * **id** inclusive range of ids * **valuesKey** audit entry values contains the exact matching key * **valuesValue** audit entry values contains the exact matching value The default sort order is **createdAt** ascending, but you can use an optional **ASC** or **DESC** modifier to specify an ascending or descending sort order. For example, specifying ```orderBy=createdAt DESC``` returns audit entries in descending **createdAt** order. You must have admin rights to retrieve audit information.
- *
- */
- @GET
- @Path("/audit-applications/{auditApplicationId}/audit-entries")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List audit entries for an audit application", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditEntryPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: *auditApplicationId** is not a valid format, value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
- @ApiResponse(code = 404, message = "**applicationId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditEntryPaging listAuditEntriesForAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("omitTotalItems")@DefaultValue("false") Boolean omitTotalItems, @QueryParam("orderBy")List orderBy, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * List audit entries for a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit entries for node **nodeId**. The list can be filtered by **createdByUser** and for a given inclusive time period. The default sort order is **createdAt** ascending, but you can use an optional **ASC** or **DESC** modifier to specify an ascending or descending sort order. For example, specifying ```orderBy=createdAt DESC``` returns audit entries in descending **createdAt** order. This relies on the pre-configured 'alfresco-access' audit application.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/audit-entries")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List audit entries for a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditEntryPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: *nodeId** is not a valid format, value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditEntryPaging listAuditEntriesForNode(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("orderBy")List orderBy, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Update audit application info
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Disable or re-enable the audit application **auditApplicationId**. New audit entries will not be created for a disabled audit application until it is re-enabled (and system-wide auditing is also enabled). Note, it is still possible to query &/or delete any existing audit entries even if auditing is disabled for the audit application. You must have admin rights to update audit application.
- *
- */
- @PUT
- @Path("/audit-applications/{auditApplicationId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update audit application info", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = AuditApp.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** is not a valid format or **auditAppBodyUpdate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update audit application"),
- @ApiResponse(code = 404, message = "**auditApplicationId** does not exist "),
- @ApiResponse(code = 501, message = "Audit is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AuditApp updateAuditApp(@PathParam("auditApplicationId") String auditApplicationId, AuditBodyUpdate auditAppBodyUpdate, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/AuthenticationApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/AuthenticationApi.java
deleted file mode 100644
index ec67480..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/AuthenticationApi.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.TicketBody;
-import com.inteligr8.alfresco.acs.model.TicketEntry;
-import com.inteligr8.alfresco.acs.model.ValidTicketEntry;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Authentication API** Provides access to the authentication features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/authentication/versions/1")
-@Api(value = "/api/-default-/public/authentication/versions/1", description = "")
-public interface AuthenticationApi {
-
- /**
- * Create ticket (login)
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Logs in and returns the new authentication ticket. The userId and password properties are mandatory in the request body. For example: ```JSON { \"userId\": \"jbloggs\", \"password\": \"password\" } ``` To use the ticket in future requests you should pass it in the request header. For example using Javascript: ```Javascript request.setRequestHeader (\"Authorization\", \"Basic \" + btoa(ticket)); ```
- *
- */
- @POST
- @Path("/tickets")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create ticket (login)", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = TicketEntry.class),
- @ApiResponse(code = 400, message = "**userId** or **password** is not provided "),
- @ApiResponse(code = 403, message = "Login failed"),
- @ApiResponse(code = 501, message = "SAML is enabled and enforced"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TicketEntry createTicket(TicketBody ticketBodyCreate);
-
- /**
- * Delete ticket (logout)
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes logged in ticket (logout).
- *
- */
- @DELETE
- @Path("/tickets/-me-")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete ticket (logout)", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "URL path does not include **-me-** or the ticket is not provided by the Authorization header"),
- @ApiResponse(code = 404, message = "Status of the user has changed (for example, the user is locked or the account is disabled) or the ticket has expired"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteTicket();
-
- /**
- * Validate ticket
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Validates the specified ticket (derived from Authorization header) is still valid. For example, you can pass the Authorization request header using Javascript: ```Javascript request.setRequestHeader (\"Authorization\", \"Basic \" + btoa(ticket)); ```
- *
- */
- @GET
- @Path("/tickets/-me-")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Validate ticket", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ValidTicketEntry.class),
- @ApiResponse(code = 400, message = "URL path does not include **-me-** or the ticket is not provided by the Authorization header"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "The request is authorized correctly but the status of the user (of the supplied ticket) has changed (for example, the user is locked or the account is disabled) or the ticket has expired"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ValidTicketEntry validateTicket();
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/CommentsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/CommentsApi.java
deleted file mode 100644
index 4313e7d..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/CommentsApi.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.CommentBody;
-import com.inteligr8.alfresco.acs.model.CommentEntry;
-import com.inteligr8.alfresco.acs.model.CommentPaging;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface CommentsApi {
-
- /**
- * Create a comment
- *
- * Creates a comment on node **nodeId**. You specify the comment in a JSON body like this: ```JSON { \"content\": \"This is a comment\" } ``` **Note:** You can create more than one comment by specifying a list of comments in the JSON body like this: ```JSON [ { \"content\": \"This is a comment\" }, { \"content\": \"This is another comment\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/nodes/{nodeId}/comments")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a comment", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = CommentEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **commentBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to create a comment"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 405, message = "Cannot comment on a node of this type"),
- @ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public CommentEntry createComment(@PathParam("nodeId") String nodeId, CommentBody commentBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete a comment
- *
- * Deletes the comment **commentId** from node **nodeId**.
- *
- */
- @DELETE
- @Path("/nodes/{nodeId}/comments/{commentId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a comment", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to delete a comment"),
- @ApiResponse(code = 404, message = "**nodeId** or **commentId** does not exist "),
- @ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteComment(@PathParam("nodeId") String nodeId, @PathParam("commentId") String commentId);
-
- /**
- * List comments
- *
- * Gets a list of comments for the node **nodeId**, sorted chronologically with the newest comment first.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/comments")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List comments", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = CommentPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** exists but does not identify a file or a folder, or the value of **maxItems** is invalid, or the value of **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission read comments on the node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public CommentPaging listComments(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * Update a comment
- *
- * Updates an existing comment **commentId** on node **nodeId**.
- *
- */
- @PUT
- @Path("/nodes/{nodeId}/comments/{commentId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a comment", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = CommentEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **commentBodyUpdate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to update a comment"),
- @ApiResponse(code = 404, message = "**nodeId** or **commentId** does not exist "),
- @ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public CommentEntry updateComment(@PathParam("nodeId") String nodeId, @PathParam("commentId") String commentId, CommentBody commentBodyUpdate, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/DiscoveryApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/DiscoveryApi.java
deleted file mode 100644
index 0625936..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/DiscoveryApi.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.DiscoveryEntry;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Discovery API** Provides access to information about Alfresco Content Services.
- *
- */
-@Path("/api")
-@Api(value = "/api", description = "")
-public interface DiscoveryApi {
-
- /**
- * Get repository information
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieves the capabilities and detailed version information from the repository.
- *
- */
- @GET
- @Path("/discovery")
- @Produces({ "application/json" })
- @ApiOperation(value = "Get repository information", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = DiscoveryEntry.class),
- @ApiResponse(code = 501, message = "Discovery is disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public DiscoveryEntry getRepositoryInformation();
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/DownloadsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/DownloadsApi.java
deleted file mode 100644
index 7516efa..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/DownloadsApi.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.DownloadBodyCreate;
-import com.inteligr8.alfresco.acs.model.DownloadEntry;
-import com.inteligr8.alfresco.acs.model.Error;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface DownloadsApi {
-
- /**
- * Cancel a download
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Cancels the creation of a download request. **Note:** The download node can be deleted using the **DELETE /nodes/{downloadId}** endpoint By default, if the download node is not deleted it will be picked up by a cleaner job which removes download nodes older than a configurable amount of time (default is 1 hour) Information about the existing progress at the time of cancelling can be retrieved by calling the **GET /downloads/{downloadId}** endpoint The cancel operation is done asynchronously.
- *
- */
- @DELETE
- @Path("/downloads/{downloadId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Cancel a download", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "The request to cancel a download was accepted"),
- @ApiResponse(code = 400, message = "Invalid parameter: **downloadId** is invalid, or **downloadId** does not point to a node of download type "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission cancel the **downloadId** node"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void cancelDownload(@PathParam("downloadId") String downloadId);
-
- /**
- * Create a new download
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Creates a new download node asynchronously, the content of which will be the zipped content of the **nodeIds** specified in the JSON body like this: ```JSON { \"nodeIds\": [ \"c8bb482a-ff3c-4704-a3a3-de1c83ccd84c\", \"cffa62db-aa01-493d-9594-058bc058eeb1\" ] } ``` **Note:** The content of the download node can be obtained using the **GET /nodes/{downloadId}/content** endpoint
- *
- */
- @POST
- @Path("/downloads")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a new download", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "The request to create a download node was accepted", response = DownloadEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **DownloadBodyCreate** is invalid due to incorrect syntax, or **nodeIds** is empty, or **nodeIds** contains a duplicate **nodeId** "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to add a certain **nodeId** to the zip"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public DownloadEntry createDownload(DownloadBodyCreate downloadBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Get a download
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Retrieve status information for download node **downloadId**
- *
- */
- @GET
- @Path("/downloads/{downloadId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a download", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Download node information", response = DownloadEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **downloadId** is invalid, or **downloadId** does not point to a node of download type "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to get information about **downloadId** node"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public DownloadEntry getDownload(@PathParam("downloadId") String downloadId, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/FavoritesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/FavoritesApi.java
deleted file mode 100644
index 945c848..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/FavoritesApi.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.FavoriteBodyCreate;
-import com.inteligr8.alfresco.acs.model.FavoriteEntry;
-import com.inteligr8.alfresco.acs.model.FavoritePaging;
-import com.inteligr8.alfresco.acs.model.FavoriteSiteBodyCreate;
-import com.inteligr8.alfresco.acs.model.FavoriteSiteEntry;
-import com.inteligr8.alfresco.acs.model.SiteEntry;
-import com.inteligr8.alfresco.acs.model.SitePaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface FavoritesApi {
-
- /**
- * Create a favorite
- *
- * Favorite a **site**, **file**, or **folder** in the repository. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. **Note:** You can favorite more than one entity by specifying a list of objects in the JSON body like this: ```JSON [ { \"target\": { \"file\": { \"guid\": \"abcde-01234-....\" } } }, { \"target\": { \"file\": { \"guid\": \"abcde-09863-....\" } } }, ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/people/{personId}/favorites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a favorite", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = FavoriteEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **favoriteBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist, or the target entity does not exist, or a favorite already exists with the specified id, or an entity exists with the id of the posted object but is not of the same type of the posted object "),
- @ApiResponse(code = 409, message = "The target **guid** has already been favorited"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public FavoriteEntry createFavorite(@PathParam("personId") String personId, FavoriteBodyCreate favoriteBodyCreate, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Create a site favorite
- *
- * **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use `/people/{personId}/favorites` instead. Create a site favorite for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. **Note:** You can favorite more than one site by specifying a list of sites in the JSON body like this: ```JSON [ { \"id\": \"test-site-1\" }, { \"id\": \"test-site-2\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/people/{personId}/favorite-sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a site favorite", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = FavoriteSiteEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **favoriteSiteBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 409, message = "**id** is already a site favorite "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public FavoriteSiteEntry createSiteFavorite(@PathParam("personId") String personId, FavoriteSiteBodyCreate favoriteSiteBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete a favorite
- *
- * Deletes **favoriteId** as a favorite of person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/people/{personId}/favorites/{favoriteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a favorite", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **favoriteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteFavorite(@PathParam("personId") String personId, @PathParam("favoriteId") String favoriteId);
-
- /**
- * Delete a site favorite
- *
- * **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use `/people/{personId}/favorites/{favoriteId}` instead. Deletes site **siteId** from the favorite site list of person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/people/{personId}/favorite-sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a site favorite", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSiteFavorite(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
-
- /**
- * Get a favorite
- *
- * Gets favorite **favoriteId** for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/favorites/{favoriteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a favorite", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = FavoriteEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **favoriteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public FavoriteEntry getFavorite(@PathParam("personId") String personId, @PathParam("favoriteId") String favoriteId, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Get a favorite site
- *
- * **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use `/people/{personId}/favorites/{favoriteId}` instead. Gets information on favorite site **siteId** of person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/favorite-sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a favorite site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteEntry getFavoriteSite(@PathParam("personId") String personId, @PathParam("siteId") String siteId, @QueryParam("fields")List fields);
-
- /**
- * List favorite sites
- *
- * **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use `/people/{personId}/favorites` instead. Gets a list of a person's favorite sites. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/favorite-sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List favorite sites", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SitePaging listFavoriteSitesForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * List favorites
- *
- * Gets a list of favorites for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. The default sort order for the returned list of favorites is type ascending, createdAt descending. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * `type` * `createdAt` * `title` You can use the **where** parameter to restrict the list in the response to entries of a specific kind. The **where** parameter takes a value. The value is a single predicate that can include one or more **EXISTS** conditions. The **EXISTS** condition uses a single operand to limit the list to include entries that include that one property. The property values are: * `target/file` * `target/folder` * `target/site` For example, the following **where** parameter restricts the returned list to the file favorites for a person: ```SQL (EXISTS(target/file)) ``` You can specify more than one condition using **OR**. The predicate must be enclosed in parentheses. For example, the following **where** parameter restricts the returned list to the file and folder favorites for a person: ```SQL (EXISTS(target/file) OR EXISTS(target/folder)) ```
- *
- */
- @GET
- @Path("/people/{personId}/favorites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List favorites", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = FavoritePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist or the current user does not have permission to access the favorites of **personId** "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public FavoritePaging listFavorites(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/GroupsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/GroupsApi.java
deleted file mode 100644
index 4f23716..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/GroupsApi.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.GroupBodyCreate;
-import com.inteligr8.alfresco.acs.model.GroupBodyUpdate;
-import com.inteligr8.alfresco.acs.model.GroupEntry;
-import com.inteligr8.alfresco.acs.model.GroupMemberEntry;
-import com.inteligr8.alfresco.acs.model.GroupMemberPaging;
-import com.inteligr8.alfresco.acs.model.GroupMembershipBodyCreate;
-import com.inteligr8.alfresco.acs.model.GroupPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface GroupsApi {
-
- /**
- * Create a group
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Create a group. The group id must start with \"GROUP\\_\". If this is omitted it will be added automatically. This format is also returned when listing groups or group memberships. It should be noted that the other group-related operations also expect the id to start with \"GROUP\\_\". If one or more parentIds are specified then the group will be created and become a member of each of the specified parent groups. If no parentIds are specified then the group will be created as a root group. The group will be created in the **APP.DEFAULT** and **AUTH.ALF** zones. You must have admin rights to create a group.
- *
- */
- @POST
- @Path("/groups")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = GroupEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: invalid **groupBodyCreate** "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to create a group"),
- @ApiResponse(code = 404, message = "**parentIds** does not exist "),
- @ApiResponse(code = 409, message = "**id** clashes with an existing group "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupEntry createGroup(GroupBodyCreate groupBodyCreate, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Create a group membership
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Create a group membership (for an existing person or group) within a group **groupId**. If the added group was previously a root group then it becomes a non-root group since it now has a parent. It is an error to specify an **id** that does not exist. You must have admin rights to create a group membership.
- *
- */
- @POST
- @Path("/groups/{groupId}/members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a group membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = GroupMemberEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **groupId** or **groupMembershipBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to create a group membership"),
- @ApiResponse(code = 404, message = "**groupId** or *id* (of group or person) does not exist "),
- @ApiResponse(code = 409, message = "Trying to modify a pre-defined system group, such as GROUP_EVERYONE. "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupMemberEntry createGroupMembership(@PathParam("groupId") String groupId, GroupMembershipBodyCreate groupMembershipBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete a group
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Delete group **groupId**. The option to cascade delete applies this recursively to any hierarchy of group members. In this case, removing a group member does not delete the person or sub-group itself. If a removed sub-group no longer has any parent groups then it becomes a root group. You must have admin rights to delete a group.
- *
- */
- @DELETE
- @Path("/groups/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **groupId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to delete a group member"),
- @ApiResponse(code = 404, message = "**groupId** does not exist "),
- @ApiResponse(code = 409, message = "Trying to delete a pre-defined system group, such as GROUP_EVERYONE. "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteGroup(@PathParam("groupId") String groupId, @QueryParam("cascade")@DefaultValue("false") Boolean cascade);
-
- /**
- * Delete a group membership
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Delete group member **groupMemberId** (person or sub-group) from group **groupId**. Removing a group member does not delete the person or sub-group itself. If a removed sub-group no longer has any parent groups then it becomes a root group. You must have admin rights to delete a group membership.
- *
- */
- @DELETE
- @Path("/groups/{groupId}/members/{groupMemberId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a group membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **groupId**, or **groupMemberId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to delete a group membership"),
- @ApiResponse(code = 404, message = "**groupId** or **groupMemberId** does not exist "),
- @ApiResponse(code = 409, message = "Trying to delete a member of a pre-defined system group, such as GROUP_EVERYONE "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteGroupMembership(@PathParam("groupId") String groupId, @PathParam("groupMemberId") String groupMemberId);
-
- /**
- * Get group details
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Get details for group **groupId**. You can use the **include** parameter to return additional information.
- *
- */
- @GET
- @Path("/groups/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get group details", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = GroupEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: invalid **groupId** "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**groupId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupEntry getGroup(@PathParam("groupId") String groupId, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * List memberships of a group
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of the group memberships for the group **groupId**. You can use the **where** parameter to filter the returned groups by **memberType**. Example to filter by **memberType**, use any one of: ``` (memberType='GROUP') (memberType='PERSON') ``` The default sort order for the returned list is for group members to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one of the following fields in the **orderBy** parameter: * id * displayName
- *
- */
- @GET
- @Path("/groups/{groupId}/members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List memberships of a group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = GroupMemberPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**groupId** does not exist "),
- @ApiResponse(code = 405, message = "Trying to list all members of a pre-defined system group, such as GROUP_EVERYONE "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupMemberPaging listGroupMemberships(@PathParam("groupId") String groupId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("where")String where, @QueryParam("fields")List fields);
-
- /**
- * List group memberships
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of group membership information for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. You can use the **include** parameter to return additional information. You can use the **where** parameter to filter the returned groups by **isRoot**. For example, the following **where** clause will return just the root groups: ``` (isRoot=true) ``` The **where** parameter can also be used to filter by ***zone***. This may be combined with isRoot to narrow a result set even further. For example, the following where clause will only return groups belonging to the `MY.ZONE` zone. ``` where=(zones in ('MY.ZONE')) ``` This may be combined with the isRoot filter, as shown below: ``` where=(isRoot=false AND zones in ('MY.ZONE')) ``` ***Note:*** restrictions include * `AND` is the only supported operator when combining `isRoot` and `zones` filters * Only one zone is supported by the filter * The quoted zone name must be placed in parenthesis — a 400 error will result if these are omitted. The default sort order for the returned list is for groups to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * displayName
- *
- */
- @GET
- @Path("/people/{personId}/groups")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List group memberships", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = GroupPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy** or **personId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupPaging listGroupMembershipsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("include")List include, @QueryParam("where")String where, @QueryParam("fields")List fields);
-
- /**
- * List groups
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of groups. You can use the **include** parameter to return additional information. You can use the **where** parameter to filter the returned groups by **isRoot**. For example, the following **where** clause will return just the root groups: ``` (isRoot=true) ``` The **where** parameter can also be used to filter by ***zone*** and ***displayName***. They may be combined with isRoot to narrow a result set even further. For example, the following where clause will only return groups belonging to the `MY.ZONE` zone. ``` where=(zones in ('MY.ZONE')) ``` This may be combined with the isRoot filter, as shown below: ``` where=(isRoot=false AND zones in ('MY.ZONE')) ``` The following where clause will only return groups with displayName `MY.GROUP.NAME`. ``` where=(displayName in ('MY.GROUP.NAME')) ``` This may be combined with the isRoot and zones filter, as shown below: ``` where=(isRoot=false AND displayName in ('MY.GROUP.NAME')) ``` ``` where=(zones in ('MY.ZONE') AND displayName in ('MY.GROUP.NAME')) ``` ``` where=(isRoot=false AND zones in ('MY.ZONE') AND displayName in ('MY.GROUP.NAME')) ``` ***Note:*** restrictions include * `AND` is the only supported operator when combining `isRoot`, `zones` and `displayName` filters * Only one zone is supported by the filter * Only one displayName is supported by the filter * The quoted zone name and displayName must be placed in parenthesis — a 400 error will result if these are omitted. The default sort order for the returned list is for groups to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one of the following fields in the **orderBy** parameter: * id * displayName
- *
- */
- @GET
- @Path("/groups")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List groups", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = GroupPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount**, or **orderBy**, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupPaging listGroups(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("include")List include, @QueryParam("where")String where, @QueryParam("fields")List fields);
-
- /**
- * Update group details
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Update details (displayName) for group **groupId**. You must have admin rights to update a group.
- *
- */
- @PUT
- @Path("/groups/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update group details", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = GroupEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **groupId** or **groupBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to update a group"),
- @ApiResponse(code = 404, message = "**groupId** does not exist "),
- @ApiResponse(code = 409, message = "Trying to modify a pre-defined system group, such as GROUP_EVERYONE "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public GroupEntry updateGroup(@PathParam("groupId") String groupId, GroupBodyUpdate groupBodyUpdate, @QueryParam("include")List include, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/NetworksApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/NetworksApi.java
deleted file mode 100644
index 1f8e424..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/NetworksApi.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.PersonNetworkEntry;
-import com.inteligr8.alfresco.acs.model.PersonNetworkPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface NetworksApi {
-
- /**
- * Get a network
- *
- * Gets information for a network **networkId**.
- *
- */
- @GET
- @Path("/networks/{networkId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a network", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonNetworkEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**networkId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonNetworkEntry getNetwork(@PathParam("networkId") String networkId, @QueryParam("fields")List fields);
-
- /**
- * Get network information
- *
- * Gets network information on a single network specified by **networkId** for **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/networks/{networkId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get network information", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonNetworkEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **networkId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonNetworkEntry getNetworkForPerson(@PathParam("personId") String personId, @PathParam("networkId") String networkId, @QueryParam("fields")List fields);
-
- /**
- * List network membership
- *
- * Gets a list of network memberships for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/networks")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List network membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonNetworkPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonNetworkPaging listNetworksForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/NodesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/NodesApi.java
deleted file mode 100644
index 2c0f174..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/NodesApi.java
+++ /dev/null
@@ -1,453 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-
-import com.inteligr8.alfresco.acs.model.AssociationBody;
-import com.inteligr8.alfresco.acs.model.AssociationEntry;
-import com.inteligr8.alfresco.acs.model.ChildAssociationBody;
-import com.inteligr8.alfresco.acs.model.ChildAssociationEntry;
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.NodeAssociationPaging;
-import com.inteligr8.alfresco.acs.model.NodeBodyCopy;
-import com.inteligr8.alfresco.acs.model.NodeBodyCreate;
-import com.inteligr8.alfresco.acs.model.NodeBodyLock;
-import com.inteligr8.alfresco.acs.model.NodeBodyMove;
-import com.inteligr8.alfresco.acs.model.NodeBodyUpdate;
-import com.inteligr8.alfresco.acs.model.NodeChildAssociationPaging;
-import com.inteligr8.alfresco.acs.model.NodeEntry;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface NodesApi {
-
- /**
- * Copy a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Copies the node **nodeId** to the parent folder node **targetParentId**. You specify the **targetParentId** in the request body. The new node has the same name as the source node unless you specify a new **name** in the request body. If the source **nodeId** is a folder, then all of its children are also copied. If the source **nodeId** is a file, it's properties, aspects and tags are copied, it's ratings, comments and locks are not.
- *
- */
- @POST
- @Path("/nodes/{nodeId}/copy")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Copy a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or **nodeBodyCopy** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to copy **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "New name clashes with an existing node in the destination parent folder"),
- @ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry copyNode(@PathParam("nodeId") String nodeId, NodeBodyCopy nodeBodyCopy, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Create node association
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create an association, with the given association type, between the source **nodeId** and a target node. **Note:** You can create more than one association by specifying a list of associations in the JSON body like this: ```JSON [ { \"targetId\": \"string\", \"assocType\": \"string\" }, { \"targetId\": \"string\", \"assocType\": \"string\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/nodes/{nodeId}/targets")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create node association", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = AssociationEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown, or the **nodeId** is not a valid format, or **associationBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Source **nodeId** or **targetId** does not exist"),
- @ApiResponse(code = 409, message = "An association of this assoc type already exists between these two nodes"),
- @ApiResponse(code = 422, message = "Model integrity exception"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public AssociationEntry createAssociation(@PathParam("nodeId") String nodeId, AssociationBody associationBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Create a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a node and add it as a primary child of node **nodeId**. This endpoint supports both JSON and multipart/form-data (file upload). **Using multipart/form-data** Use the **filedata** field to represent the content to upload, for example, the following curl command will create a node with the contents of test.txt in the test user's home folder. ```curl -utest:test -X POST host:port/alfresco/api/-default-/public/alfresco/versions/1/nodes/-my-/children -F filedata=@test.txt``` You can use the **name** field to give an alternative name for the new file. You can use the **nodeType** field to create a specific type. The default is cm:content. You can use the **renditions** field to create renditions (e.g. doclib) asynchronously upon upload. Also, as requesting rendition is a background process, any rendition failure (e.g. No transformer is currently available) will not fail the whole upload and has the potential to silently fail. Use **overwrite** to overwrite an existing file, matched by name. If the file is versionable, the existing content is replaced. When you overwrite existing content, you can set the **majorVersion** boolean field to **true** to indicate a major version should be created. The default for **majorVersion** is **false**. Setting **majorVersion** enables versioning of the node, if it is not already versioned. When you overwrite existing content, you can use the **comment** field to add a version comment that appears in the version history. This also enables versioning of this node, if it is not already versioned. You can set the **autoRename** boolean field to automatically resolve name clashes. If there is a name clash, then the API method tries to create a unique name using an integer suffix. You can use the **relativePath** field to specify the folder structure to create relative to the node **nodeId**. Folders in the **relativePath** that do not exist are created before the node is created. Any other field provided will be treated as a property to set on the newly created node. **Note:** setting properties of type d:content and d:category are not supported. **Note:** When creating a new node using multipart/form-data by default versioning is enabled and set to MAJOR Version. Since Alfresco 6.2.3 **versioningEnabled** flag was introduced offering better control over the new node Versioning. | **versioningEnabled** | **majorVersion** | **Version Type** | |-----------------------|------------------|------------------| | unset | unset | MAJOR | | unset | true | MAJOR | | unset | false | MINOR | | true | unset | MAJOR | | true | true | MAJOR | | true | false | MINOR | | false | true | Unversioned | | false | false | Unversioned | | false | true | Unversioned | <br> **Using JSON** You must specify at least a **name** and **nodeType**. For example, to create a folder: ```JSON { \"name\":\"My Folder\", \"nodeType\":\"cm:folder\" } ``` You can create an empty file like this: ```JSON { \"name\":\"My text file.txt\", \"nodeType\":\"cm:content\" } ``` You can update binary content using the ```PUT /nodes/{nodeId}``` API method. You can create a folder, or other node, inside a folder hierarchy: ```JSON { \"name\":\"My Special Folder\", \"nodeType\":\"cm:folder\", \"relativePath\":\"X/Y/Z\" } ``` The **relativePath** specifies the folder structure to create relative to the node **nodeId**. Folders in the **relativePath** that do not exist are created before the node is created. You can set properties when you create a new node: ```JSON { \"name\":\"My Other Folder\", \"nodeType\":\"cm:folder\", \"properties\": { \"cm:title\":\"Folder title\", \"cm:description\":\"This is an important folder\" } } ``` You can set multi-value properties when you create a new node which supports properties of type multiple. ```JSON { \"name\":\"My Other Folder\", \"nodeType\":\"custom:destination\", \"properties\": { \"cm:title\":\"Folder title\", \"cm:description\":\"This is an important folder\", \"custom:locations\": [ \"location X\", \"location Y\" ] } } ``` Any missing aspects are applied automatically. For example, **cm:titled** in the JSON shown above. You can set aspects explicitly, if needed, using an **aspectNames** field. **Note:** setting properties of type d:content and d:category are not supported. You can also optionally disable (or enable) inherited permissions via *isInheritanceEnabled* flag: ```JSON { \"permissions\": { \"isInheritanceEnabled\": false, \"locallySet\": [ {\"authorityId\": \"GROUP_special\", \"name\": \"Read\", \"accessStatus\":\"DENIED\"}, {\"authorityId\": \"testuser\", \"name\": \"Contributor\", \"accessStatus\":\"ALLOWED\"} ] } } ``` Typically, for files and folders, the primary children are created within the parent folder using the default \"cm:contains\" assocType. If the content model allows then it is also possible to create primary children with a different assoc type. For example: ```JSON { \"name\":\"My Node\", \"nodeType\":\"my:specialNodeType\", \"association\": { \"assocType\":\"my:specialAssocType\" } } ``` Additional associations can be added after creating a node. You can also add associations at the time the node is created. This is required, for example, if the content model specifies that a node has mandatory associations to one or more existing nodes. You can optionally specify an array of **secondaryChildren** to create one or more secondary child associations, such that the newly created node acts as a parent node. You can optionally specify an array of **targets** to create one or more peer associations such that the newly created node acts as a source node. For example, to associate one or more secondary children at time of creation: ```JSON { \"name\":\"My Folder\", \"nodeType\":\"cm:folder\", \"secondaryChildren\": [ {\"childId\":\"abcde-01234-...\", \"assocType\":\"my:specialChildAssocType\"} ] } ``` For example, to associate one or more targets at time of creation: ```JSON { \"name\":\"My Folder\", \"nodeType\":\"cm:folder\", \"targets\": [ {\"targetId\":\"abcde-01234-...\", \"assocType\":\"my:specialPeerAssocType\"} ] } ``` **Note:** You can create more than one child by specifying a list of nodes in the JSON body. For example, the following JSON body creates two folders inside the specified **nodeId**, if the **nodeId** identifies a folder: ```JSON [ { \"name\":\"My Folder 1\", \"nodeType\":\"cm:folder\" }, { \"name\":\"My Folder 2\", \"nodeType\":\"cm:folder\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ``` **Note:** When creating a new node using JSON by default versioning is disabled. Since Alfresco 6.2.3 **versioningEnabled** flag was introduced offering better control over the new node Versioning. | **versioningEnabled** | **majorVersion** | **Version Type** | |-----------------------|------------------|------------------| | unset | unset | Unversioned | | unset | true | MAJOR | | unset | false | MINOR | | true | unset | MAJOR | | true | true | MAJOR | | true | false | MINOR | | false | true | Unversioned | | false | false | Unversioned | | false | true | Unversioned | <br>
- *
- */
- @POST
- @Path("/nodes/{nodeId}/children")
- @Consumes({ "application/json", "multipart/form-data" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or **nodeBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to create children of **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 409, message = "New name clashes with an existing node in the current parent folder"),
- @ApiResponse(code = 413, message = "Content exceeds individual file size limit configured for the network or system"),
- @ApiResponse(code = 415, message = "Content Type is not supported"),
- @ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
- @ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network or system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry createNode(@PathParam("nodeId") String nodeId, NodeBodyCreate nodeBodyCreate, @QueryParam("autoRename")Boolean autoRename, @QueryParam("majorVersion")Boolean majorVersion, @QueryParam("versioningEnabled")Boolean versioningEnabled, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Create secondary child
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a secondary child association, with the given association type, between the parent **nodeId** and a child node. **Note:** You can create more than one secondary child association by specifying a list of associations in the JSON body like this: ```JSON [ { \"childId\": \"string\", \"assocType\": \"string\" }, { \"childId\": \"string\", \"assocType\": \"string\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/nodes/{nodeId}/secondary-children")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create secondary child", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = ChildAssociationEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown, or the **nodeId** is not a valid format, or **secondaryChildAssociationBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to create secondary children of **nodeId**"),
- @ApiResponse(code = 404, message = "Parent **nodeId** or **childId** does not exist"),
- @ApiResponse(code = 409, message = "An association of this assoc type already exists between these two nodes"),
- @ApiResponse(code = 422, message = "Model integrity exception"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ChildAssociationEntry createSecondaryChildAssociation(@PathParam("nodeId") String nodeId, ChildAssociationBody secondaryChildAssociationBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete node association(s)
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Delete an association, or associations, from the source **nodeId* to a target node for the given association type. If the association type is **not** specified, then all peer associations, of any type, in the direction from source to target, are deleted. **Note:** After removal of the peer association, or associations, from source to target, the two nodes may still have peer associations in the other direction.
- *
- */
- @DELETE
- @Path("/nodes/{nodeId}/targets/{targetId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete node association(s)", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown, or the **nodeId** is not a valid format, or **targetId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Source **nodeId** or **targetId** does not exist (with given assocType, if specified)"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteAssociation(@PathParam("nodeId") String nodeId, @PathParam("targetId") String targetId, @QueryParam("assocType")String assocType);
-
- /**
- * Delete a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes the node **nodeId**. If **nodeId** is a folder, then its children are also deleted. Deleted nodes move to the trashcan unless the **permanent** query parameter is **true** and the current user is the owner of the node or an admin. Deleting a node deletes it from its primary parent and also from any secondary parents. Peer associations are also deleted, where the deleted node is either a source or target of an association. This applies recursively to any hierarchy of primary children of the deleted node. **Note:** If the node is not permanently deleted, and is later successfully restored to its former primary parent, then the primary child association is restored. This applies recursively for any primary children. No other secondary child associations or peer associations are restored for any of the nodes in the primary parent-child hierarchy of restored nodes, regardless of whether the original associations were to nodes inside or outside the restored hierarchy.
- *
- */
- @DELETE
- @Path("/nodes/{nodeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "**nodeId** is locked and cannot be deleted "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteNode(@PathParam("nodeId") String nodeId, @QueryParam("permanent")@DefaultValue("false") Boolean permanent);
-
- /**
- * Delete secondary child or children
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Delete secondary child associations between the parent **nodeId** and child nodes for the given association type. If the association type is **not** specified, then all secondary child associations, of any type in the direction from parent to secondary child, will be deleted. The child will still have a primary parent and may still be associated as a secondary child with other secondary parents.
- *
- */
- @DELETE
- @Path("/nodes/{nodeId}/secondary-children/{childId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete secondary child or children", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown or you are trying to delete a primary **assocType**. Use delete node instead "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Parent **nodeId** or **childId** does not exist (with given assocType, if specified)"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSecondaryChildAssociation(@PathParam("nodeId") String nodeId, @PathParam("childId") String childId, @QueryParam("assocType")String assocType);
-
- /**
- * Get a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Get information for node **nodeId**. You can use the **include** parameter to return additional information.
- *
- */
- @GET
- @Path("/nodes/{nodeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to retrieve **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry getNode(@PathParam("nodeId") String nodeId, @QueryParam("include")List include, @QueryParam("relativePath")String relativePath, @QueryParam("fields")List fields);
-
- /**
- * Get node content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the content of the node with identifier **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get node content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to retrieve content of **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getNodeContent(@PathParam("nodeId") String nodeId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
-
- /**
- * List node children
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of children of the parent node **nodeId**. Minimal information for each child is returned by default. You can use the **include** parameter to return additional information. The list of child nodes includes primary children and secondary children, if there are any. You can use the **include** parameter (include=association) to return child association details for each child, including the **assocTyp**e and the **isPrimary** flag. The default sort order for the returned list is for folders to be sorted before files, and by ascending name. You can override the default using **orderBy** to specify one or more fields to sort by. The default order is always ascending, but you can use an optional **ASC** or **DESC** modifier to specify an ascending or descending sort order. For example, specifying ```orderBy=name DESC``` returns a mixed folder/file list in descending **name** order. You can use any of the following fields to order the results: * isFolder * name * mimeType * nodeType * sizeInBytes * modifiedAt * createdAt * modifiedByUser * createdByUser
- *
- */
- @GET
- @Path("/nodes/{nodeId}/children")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List node children", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeChildAssociationPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, **nodeId** is not a folder or **orderBy** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to retrieve children of **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeChildAssociationPaging listNodeChildren(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("relativePath")String relativePath, @QueryParam("includeSource")Boolean includeSource, @QueryParam("fields")List fields);
-
- /**
- * List parents
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of parent nodes that are associated with the current child **nodeId**. The list includes both the primary parent and any secondary parents.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/parents")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List parents", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeAssociationPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown or the **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Child **nodeId** does not exist"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeAssociationPaging listParents(@PathParam("nodeId") String nodeId, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("includeSource")Boolean includeSource, @QueryParam("fields")List fields);
-
- /**
- * List secondary children
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of secondary child nodes that are associated with the current parent **nodeId**, via a secondary child association.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/secondary-children")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List secondary children", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeChildAssociationPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown or the **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Parent **nodeId** does not exist"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeChildAssociationPaging listSecondaryChildren(@PathParam("nodeId") String nodeId, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("includeSource")Boolean includeSource, @QueryParam("fields")List fields);
-
- /**
- * List source associations
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of source nodes that are associated with the current target **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/sources")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List source associations", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeAssociationPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or **assocType** is unknown "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Target **nodeId** does not exist"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeAssociationPaging listSourceAssociations(@PathParam("nodeId") String nodeId, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * List target associations
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of target nodes that are associated with the current source **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/targets")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List target associations", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeAssociationPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **assocType** is unknown or the **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "Source **nodeId** does not exist"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeAssociationPaging listTargetAssociations(@PathParam("nodeId") String nodeId, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Lock a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Places a lock on node **nodeId**. **Note:** you can only lock files. More specifically, a node can only be locked if it is of type `cm:content` or a subtype of `cm:content`. The lock is owned by the current user, and prevents other users or processes from making updates to the node until the lock is released. If the **timeToExpire** is not set or is zero, then the lock never expires. Otherwise, the **timeToExpire** is the number of seconds before the lock expires. When a lock expires, the lock is released. If the node is already locked, and the user is the lock owner, then the lock is renewed with the new **timeToExpire**. By default, a lock is applied that allows the owner to update or delete the node. You can use **type** to change the lock type to one of the following: * **ALLOW_OWNER_CHANGES** (default) changes to the node can be made only by the lock owner. This enum is the same value as the deprecated WRITE_LOCK described in `org.alfresco.service.cmr.lock.LockType` in the Alfresco Public Java API. This is the default value. * **FULL** no changes by any user are allowed. This enum is the same value as the deprecated READ_ONLY_LOCK described in `org.alfresco.service.cmr.lock.LockType` in the Alfresco Public Java API. By default, a lock is persisted in the database. You can create a volatile in-memory lock by setting the **lifetime** property to EPHEMERAL. You might choose use EPHEMERAL locks, for example, if you are taking frequent short-term locks that you don't need to be kept over a restart of the repository. In this case you don't need the overhead of writing the locks to the database. If a lock on the node cannot be taken, then an error is returned.
- *
- */
- @POST
- @Path("/nodes/{nodeId}/lock")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Lock a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or **nodeBodyLock** is invalid, or a lock was attempted on a node that is not a file "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to lock **nodeId** "),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 422, message = "**nodeId** could not be locked "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry lockNode(@PathParam("nodeId") String nodeId, NodeBodyLock nodeBodyLock, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Move a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Move the node **nodeId** to the parent folder node **targetParentId**. The **targetParentId** is specified in the in request body. The moved node retains its name unless you specify a new **name** in the request body. If the source **nodeId** is a folder, then its children are also moved. The move will effectively change the primary parent.
- *
- */
- @POST
- @Path("/nodes/{nodeId}/move")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Move a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or **targetParentId** is not a folder, or **nodeBodyMove** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to move **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "New name clashes with an existing node in the destination parent folder"),
- @ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry moveNode(@PathParam("nodeId") String nodeId, NodeBodyMove nodeBodyMove, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Unlock a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes a lock on node **nodeId**. The current user must be the owner of the locks or have admin rights, otherwise an error is returned. If a lock on the node cannot be released, then an error is returned.
- *
- */
- @POST
- @Path("/nodes/{nodeId}/unlock")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Unlock a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to unlock **nodeId** "),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 422, message = "**nodeId** could not be unlocked "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry unlockNode(@PathParam("nodeId") String nodeId, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Update a node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Updates the node **nodeId**. For example, you can rename a file or folder: ```JSON { \"name\":\"My new name\" } ``` You can also set or update one or more properties: ```JSON { \"properties\": { \"cm:title\":\"Folder title\" } } ``` You can update multi-value properties of a node which supports properties of type multiple. ```JSON { \"name\":\"My Other Folder\", \"nodeType\":\"custom:destination\", \"properties\": { \"cm:title\":\"Folder title\", \"cm:description\":\"This is an important folder\", \"custom:locations\": [ \"location NewX\", \"location NewY\" ] } } ``` **Note:** setting properties of type d:content and d:category are not supported. **Note:** if you want to add or remove aspects, then you must use **GET /nodes/{nodeId}** first to get the complete set of *aspectNames*. You can add (or remove) *locallySet* permissions, if any, in addition to any inherited permissions. You can also optionally disable (or re-enable) inherited permissions via *isInheritanceEnabled* flag: ```JSON { \"permissions\": { \"isInheritanceEnabled\": false, \"locallySet\": [ {\"authorityId\": \"GROUP_special\", \"name\": \"Read\", \"accessStatus\":\"DENIED\"}, {\"authorityId\": \"testuser\", \"name\": \"Contributor\", \"accessStatus\":\"ALLOWED\"} ] } } ``` **Note:** if you want to add or remove locally set permissions then you must use **GET /nodes/{nodeId}** first to get the complete set of *locallySet* permissions. **Note:** Currently there is no optimistic locking for updates, so they are applied in \"last one wins\" order.
- *
- */
- @PUT
- @Path("/nodes/{nodeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: the update request is invalid or **nodeId** is not a valid format or **nodeBodyUpdate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "Updated name clashes with an existing node in the current parent folder"),
- @ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry updateNode(@PathParam("nodeId") String nodeId, NodeBodyUpdate nodeBodyUpdate, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Update node content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Updates the content of the node with identifier **nodeId**. The request body for this endpoint can be any text or binary stream. The **majorVersion** and **comment** parameters can be used to control versioning behaviour. If the content is versionable, a new minor version is created by default. Optionally a new **name** parameter can also be specified that must be unique within the parent folder. If specified and valid then this will rename the node. If invalid then an error is returned and the content is not updated. **Note:** This API method accepts any content type, but for testing with this tool text based content can be provided. This is because the OpenAPI Specification does not allow a wildcard to be provided or the ability for tooling to accept an arbitrary file.
- *
- */
- @PUT
- @Path("/nodes/{nodeId}/content")
- @Consumes({ "application/octet-stream" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update node content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "Optional new name clashes with an existing node in the current parent folder"),
- @ApiResponse(code = 413, message = "Content exceeds individual file size limit (configured for network/system)"),
- @ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
- @ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network/system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry updateNodeContent(@PathParam("nodeId") String nodeId, byte[] contentBodyUpdate, @QueryParam("majorVersion")@DefaultValue("false") Boolean majorVersion, @QueryParam("comment")String comment, @QueryParam("name")String name, @QueryParam("include")List include, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/PeopleApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/PeopleApi.java
deleted file mode 100644
index 0daf036..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/PeopleApi.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.ClientBody;
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.PasswordResetBody;
-import com.inteligr8.alfresco.acs.model.PersonBodyCreate;
-import com.inteligr8.alfresco.acs.model.PersonBodyUpdate;
-import com.inteligr8.alfresco.acs.model.PersonEntry;
-import com.inteligr8.alfresco.acs.model.PersonPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface PeopleApi {
-
- /**
- * Create person
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a person. If applicable, the given person's login access can also be optionally disabled. You must have admin rights to create a person. You can set custom properties when you create a person: ```JSON { \"id\": \"abeecher\", \"firstName\": \"Alice\", \"lastName\": \"Beecher\", \"displayName\": \"Alice Beecher\", \"email\": \"abeecher@example.com\", \"password\": \"secret\", \"properties\": { \"my:property\": \"The value\" } } ``` **Note:** setting properties of type d:content and d:category are not supported.
- *
- */
- @POST
- @Path("/people")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create person", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = PersonEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **personBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to create a person"),
- @ApiResponse(code = 409, message = "Person within given *id* already exists"),
- @ApiResponse(code = 422, message = "Model integrity exception"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonEntry createPerson(PersonBodyCreate personBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete avatar image
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Deletes the avatar image related to person **personId**. You must be the person or have admin rights to update a person's avatar. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/people/{personId}/avatar")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete avatar image", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete the avatar image for **personId**"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteAvatarImage(@PathParam("personId") String personId);
-
- /**
- * Get avatar image
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets the avatar image related to the person **personId**. If the person has no related avatar then the **placeholder** query parameter can be optionally used to request a placeholder image to be returned. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/avatar")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get avatar image", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **personId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist or avatar does not exist (and no placeholder requested) "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getAvatarImage(@PathParam("personId") String personId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @QueryParam("placeholder")@DefaultValue("true") Boolean placeholder);
-
- /**
- * Get a person
- *
- * Gets information for the person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a person", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonEntry getPerson(@PathParam("personId") String personId, @QueryParam("fields")List fields);
-
- /**
- * List people
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. List people. You can use the **include** parameter to return any additional information. The default sort order for the returned list is for people to be sorted by ascending id. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * id * firstName * lastName
- *
- */
- @GET
- @Path("/people")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List people", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonPaging listPeople(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Request password reset
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Initiates the reset password workflow to send an email with reset password instruction to the user's registered email. The client is mandatory in the request body. For example: ```JSON { \"client\": \"myClient\" } ``` **Note:** The client must be registered before this API can send an email. See [server documentation]. However, out-of-the-box share is registered as a default client, so you could pass **share** as the client name: ```JSON { \"client\": \"share\" } ``` **Note:** No authentication is required to call this endpoint.
- *
- */
- @POST
- @Path("/people/{personId}/request-password-reset")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Request password reset", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "Successful response or even when the **personId** does not exist or the user is disabled by an Administrator "),
- @ApiResponse(code = 404, message = "**client** is not registered ") })
- public void requestPasswordReset(@PathParam("personId") String personId, ClientBody clientBody);
-
- /**
- * Reset password
- *
- * **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Resets user's password The password, id and key properties are mandatory in the request body. For example: ```JSON { \"password\":\"newPassword\", \"id\":\"activiti$10\", \"key\":\"4dad6d00-0daf-413a-b200-f64af4e12345\" } ``` **Note:** No authentication is required to call this endpoint.
- *
- */
- @POST
- @Path("/people/{personId}/reset-password")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Reset password", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "Successful response or even when no workflow instance is found with the given **id** or the workflow instance is invalid (already been used or expired) or the given **personId** does not match the person's id requesting the password reset or the given workflow **key** does not match the recovered key. "),
- @ApiResponse(code = 400, message = "Invalid parameter: Value of **password**, **id** or **key** is invalid ") })
- public void resetPassword(@PathParam("personId") String personId, PasswordResetBody passwordResetBody);
-
- /**
- * Update avatar image
- *
- * **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Updates the avatar image related to the person **personId**. The request body should be the binary stream for the avatar image. The content type of the file should be an image file. This will be used to generate an \"avatar\" thumbnail rendition. You must be the person or have admin rights to update a person's avatar. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @PUT
- @Path("/people/{personId}/avatar")
- @Consumes({ "application/octet-stream" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update avatar image", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **personId** is not a valid format or the avatar cannot be uploaded "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update the avatar image for **personId**"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 413, message = "Content exceeds individual file size limit (configured for network/system)"),
- @ApiResponse(code = 501, message = "Renditions/thumbnails are disabled for the system"),
- @ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network/system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void updateAvatarImage(@PathParam("personId") String personId, byte[] contentBodyUpdate);
-
- /**
- * Update person
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Update the given person's details. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. If applicable, the given person's login access can also be optionally disabled or re-enabled. You must have admin rights to update a person — unless updating your own details. If you are changing your password, as a non-admin user, then the existing password must also be supplied (using the oldPassword field in addition to the new password value). Admin users cannot be disabled by setting enabled to false. Non-admin users may not disable themselves. You can set custom properties when you update a person: ```JSON { \"firstName\": \"Alice\", \"properties\": { \"my:property\": \"The value\" } } ``` **Note:** setting properties of type d:content and d:category are not supported.
- *
- */
- @PUT
- @Path("/people/{personId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update person", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: the update request is invalid or **personId** is not a valid format or **personBodyUpdate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update a person"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 422, message = "Model integrity exception"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonEntry updatePerson(@PathParam("personId") String personId, PersonBodyUpdate personBodyUpdate, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/PreferencesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/PreferencesApi.java
deleted file mode 100644
index 11eabef..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/PreferencesApi.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.PreferenceEntry;
-import com.inteligr8.alfresco.acs.model.PreferencePaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface PreferencesApi {
-
- /**
- * Get a preference
- *
- * Gets a specific preference for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/preferences/{preferenceName}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a preference", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PreferenceEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the preferences for **personId**"),
- @ApiResponse(code = 404, message = "**personId** or **preferenceName** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PreferenceEntry getPreference(@PathParam("personId") String personId, @PathParam("preferenceName") String preferenceName, @QueryParam("fields")List fields);
-
- /**
- * List preferences
- *
- * Gets a list of preferences for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. Note that each preference consists of an **id** and a **value**. The **value** can be of any JSON type.
- *
- */
- @GET
- @Path("/people/{personId}/preferences")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List preferences", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PreferencePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have access to the preferences for **personId**"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PreferencePaging listPreferences(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/ProbesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/ProbesApi.java
deleted file mode 100644
index 69c6b28..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/ProbesApi.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.ProbeEntry;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface ProbesApi {
-
- /**
- * Check readiness and liveness of the repository
- *
- * **Note:** this endpoint is available in Alfresco 6.0 and newer versions. Returns a status of 200 to indicate success and 503 for failure. The readiness probe is normally only used to check repository startup. The liveness probe should then be used to check the repository is still responding to requests. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/probes/{probeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Check readiness and liveness of the repository", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ProbeEntry.class),
- @ApiResponse(code = 404, message = "**probeId** does not exist "),
- @ApiResponse(code = 503, message = "Service Unavailable - Probe failure status."),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ProbeEntry getProbe(@PathParam("probeId") String probeId);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/QueriesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/QueriesApi.java
deleted file mode 100644
index a6ca453..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/QueriesApi.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.NodePaging;
-import com.inteligr8.alfresco.acs.model.PersonPaging;
-import com.inteligr8.alfresco.acs.model.SitePaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface QueriesApi {
-
- /**
- * Find nodes
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of nodes that match the given search criteria. The search term is used to look for nodes that match against name, title, description, full text content or tags. The search term: - must contain a minimum of 3 alphanumeric characters - allows \"quoted term\" - can optionally use '*' for wildcard matching By default, file and folder types will be searched unless a specific type is provided as a query parameter. By default, the search will be across the repository unless a specific root node id is provided to start the search from. You can sort the result list using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * name * modifiedAt * createdAt
- *
- */
- @GET
- @Path("/queries/nodes")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Find nodes", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **nodeType** unknown, or **orderBy** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**rootNodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodePaging findNodes(@QueryParam("term")String term, @QueryParam("rootNodeId")String rootNodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("nodeType")String nodeType, @QueryParam("include")List include, @QueryParam("orderBy")List orderBy, @QueryParam("fields")List fields);
-
- /**
- * Find people
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of people that match the given search criteria. The search term is used to look for matches against person id, firstname and lastname. The search term: - must contain a minimum of 2 alphanumeric characters - can optionally use '*' for wildcard matching within the term You can sort the result list using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * firstName * lastName
- *
- */
- @GET
- @Path("/queries/people")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Find people", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = PersonPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **orderBy** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public PersonPaging findPeople(@QueryParam("term")String term, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields, @QueryParam("orderBy")List orderBy);
-
- /**
- * Find sites
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of sites that match the given search criteria. The search term is used to look for sites that match against site id, title or description. The search term: - must contain a minimum of 2 alphanumeric characters - can optionally use '*' for wildcard matching within the term The default sort order for the returned list is for sites to be sorted by ascending id. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * description
- *
- */
- @GET
- @Path("/queries/sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Find sites", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **orderBy** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SitePaging findSites(@QueryParam("term")String term, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/RatingsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/RatingsApi.java
deleted file mode 100644
index a00d5e1..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/RatingsApi.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.RatingBody;
-import com.inteligr8.alfresco.acs.model.RatingEntry;
-import com.inteligr8.alfresco.acs.model.RatingPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface RenditionsApi {
-
- /**
- * Create rendition
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. An asynchronous request to create a rendition for file **nodeId**. The rendition is specified by name **id** in the request body: ```JSON { \"id\":\"doclib\" } ``` Multiple names may be specified as a comma separated list or using a list format: ```JSON [ { \"id\": \"doclib\" }, { \"id\": \"avatar\" } ] ```
- *
- */
- @POST
- @Path("/nodes/{nodeId}/renditions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create rendition", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "Request accepted"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or is not a file or **renditionBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 409, message = "All requested renditions already exist"),
- @ApiResponse(code = 501, message = "Renditions/thumbnails are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void createRendition(@PathParam("nodeId") String nodeId, RenditionBodyCreate renditionBodyCreate);
-
- /**
- * Get rendition information
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition information for **renditionId** of file **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/renditions/{renditionId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get rendition information", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionEntry getRendition(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId);
-
- /**
- * Get rendition content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for **renditionId** of file **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/renditions/{renditionId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get rendition content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getRenditionContent(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range, @QueryParam("placeholder")@DefaultValue("false") Boolean placeholder);
-
- /**
- * List renditions
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for each rendition of the the file **nodeId**, including the rendition id. Each rendition returned has a **status**: CREATED means it is available to view or download, NOT_CREATED means the rendition can be requested. You can use the **where** parameter to filter the returned renditions by **status**. For example, the following **where** clause will return just the CREATED renditions: ``` (status='CREATED') ```
- *
- */
- @GET
- @Path("/nodes/{nodeId}/renditions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List renditions", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, is not a file, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionPaging listRenditions(@PathParam("nodeId") String nodeId, @QueryParam("where")String where);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/SearchApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/SearchApi.java
deleted file mode 100644
index bfa1bbf..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/SearchApi.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.ResultSetPaging;
-import com.inteligr8.alfresco.acs.model.SearchRequest;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Search API** Provides access to the search features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/search/versions/1")
-@Api(value = "/api/-default-/public/search/versions/1", description = "")
-public interface SearchApi {
-
- /**
- * Searches Alfresco
- *
- * **Note**: this endpoint is available in Alfresco 5.2 and newer versions. **You specify all the parameters in this API in a JSON body**, URL parameters are not supported. A basic query looks like this: ```JSON { \"query\": { \"query\": \"foo\" } } ``` **Note:** These are the minimum possible query parameters. The default search language is **afts** ([Alfresco Full Text Search](http://docs.alfresco.com/5.1/concepts/rm-searchsyntax-intro.html)), but you can also specify **cmis**, and **lucene**. A basic CMIS query looks like this: ```JSON { \"query\": { \"query\": \"select * from cmis:folder\", \"language\": \"cmis\" } } ``` By default, **results are limited to the first 100.** Results can be restricted using \"paging\". For example: ```JSON \"paging\": { \"maxItems\": \"50\", \"skipCount\": \"28\" } ``` This example would ensure that results are **limited by Final Size**, skipping the first 28 results and returning the next 50. Alternatively, you can limit the results by using the **limits JSON body parameter**. For example, ```JSON \"limits\": { \"permissionEvaluationTime\": 20000, \"permissionEvaluationCount\": 2000 } ``` You can use the **include JSON body parameter** to return additional information. This works in the same way as in the /nodes/{nodeId}/children method in the core API. For example: ```JSON \"include\": [\"aspectNames\", \"properties\", \"isLink\"] ``` You can use the **fields JSON body parameter** to restrict the fields returned within a response if, for example, you want to save on overall bandwidth. This works in the same way as in the /nodes/{nodeId}/children method in the core API. For example: ```JSON \"fields\": [\"id\", \"name\", \"search\"] ``` You can sort the results using the **sort JSON body parameter**, for example: ```JSON \"sort\": [{\"type\":\"FIELD\", \"field\":\"cm:description\", \"ascending\":\"true\"}] ``` **Note:** the **sort** parameter is not supported for CMIS queries. By default, search uses the **\"nodes\" location**, which is the **content store known as workspace://SpacesStore**. To change the scope to another location you can use the **locations JSON body parameter**. You can specify either **nodes** (the default), **versions** or **deleted-nodes**. For example: ```JSON \"scope\": { \"locations\": [\"deleted-nodes\"] } ``` You can specify templates using the **templates JSON body parameter**, for example: ```JSON \"templates\": [{\"name\": \"_PERSON\",\"template\": \"|%firstName OR |%lastName OR |%userName\"}, {\"name\": \"mytemplate\",\"template\": \"%cm:content\"}] ``` **Note: Spell checking only works on Search Services (Solr 6) if you have already enabled suggestions.** For **spell checking** you can use a query like this: ```JSON { \"query\": { \"query\": \"cm:title:alfrezco\" }, \"spellcheck\": {\"query\": \"alfrezco\"} } ``` If you are already specifying \"userQuery\" then the following may be easier and produces the same result : ```JSON { \"query\": { \"query\": \"cm:title:alfrezco\", \"userQuery\": \"alfrezco\" }, \"spellcheck\": {} } ``` The spellcheck response includes a spellCheck context like this: ```JSON \"context\": { \"spellCheck\": { \"type\": \"searchInsteadFor\", \"suggestions\": [\"alfresco\"] } }, ``` To specify defaults, you use a **defaults JSON body parameter**, for example: ```JSON \"defaults\": { \"textAttributes\": [ \"cm:content\", \"cm:name\" ], \"defaultFTSOperator\": \"AND\", \"defaultFTSFieldOperator\": \"OR\", \"namespace\": \"cm\", \"defaultFieldName\": \"PATH\" } ``` You can specify several filter queries using the **filterQueries JSON body parameter**, for example: ```JSON \"filterQueries\": [{\"query\": \"TYPE:'cm:folder'\"},{\"query\": \"cm:creator:mjackson\"}] ``` You can specify several facet queries using the **facetQueries JSON body parameter**, for example: ```JSON \"facetQueries\": [{\"query\": \"created:2016\",\"label\": \"CreatedThisYear\"}] ``` The response will contain a matching \"context\" section, the \"label\" will match the facet query. ```JSON \"context\": { \"facetQueries\": [ {\"label\": \"CreatedThisYear\",\"count\": 3} ] }, ``` A complete query for facetting via the content.size field looks this: ```JSON { \"query\": { \"query\": \"presentation\", \"language\": \"afts\" }, \"facetQueries\": [ {\"query\": \"content.size:[0 TO 10240]\", \"label\": \"xtra small\"}, {\"query\": \"content.size:[10240 TO 102400]\", \"label\": \"small\"}, {\"query\": \"content.size:[102400 TO 1048576]\", \"label\": \"medium\"}, {\"query\": \"content.size:[1048576 TO 16777216]\", \"label\": \"large\"}, {\"query\": \"content.size:[16777216 TO 134217728]\", \"label\": \"xtra large\"}, {\"query\": \"content.size:[134217728 TO MAX]\", \"label\": \"XX large\"} ], \"facetFields\": {\"facets\": [{\"field\": \"'content.size'\"}]} } ``` The response will contain a matching \"context\" section, the \"label\" will match the facet query. ```JSON \"context\": { \"facetQueries\": [ { \"label\": \"small\",\"count\": 2 }, { \"label\": \"large\",\"count\": 0 }, { \"label\": \"xtra small\",\"count\": 5 }, { \"label\": \"xtra large\",\"count\": 56}, { \"label\": \"medium\",\"count\": 4 }, { \"label\": \"XX large\", \"count\": 1 } ] }, ``` You can specify several facet fields using the **facetFields JSON body parameter**, for example: ```JSON \"facetFields\": {\"facets\": [{\"field\": \"creator\", \"mincount\": 1}, {\"field\": \"modifier\", \"mincount\": 1}]} ``` The response will contain a matching \"context\" section, the \"label\" will match the facet field. ```JSON \"context\": { \"facetsFields\": [ { \"label\": \"creator\", \"buckets\": [ { \"label\": \"System\", \"count\": 75 }, { \"label\": \"mjackson\", \"count\": 5 } ]}, { \"label\": \"modifier\", \"buckets\": [ { \"label\": \"System\", \"count\": 72 }, { \"label\": \"mjackson\", \"count\": 5 }, { \"label\": \"admin\", \"count\": 3 } ]} ] }, ``` Grouping facet queries that go together can be done by specifying the group label in the fact queries as follow: ```JSON { \"query\": { \"query\": \"presentation\" }, \"facetQueries\": [ {\"query\": \"content.size:[0 TO 102400]\", \"label\": \"small\", \"group\":\"foo\"}, {\"query\": \"content.size:[102400 TO 1048576]\", \"label\": \"medium\",\"group\":\"foo\"}, {\"query\": \"content.size:[1048576 TO 16777216]\", \"label\": \"large\",\"group\":\"foo\"} ] } ``` The above query returns the results a faceted field grouped under the label foo: ```JSON { \"context\": {\"facetsFields\": [{ \"label\": \"foo\", \"buckets\": [ { \"count\": 109, \"label\": \"small\", \"filterQuery\": \"content.size:[0 TO 102400]\" }, { \"count\": 0, \"label\": \"large\", \"filterQuery\": \"content.size:[1048576 TO 16777216]\" }, { \"count\": 0, \"label\": \"medium\", \"filterQuery\": \"content.size:[102400 TO 1048576]\" } ] }] } ``` Range Faceting is supported by the **ranges JSON body parameter**, for example: ```JSON { \"query\": { \"query\": \"presentation\" }, \"ranges\": [ { \"field\": \"content.size\", \"start\": \"0\", \"end\": \"100\", \"gap\": \"20\", \"hardend\": true }, { \"field\": \"created\", \"start\": \"2015-09-29T10:45:15.729Z\", \"end\": \"2016-09-29T10:45:15.729Z\", \"gap\": \"+100DAY\" }] } ``` An example query for **search highlighting** could look like this: ```JSON { \"query\": { \"query\": \"description:workflow\", \"userQuery\":\"workflow\" }, \"highlight\": { \"prefix\": \"¿\", \"postfix\": \"?\", \"mergeContiguous\": true, \"fields\": [ { \"field\": \"cm:title\" }, { \"field\": \"description\", \"prefix\": \"(\", \"postfix\": \")\" } ] } } ``` The example above changes the highlighting prefix and postfix from the default `<em>` for all fields to ¿? and just for the \"description\" field to (). The hightlight information is added in each node entry response; here is an example partial response: ``` \"entry\": { \"createdAt\": \"2016-10-12T15:24:31.202+0000\", \"isFolder\": true, \"search\": { \"score\": 1, \"highlight\": [ { \"field\": \"cm:title\", \"snippets\": [ \"Customized ¿Workflow? Process Definitions\" ] }, { \"field\": \"description\", \"snippets\": [ \"Customized (Workflow) Process Definitions\" ] } ] }, ``` **Note**: after the migration to Swagger UI 3, this API definition was triggering some warnings, more info in [this StackOverflow Q&A](https://stackoverflow.com/q/65584131/1654265).
- *
- */
- @POST
- @Path("/search")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Searches Alfresco", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = ResultSetPaging.class),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public ResultSetPaging search(SearchRequest queryBody);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/SharedLinksApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/SharedLinksApi.java
deleted file mode 100644
index 028c7f6..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/SharedLinksApi.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.RenditionEntry;
-import com.inteligr8.alfresco.acs.model.RenditionPaging;
-import com.inteligr8.alfresco.acs.model.SharedLinkBodyCreate;
-import com.inteligr8.alfresco.acs.model.SharedLinkBodyEmail;
-import com.inteligr8.alfresco.acs.model.SharedLinkEntry;
-import com.inteligr8.alfresco.acs.model.SharedLinkPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface SharedLinksApi {
-
- /**
- * Create a shared link to a file
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a shared link to the file **nodeId** in the request body. Also, an optional expiry date could be set, so the shared link would become invalid when the expiry date is reached. For example: ```JSON { \"nodeId\": \"1ff9da1a-ee2f-4b9c-8c34-3333333333\", \"expiresAt\": \"2017-03-23T23:00:00.000+0000\" } ``` **Note:** You can create shared links to more than one file specifying a list of **nodeId**s in the JSON body like this: ```JSON [ { \"nodeId\": \"1ff9da1a-ee2f-4b9c-8c34-4444444444\" }, { \"nodeId\": \"1ff9da1a-ee2f-4b9c-8c34-5555555555\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/shared-links")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a shared link to a file", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SharedLinkEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or does not identify a file, or **sharedLinkBodyCreate** invalid, or the specified expiry date is invalid. E.g. the expiry date has already passed "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to create **sharedId** (for example, no read permission)"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 409, message = "Shared link already exists for **nodeId**"),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SharedLinkEntry createSharedLink(SharedLinkBodyCreate sharedLinkBodyCreate, @QueryParam("include")List include, @QueryParam("fields")List fields);
-
- /**
- * Deletes a shared link
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes the shared link with identifier **sharedId**.
- *
- */
- @DELETE
- @Path("/shared-links/{sharedId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Deletes a shared link", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete **sharedId**"),
- @ApiResponse(code = 404, message = "**sharedId** does not exist "),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSharedLink(@PathParam("sharedId") String sharedId);
-
- /**
- * Email shared link
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Sends email with app-specific url including identifier **sharedId**. The client and recipientEmails properties are mandatory in the request body. For example, to email a shared link with minimum info: ```JSON { \"client\": \"myClient\", \"recipientEmails\": [\"john.doe@acme.com\", \"joe.bloggs@acme.com\"] } ``` A plain text message property can be optionally provided in the request body to customise the sent email. Also, a locale property can be optionally provided in the request body to send the emails in a particular language (if the locale is supported by Alfresco). For example, to email a shared link with a messages and a locale: ```JSON { \"client\": \"myClient\", \"recipientEmails\": [\"john.doe@acme.com\", \"joe.bloggs@acme.com\"], \"message\": \"myMessage\", \"locale\":\"en-GB\" } ``` **Note:** The client must be registered before you can send a shared link email. See [server documentation]. However, out-of-the-box share is registered as a default client, so you could pass **share** as the client name: ```JSON { \"client\": \"share\", \"recipientEmails\": [\"john.doe@acme.com\"] } ```
- *
- */
- @POST
- @Path("/shared-links/{sharedId}/email")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Email shared link", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 202, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format or **sharedLinkBodyEmail** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**sharedId** does not exist or **client** is not registered "),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void emailSharedLink(@PathParam("sharedId") String sharedId, SharedLinkBodyEmail sharedLinkBodyEmail);
-
- /**
- * Get a shared link
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets minimal information for the file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/shared-links/{sharedId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a shared link", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SharedLinkEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
- @ApiResponse(code = 404, message = "**sharedId** does not exist "),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SharedLinkEntry getSharedLink(@PathParam("sharedId") String sharedId, @QueryParam("fields")List fields);
-
- /**
- * Get shared link content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the content of the file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/shared-links/{sharedId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get shared link content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
- @ApiResponse(code = 404, message = "**sharedId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable"),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getSharedLinkContent(@PathParam("sharedId") String sharedId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
-
- /**
- * Get shared link rendition information
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets rendition information for the file with shared link identifier **sharedId**. This API method returns rendition information where the rendition status is CREATED, which means the rendition is available to view/download. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/shared-links/{sharedId}/renditions/{renditionId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get shared link rendition information", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format, or **renditionId** is invalid "),
- @ApiResponse(code = 404, message = "**sharedId** or **renditionId** does not exist (ie. not CREATED) "),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionEntry getSharedLinkRendition(@PathParam("sharedId") String sharedId, @PathParam("renditionId") String renditionId);
-
- /**
- * Get shared link rendition content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/shared-links/{sharedId}/renditions/{renditionId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get shared link rendition content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format, or **renditionId** is invalid "),
- @ApiResponse(code = 404, message = "**sharedId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable"),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getSharedLinkRenditionContent(@PathParam("sharedId") String sharedId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
-
- /**
- * List renditions for a shared link
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for the file with shared link identifier **sharedId**. This API method returns rendition information, including the rendition id, for each rendition where the rendition status is CREATED, which means the rendition is available to view/download. **Note:** No authentication is required to call this endpoint.
- *
- */
- @GET
- @Path("/shared-links/{sharedId}/renditions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List renditions for a shared link", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
- @ApiResponse(code = 404, message = "**sharedId** does not exist "),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionPaging listSharedLinkRenditions(@PathParam("sharedId") String sharedId);
-
- /**
- * List shared links
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Get a list of links that the current user has read permission on source node. The list is ordered in descending modified order. **Note:** The list of links is eventually consistent so newly created shared links may not appear immediately.
- *
- */
- @GET
- @Path("/shared-links")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List shared links", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SharedLinkPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 501, message = "Shared links are disabled for the system"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SharedLinkPaging listSharedLinks(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List include, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/SitesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/SitesApi.java
deleted file mode 100644
index c16d73f..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/SitesApi.java
+++ /dev/null
@@ -1,575 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.SiteBodyCreate;
-import com.inteligr8.alfresco.acs.model.SiteBodyUpdate;
-import com.inteligr8.alfresco.acs.model.SiteContainerEntry;
-import com.inteligr8.alfresco.acs.model.SiteContainerPaging;
-import com.inteligr8.alfresco.acs.model.SiteEntry;
-import com.inteligr8.alfresco.acs.model.SiteGroupEntry;
-import com.inteligr8.alfresco.acs.model.SiteGroupPaging;
-import com.inteligr8.alfresco.acs.model.SiteMemberEntry;
-import com.inteligr8.alfresco.acs.model.SiteMemberPaging;
-import com.inteligr8.alfresco.acs.model.SiteMembershipApprovalBody;
-import com.inteligr8.alfresco.acs.model.SiteMembershipBodyCreate;
-import com.inteligr8.alfresco.acs.model.SiteMembershipBodyUpdate;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRejectionBody;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRequestBodyCreate;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRequestBodyUpdate;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRequestEntry;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRequestPaging;
-import com.inteligr8.alfresco.acs.model.SiteMembershipRequestWithPersonPaging;
-import com.inteligr8.alfresco.acs.model.SitePaging;
-import com.inteligr8.alfresco.acs.model.SiteRoleEntry;
-import com.inteligr8.alfresco.acs.model.SiteRolePaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface SitesApi {
-
- /**
- * Approve a site membership request
- *
- * Approve a site membership request.
- *
- */
- @POST
- @Path("/sites/{siteId}/site-membership-requests/{inviteeId}/approve")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Approve a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **siteId** or **inviteeId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to approve membership request"),
- @ApiResponse(code = 404, message = "**siteId** or **inviteeId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception or not allowed to approve membership request. "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void approveSiteMembershipRequest(@PathParam("siteId") String siteId, @PathParam("inviteeId") String inviteeId, SiteMembershipApprovalBody siteMembershipApprovalBody);
-
- /**
- * Create a site
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Creates a default site with the given details. Unless explicitly specified, the site id will be generated from the site title. The site id must be unique and only contain alphanumeric and/or dash characters. Note: the id of a site cannot be updated once the site has been created. For example, to create a public site called \"Marketing\" the following body could be used: ```JSON { \"title\": \"Marketing\", \"visibility\": \"PUBLIC\" } ``` The creation of the (surf) configuration files required by Share can be skipped via the **skipConfiguration** query parameter. **Note:** if skipped then such a site will **not** work within Share. The addition of the site to the user's site favorites can be skipped via the **skipAddToFavorites** query parameter. The creator will be added as a member with Site Manager role. When you create a site, a container called **documentLibrary** is created for you in the new site. This container is the root folder for content stored in the site.
- *
- */
- @POST
- @Path("/sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = SiteEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **id**, **title**, or **description** exceed the maximum length; or **id** contains invalid characters; or **siteBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 409, message = "Site with the given identifier already exists"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteEntry createSite(SiteBodyCreate siteBodyCreate, @QueryParam("skipConfiguration")@DefaultValue("false") Boolean skipConfiguration, @QueryParam("skipAddToFavorites")@DefaultValue("false") Boolean skipAddToFavorites, @QueryParam("fields")List fields);
-
- /**
- * Create a site membership for group
- *
- * **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Creates a site membership for group **groupId** on site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager **Note:** You can create more than one site membership by specifying a list of group in the JSON body like this: ```JSON [ { \"role\": \"SiteConsumer\", \"id\": \"authorityId\" }, { \"role\": \"SiteConsumer\", \"id\": \"authorityId\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/sites/{siteId}/group-members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a site membership for group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = SiteGroupEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **role** or **id** is invalid or **siteMembershipBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to invite a Group"),
- @ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
- @ApiResponse(code = 409, message = "Group with this **id** is already a member"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteGroupEntry createSiteGroupMembership(@PathParam("siteId") String siteId, SiteMembershipBodyCreate siteMembershipBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Create a site membership
- *
- * Creates a site membership for person **personId** on site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager **Note:** You can create more than one site membership by specifying a list of people in the JSON body like this: ```JSON [ { \"role\": \"SiteConsumer\", \"id\": \"joe\" }, { \"role\": \"SiteConsumer\", \"id\": \"fred\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/sites/{siteId}/members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = SiteMemberEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **role** or **id** is invalid or **siteMembershipBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to invite a person"),
- @ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
- @ApiResponse(code = 409, message = "Person with this **id** is already a member"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMemberEntry createSiteMembership(@PathParam("siteId") String siteId, SiteMembershipBodyCreate siteMembershipBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Create a site membership request
- *
- * Create a site membership request for yourself on the site with the identifier of **id**, specified in the JSON body. The result of the request differs depending on the type of site. * For a **public** site, you join the site immediately as a SiteConsumer. * For a **moderated** site, your request is added to the site membership request list. The request waits for approval from the Site Manager. * You cannot request membership of a **private** site. Members are invited by the site administrator. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. **Note:** You can create site membership requests for more than one site by specifying a list of sites in the JSON body like this: ```JSON [ { \"message\": \"Please can you add me\", \"id\": \"test-site-1\", \"title\": \"Request for test site 1\", }, { \"message\": \"Please can you add me\", \"id\": \"test-site-2\", \"title\": \"Request for test site 2\", } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/people/{personId}/site-membership-requests")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = SiteMembershipRequestEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **id** is invalid, or the user is already invited, or **siteMembershipRequestBodyCreate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **id** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMembershipRequestEntry createSiteMembershipRequestForPerson(@PathParam("personId") String personId, SiteMembershipRequestBodyCreate siteMembershipRequestBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete a site
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes the site with **siteId**.
- *
- */
- @DELETE
- @Path("/sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to delete the site that is visible to them."),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSite(@PathParam("siteId") String siteId, @QueryParam("permanent")@DefaultValue("false") Boolean permanent);
-
- /**
- * Delete a group membership for site
- *
- * **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Deletes group **groupId** as a member of site **siteId**.
- *
- */
- @DELETE
- @Path("/sites/{siteId}/group-members/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a group membership for site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to delete groupId"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId);
-
- /**
- * Delete a site membership
- *
- * Deletes person **personId** as a member of site **siteId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/sites/{siteId}/members/{personId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to delete member"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId);
-
- /**
- * Delete a site membership
- *
- * Deletes person **personId** as a member of site **siteId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/people/{personId}/sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSiteMembershipForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
-
- /**
- * Delete a site membership request
- *
- * Deletes the site membership request to site **siteId** for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @DELETE
- @Path("/people/{personId}/site-membership-requests/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
-
- /**
- * Get a site
- *
- * Gets information for site **siteId**. You can use the **relations** parameter to include one or more related entities in a single response and so reduce network traffic. The entity types in Alfresco are organized in a tree structure. The **sites** entity has two children, **containers** and **members**. The following relations parameter returns all the container and member objects related to the site **siteId**: ``` containers,members ```
- *
- */
- @GET
- @Path("/sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteEntry getSite(@PathParam("siteId") String siteId, @QueryParam("relations")List relations, @QueryParam("fields")List fields);
-
- /**
- * Get a site container
- *
- * Gets information on the container **containerId** in site **siteId**.
- *
- */
- @GET
- @Path("/sites/{siteId}/containers/{containerId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a site container", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteContainerEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **containerId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteContainerEntry getSiteContainer(@PathParam("siteId") String siteId, @PathParam("containerId") String containerId, @QueryParam("fields")List fields);
-
- /**
- * Get information about site membership of group
- *
- * **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets site membership information for group **groupId** on site **siteId**.
- *
- */
- @GET
- @Path("/sites/{siteId}/group-members/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get information about site membership of group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteGroupEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteGroupEntry getSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId, @QueryParam("fields")List fields);
-
- /**
- * Get a site membership
- *
- * Gets site membership information for person **personId** on site **siteId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/sites/{siteId}/members/{personId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMemberEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMemberEntry getSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId, @QueryParam("fields")List fields);
-
- /**
- * Get a site membership
- *
- * Gets site membership information for person **personId** on site **siteId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteRoleEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteRoleEntry getSiteMembershipForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
-
- /**
- * Get a site membership request
- *
- * Gets the site membership request for site **siteId** for person **personId**, if one exists. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/site-membership-requests/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMembershipRequestEntry getSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId, @QueryParam("fields")List fields);
-
- /**
- * Get site membership requests
- *
- * Get the list of site membership requests the user can action. You can use the **where** parameter to filter the returned site membership requests by **siteId**. For example: ``` (siteId=mySite) ``` The **where** parameter can also be used to filter by ***personId***. For example: ``` where=(personId=person) ``` This may be combined with the siteId filter, as shown below: ``` where=(siteId=mySite AND personId=person)) ```
- *
- */
- @GET
- @Path("/site-membership-requests")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get site membership requests", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestWithPersonPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMembershipRequestWithPersonPaging getSiteMembershipRequests(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("fields")List fields);
-
- /**
- * List site containers
- *
- * Gets a list of containers for the site **siteId**.
- *
- */
- @GET
- @Path("/sites/{siteId}/containers")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List site containers", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteContainerPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteContainerPaging listSiteContainers(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * List group membership for site
- *
- * **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets a list of group membership for site **siteId**.
- *
- */
- @GET
- @Path("/sites/{siteId}/group-members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List group membership for site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteGroupPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteGroupPaging listSiteGroups(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * List site membership requests
- *
- * Gets a list of the current site membership requests for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @GET
- @Path("/people/{personId}/site-membership-requests")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List site membership requests", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMembershipRequestPaging listSiteMembershipRequestsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * List site memberships
- *
- * Gets a list of site memberships for site **siteId**.
- *
- */
- @GET
- @Path("/sites/{siteId}/members")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List site memberships", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMemberPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMemberPaging listSiteMemberships(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields, @QueryParam("where")String where);
-
- /**
- * List site memberships
- *
- * Gets a list of site membership information for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. You can use the **where** parameter to filter the returned sites by **visibility** or site **preset**. Example to filter by **visibility**, use any one of: ``` (visibility='PRIVATE') (visibility='PUBLIC') (visibility='MODERATED') ``` Example to filter by site **preset**: ``` (preset='site-dashboard') ``` The default sort order for the returned list is for sites to be sorted by ascending title. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * role
- *
- */
- @GET
- @Path("/people/{personId}/sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List site memberships", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteRolePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteRolePaging listSiteMembershipsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("relations")List relations, @QueryParam("fields")List fields, @QueryParam("where")String where);
-
- /**
- * List sites
- *
- * Gets a list of sites in this repository. You can use the **where** parameter to filter the returned sites by **visibility** or site **preset**. Example to filter by **visibility**, use any one of: ``` (visibility='PRIVATE') (visibility='PUBLIC') (visibility='MODERATED') ``` Example to filter by site **preset**: ``` (preset='site-dashboard') ``` The default sort order for the returned list is for sites to be sorted by ascending title. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * description You can use the **relations** parameter to include one or more related entities in a single response and so reduce network traffic. The entity types in Alfresco are organized in a tree structure. The **sites** entity has two children, **containers** and **members**. The following relations parameter returns all the container and member objects related to each site: ``` containers,members ```
- *
- */
- @GET
- @Path("/sites")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List sites", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SitePaging listSites(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List orderBy, @QueryParam("relations")List relations, @QueryParam("fields")List fields, @QueryParam("where")String where);
-
- /**
- * Reject a site membership request
- *
- * Reject a site membership request.
- *
- */
- @POST
- @Path("/sites/{siteId}/site-membership-requests/{inviteeId}/reject")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Reject a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **siteId** or **inviteeId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to reject membership request"),
- @ApiResponse(code = 404, message = "**siteId** or **inviteeId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception or not allowed to reject membership request. "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void rejectSiteMembershipRequest(@PathParam("siteId") String siteId, @PathParam("inviteeId") String inviteeId, SiteMembershipRejectionBody siteMembershipRejectionBody);
-
- /**
- * Update a site
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Update the details for the given site **siteId**. Site Manager or otherwise a (site) admin can update title, description or visibility. Note: the id of a site cannot be updated once the site has been created.
- *
- */
- @PUT
- @Path("/sites/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a site", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **siteBodyUpdate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to update the site that is visible to them."),
- @ApiResponse(code = 404, message = "**siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteEntry updateSite(@PathParam("siteId") String siteId, SiteBodyUpdate siteBodyUpdate, @QueryParam("fields")List fields);
-
- /**
- * Update site membership of group
- *
- * **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Update the membership of person **groupId** in site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager
- *
- */
- @PUT
- @Path("/sites/{siteId}/group-members/{groupId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update site membership of group", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteGroupEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **role** does not exist or **siteMembershipBodyUpdate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to update group"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteGroupEntry updateSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId, SiteMembershipBodyUpdate siteMembershipBodyUpdate, @QueryParam("fields")List fields);
-
- /**
- * Update a site membership
- *
- * Update the membership of person **personId** in site **siteId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager
- *
- */
- @PUT
- @Path("/sites/{siteId}/members/{personId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a site membership", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMemberEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **role** does not exist or **siteMembershipBodyUpdate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
- @ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to update member"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMemberEntry updateSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId, SiteMembershipBodyUpdate siteMembershipBodyUpdate, @QueryParam("fields")List fields);
-
- /**
- * Update a site membership request
- *
- * Updates the message for the site membership request to site **siteId** for person **personId**. You can use the `-me-` string in place of `<personId>` to specify the currently authenticated user.
- *
- */
- @PUT
- @Path("/people/{personId}/site-membership-requests/{siteId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a site membership request", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **id** is invalid or **siteMembershipRequestBodyUpdate** invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public SiteMembershipRequestEntry updateSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId, SiteMembershipRequestBodyUpdate siteMembershipRequestBodyUpdate, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/TagsApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/TagsApi.java
deleted file mode 100644
index a35ff8c..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/TagsApi.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.TagBody;
-import com.inteligr8.alfresco.acs.model.TagEntry;
-import com.inteligr8.alfresco.acs.model.TagPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface TagsApi {
-
- /**
- * Create a tag for a node
- *
- * Creates a tag on the node **nodeId**. You specify the tag in a JSON body like this: ```JSON { \"tag\":\"test-tag-1\" } ``` **Note:** You can create more than one tag by specifying a list of tags in the JSON body like this: ```JSON [ { \"tag\":\"test-tag-1\" }, { \"tag\":\"test-tag-2\" } ] ``` If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: ```JSON { \"list\": { \"pagination\": { \"count\": 2, \"hasMoreItems\": false, \"totalItems\": 2, \"skipCount\": 0, \"maxItems\": 100 }, \"entries\": [ { \"entry\": { ... } }, { \"entry\": { ... } } ] } } ```
- *
- */
- @POST
- @Path("/nodes/{nodeId}/tags")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Create a tag for a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Successful response", response = TagEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **tagBodyCreate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to create tags on the node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 405, message = "Cannot tag a node of this type"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TagEntry createTagForNode(@PathParam("nodeId") String nodeId, TagBody tagBodyCreate, @QueryParam("fields")List fields);
-
- /**
- * Delete a tag from a node
- *
- * Deletes tag **tagId** from node **nodeId**.
- *
- */
- @DELETE
- @Path("/nodes/{nodeId}/tags/{tagId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Delete a tag from a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to delete the tag"),
- @ApiResponse(code = 404, message = "**nodeId** or **tagId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteTagFromNode(@PathParam("nodeId") String nodeId, @PathParam("tagId") String tagId);
-
- /**
- * Get a tag
- *
- * Get a specific tag with **tagId**.
- *
- */
- @GET
- @Path("/tags/{tagId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a tag", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = TagEntry.class),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**tagId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TagEntry getTag(@PathParam("tagId") String tagId, @QueryParam("fields")List fields);
-
- /**
- * List tags
- *
- * Gets a list of tags in this repository. You can use the **include** parameter to return additional **values** information.
- *
- */
- @GET
- @Path("/tags")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List tags", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = TagPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TagPaging listTags(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields, @QueryParam("include")List include);
-
- /**
- * List tags for a node
- *
- * Gets a list of tags for node **nodeId**.
- *
- */
- @GET
- @Path("/nodes/{nodeId}/tags")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List tags for a node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = TagPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to read tags on the node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TagPaging listTagsForNode(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List fields);
-
- /**
- * Update a tag
- *
- * Updates the tag **tagId**.
- *
- */
- @PUT
- @Path("/tags/{tagId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Update a tag", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = TagEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **tagBodyUpdate** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 404, message = "**tagId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public TagEntry updateTag(@PathParam("tagId") String tagId, TagBody tagBodyUpdate, @QueryParam("fields")List fields);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/TrashcanApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/TrashcanApi.java
deleted file mode 100644
index a8664f6..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/TrashcanApi.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.DeletedNodeBodyRestore;
-import com.inteligr8.alfresco.acs.model.DeletedNodeEntry;
-import com.inteligr8.alfresco.acs.model.DeletedNodesPaging;
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.NodeEntry;
-import com.inteligr8.alfresco.acs.model.RenditionEntry;
-import com.inteligr8.alfresco.acs.model.RenditionPaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *
**Core API** Provides access to the core features of Alfresco Content Services.
- *
- */
-@Path("/api/-default-/public/alfresco/versions/1")
-@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
-public interface TrashcanApi {
-
- /**
- * Permanently delete a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Permanently deletes the deleted node **nodeId**.
- *
- */
- @DELETE
- @Path("/deleted-nodes/{nodeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Permanently delete a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 204, message = "Successful response"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to permanently delete the deleted node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public void deleteDeletedNode(@PathParam("nodeId") String nodeId);
-
- /**
- * Get rendition information for a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition information for **renditionId** of file **nodeId**.
- *
- */
- @GET
- @Path("/deleted-nodes/{nodeId}/renditions/{renditionId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get rendition information for a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionEntry getArchivedNodeRendition(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId);
-
- /**
- * Get rendition content of a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for **renditionId** of file **nodeId**.
- *
- */
- @GET
- @Path("/deleted-nodes/{nodeId}/renditions/{renditionId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get rendition content of a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getArchivedNodeRenditionContent(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range, @QueryParam("placeholder")@DefaultValue("false") Boolean placeholder);
-
- /**
- * Get a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the specific deleted node **nodeId**.
- *
- */
- @GET
- @Path("/deleted-nodes/{nodeId}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Get a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = DeletedNodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to view the deleted node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public DeletedNodeEntry getDeletedNode(@PathParam("nodeId") String nodeId, @QueryParam("include")List include);
-
- /**
- * Get deleted node content
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the content of the deleted node with identifier **nodeId**.
- *
- */
- @GET
- @Path("/deleted-nodes/{nodeId}/content")
- @Consumes({ "application/json" })
- @Produces({ "application/octet-stream" })
- @ApiOperation(value = "Get deleted node content", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = File.class),
- @ApiResponse(code = 206, message = "Partial Content"),
- @ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission to retrieve content of **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 416, message = "Range Not Satisfiable"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public File getDeletedNodeContent(@PathParam("nodeId") String nodeId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
-
- /**
- * List renditions for a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for each rendition of the file **nodeId**, including the rendition id. Each rendition returned has a **status**: CREATED means it is available to view or download, NOT_CREATED means the rendition can be requested. You can use the **where** parameter to filter the returned renditions by **status**. For example, the following **where** clause will return just the CREATED renditions: ``` (status='CREATED') ```
- *
- */
- @GET
- @Path("/deleted-nodes/{nodeId}/renditions")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List renditions for a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, is not a file, or **where** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist "),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public RenditionPaging listDeletedNodeRenditions(@PathParam("nodeId") String nodeId, @QueryParam("where")String where);
-
- /**
- * List deleted nodes
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of deleted nodes for the current user. If the current user is an administrator deleted nodes for all users will be returned. The list of deleted nodes will be ordered with the most recently deleted node at the top of the list.
- *
- */
- @GET
- @Path("/deleted-nodes")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "List deleted nodes", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = DeletedNodesPaging.class),
- @ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public DeletedNodesPaging listDeletedNodes(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("include")List include);
-
- /**
- * Restore a deleted node
- *
- * **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Attempts to restore the deleted node **nodeId** to its original location or to a new location. If the node is successfully restored to its former primary parent, then only the primary child association will be restored, including recursively for any primary children. It should be noted that no other secondary child associations or peer associations will be restored, for any of the nodes within the primary parent-child hierarchy of restored nodes, irrespective of whether these associations were to nodes within or outside of the restored hierarchy. Also, any previously shared link will not be restored since it is deleted at the time of delete of each node.
- *
- */
- @POST
- @Path("/deleted-nodes/{nodeId}/restore")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "Restore a deleted node", tags={ })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
- @ApiResponse(code = 400, message = "Invalid parameter: **nodeId** or **targetNodeId** is not a valid format "),
- @ApiResponse(code = 401, message = "Authentication failed"),
- @ApiResponse(code = 403, message = "User does not have permission to restore the deleted node or user does not have permission to the target node"),
- @ApiResponse(code = 404, message = "**nodeId** does not exist or the restore destination parent node does not exists "),
- @ApiResponse(code = 409, message = "Node name already exists in the restore destination"),
- @ApiResponse(code = 422, message = "Model integrity exception trying to restore the node"),
- @ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
- public NodeEntry restoreDeletedNode(@PathParam("nodeId") String nodeId, @QueryParam("fields")List fields, DeletedNodeBodyRestore deletedNodeBodyRestore);
-}
-
diff --git a/src/gen/java/com/inteligr8/alfresco/acs/api/TypesApi.java b/src/gen/java/com/inteligr8/alfresco/acs/api/TypesApi.java
deleted file mode 100644
index 6b023c6..0000000
--- a/src/gen/java/com/inteligr8/alfresco/acs/api/TypesApi.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.inteligr8.alfresco.acs.api;
-
-import com.inteligr8.alfresco.acs.model.Error;
-import com.inteligr8.alfresco.acs.model.TypeEntry;
-import com.inteligr8.alfresco.acs.model.TypePaging;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import java.util.List;
-import javax.ws.rs.*;
-
-/**
- * Alfresco Content Services REST API
- *
- *