<commit_before>package com.constantcontact.v2;

import com.constantcontact.v2.library.*;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.*;

/**
 * Retrofit interface for Library Information, File, and Folder calls against the Constant Contact API
 *
 */
public interface LibraryService {
    /**
     * Get the Account's {@link LibraryInfo}
     *
     * @return an Observable that emits LibraryInfo
     */
    @GET("v2/library/info")
    Call<LibraryInfo> getLibraryInfo();

    /**
     * Get a {@link Paged} collection of {@link Folder}
     *
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FolderSortOrder}
     * @return an Observable that emits Paged Folders
     */
    @GET("v2/library/folders")
    Call<Paged<Folder>> getFolders(@Query("limit") int limit, @Query("sort_by") FolderSortOrder sortOrder);

    /**
     * Get a {@link Paged} collection of {@link Folder}
     *
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Folders
     */
    @GET("v2/library/folders?next={next}")
    Call<Paged<Folder>> getFolders(@Path("next") String nextLink);

    /**
     * Create a new {@link Folder}
     *
     * @param folder Folder with only the name and parentId values
     * @return an Observable that emits a Folder
     */
    @POST("v2/library/folders")
    Call<Folder> createFolder(@Body Folder folder);

    /**
     * Get a specific {@link Folder}
     *
     * @param folderId The Folder ID
     * @return an Observable that emits a Folder
     */
    @GET("v2/library/folders/{folderId}")
    Call<Folder> getFolder(@Path("folderId") String folderId);

    /**
     * Update a {@link Folder}
     *
     * @param folderId The Folder ID
     * @param folder   Folder
     * @return an Observable that emits an updated Folder
     */
    @PUT("v2/library/folders/{folderId}?include_payload=TRUE")
    Call<Folder> updateFolder(@Path("folderId") String folderId, @Body Folder folder);

    /**
     * Delete a {@link Folder}
     *
     * @param folderId The Folder ID
     * @return an Observable that emits a {@link retrofit2.Response}
     */
    @DELETE("v2/library/folders/{folderId}")
    Call<Response> deleteFolder(@Path("folderId") String folderId);

    /**
     * Get a {@link Paged} collection of {@link File}
     *
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FileSortOrder}
     * @param source    {@link FileSource}
     * @param type      {@link FileTypeQuery}
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/files")
    Call<Paged<File>> getFiles(@Query("limit") int limit, @Query("sort_by") FileSortOrder sortOrder, @Query("source") FileSource source,
                               @Query("type") FileTypeQuery type);

    /**
     * Get a {@link Paged} collection of {@link File}
     *
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Files
     */
    @GET
    Call<Paged<File>> getFiles(@Url String nextLink);

    /**
     * Get a {@link Paged} collection of {@link File} from a specific {@link Folder}.
     * <p>
     * To get a list of files in the trash folder, pass "trash" as the folderId.
     *
     * @param folderId  The Folder ID
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FileSortOrder}
     * @param source    {@link FileSource}
     * @param type      {@link FileTypeQuery}
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/folders/{folderId}/files")
    Call<Paged<File>> getFilesByFolder(@Path("folderId") String folderId, @Query("limit") int limit, @Query("sort_by") FileSortOrder
            sortOrder, @Query("source") FileSource source, @Query("type") FileTypeQuery type);

    /**
     * Get a {@link Paged} collection of {@link File} from a specific {@link Folder}.
     *
     * @param folderId The Folder ID
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/folders/{folderId}/files?next={next}")
    Call<Paged<File>> getFilesByFolder(@Path("folderId") String folderId, @Path("next") String nextLink);

    /**
     * Get a specific {@link File}
     *
     * @param fileId The File ID
     * @return an Observable that emits a File
     */
    @GET("v2/library/files/{fileId}")
    Call<File> getFile(@Path("fileId") String fileId);

    /**
     * Update a {@link File}
     *
     * @param fileId The File ID
     * @param file   File
     * @return an Observable that emits an updated File
     */
    @PUT("v2/library/files/{fileId}?include_payload=TRUE")
    Call<File> updateFile(@Path("fileId") String fileId, @Body File file);

    /**
     * Move multiple {@link File} to a different {@link Folder}
     *
     * @param folderId The Folder ID
     * @param fileIds  Array of File ID's that will be moved to the new folder
     * @return an Observable that emits an Array of updated Files
     */
    @PUT("v2/library/folders/{folderId}/files")
    Call<File> moveFiles(@Path("folderId") String folderId, @Body String[] fileIds);<commit_msg>Updated getFolders, getFilesByFolder<commit_after>package com.constantcontact.v2;

import com.constantcontact.v2.library.*;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.*;

/**
 * Retrofit interface for Library Information, File, and Folder calls against the Constant Contact API
 *
 */
public interface LibraryService {
    /**
     * Get the Account's {@link LibraryInfo}
     *
     * @return an Observable that emits LibraryInfo
     */
    @GET("v2/library/info")
    Call<LibraryInfo> getLibraryInfo();

    /**
     * Get a {@link Paged} collection of {@link Folder}
     *
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FolderSortOrder}
     * @return an Observable that emits Paged Folders
     */
    @GET("v2/library/folders")
    Call<Paged<Folder>> getFolders(@Query("limit") int limit, @Query("sort_by") FolderSortOrder sortOrder);

    /**
     * Get a {@link Paged} collection of {@link Folder}
     *
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Folders
     */
    @GET
    Call<Paged<Folder>> getFolders(@Url String nextLink);

    /**
     * Create a new {@link Folder}
     *
     * @param folder Folder with only the name and parentId values
     * @return an Observable that emits a Folder
     */
    @POST("v2/library/folders")
    Call<Folder> createFolder(@Body Folder folder);

    /**
     * Get a specific {@link Folder}
     *
     * @param folderId The Folder ID
     * @return an Observable that emits a Folder
     */
    @GET("v2/library/folders/{folderId}")
    Call<Folder> getFolder(@Path("folderId") String folderId);

    /**
     * Update a {@link Folder}
     *
     * @param folderId The Folder ID
     * @param folder   Folder
     * @return an Observable that emits an updated Folder
     */
    @PUT("v2/library/folders/{folderId}?include_payload=TRUE")
    Call<Folder> updateFolder(@Path("folderId") String folderId, @Body Folder folder);

    /**
     * Delete a {@link Folder}
     *
     * @param folderId The Folder ID
     * @return an Observable that emits a {@link retrofit2.Response}
     */
    @DELETE("v2/library/folders/{folderId}")
    Call<Response> deleteFolder(@Path("folderId") String folderId);

    /**
     * Get a {@link Paged} collection of {@link File}
     *
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FileSortOrder}
     * @param source    {@link FileSource}
     * @param type      {@link FileTypeQuery}
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/files")
    Call<Paged<File>> getFiles(@Query("limit") int limit, @Query("sort_by") FileSortOrder sortOrder, @Query("source") FileSource source,
                               @Query("type") FileTypeQuery type);

    /**
     * Get a {@link Paged} collection of {@link File}
     *
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Files
     */
    @GET
    Call<Paged<File>> getFiles(@Url String nextLink);

    /**
     * Get a {@link Paged} collection of {@link File} from a specific {@link Folder}.
     * <p>
     * To get a list of files in the trash folder, pass "trash" as the folderId.
     *
     * @param folderId  The Folder ID
     * @param limit     Size of page to return (1-1000)
     * @param sortOrder {@link FileSortOrder}
     * @param source    {@link FileSource}
     * @param type      {@link FileTypeQuery}
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/folders/{folderId}/files")
    Call<Paged<File>> getFilesByFolder(@Path("folderId") String folderId, @Query("limit") int limit, @Query("sort_by") FileSortOrder
            sortOrder, @Query("source") FileSource source, @Query("type") FileTypeQuery type);

    /**
     * Get a {@link Paged} collection of {@link File} from a specific {@link Folder}.
     *
     * @param folderId The Folder ID
     * @param nextLink Value of the link found in the meta of the original call
     * @return an Observable that emits Paged Files
     */
    @GET("v2/library/folders/{folderId}/files?{next}")
    Call<Paged<File>> getFilesByFolder(@Path("folderId") String folderId, @Path("next") String nextLink);

    /**
     * Get a specific {@link File}
     *
     * @param fileId The File ID
     * @return an Observable that emits a File
     */
    @GET("v2/library/files/{fileId}")
    Call<File> getFile(@Path("fileId") String fileId);

    /**
     * Update a {@link File}
     *
     * @param fileId The File ID
     * @param file   File
     * @return an Observable that emits an updated File
     */
    @PUT("v2/library/files/{fileId}?include_payload=TRUE")
    Call<File> updateFile(@Path("fileId") String fileId, @Body File file);

    /**
     * Move multiple {@link File} to a different {@link Folder}
     *
     * @param folderId The Folder ID
     * @param fileIds  Array of File ID's that will be moved to the new folder
     * @return an Observable that emits an Array of updated Files
     */
    @PUT("v2/library/folders/{folderId}/files")
    Call<File> moveFiles(@Path("folderId") String folderId, @Body String[] fileIds);
{'fraction_non_alphanumeric': 0.12199943518780006, 'fraction_numerical': 0.006495340299350466, 'mean_word_length': 2.8506705328017397, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 45, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2274221', 'n_tokens_mistral': 3213, 'n_tokens_neox': 3171, 'n_words': 1031}