aboutsummaryrefslogtreecommitdiff
path: root/src/server/apis/google/typings
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-09-01 17:12:45 -0400
committerSam Wilkins <samwilkins333@gmail.com>2019-09-01 17:12:45 -0400
commitd1960ed915e78014592567e16dd1de9545781a27 (patch)
treeb53ed90769f116790a7a07be7bc09347dea06c93 /src/server/apis/google/typings
parent769b4c0b9ac61729b94b32999d3713a2dce53627 (diff)
factored out typings
Diffstat (limited to 'src/server/apis/google/typings')
-rw-r--r--src/server/apis/google/typings/albums.ts148
1 files changed, 148 insertions, 0 deletions
diff --git a/src/server/apis/google/typings/albums.ts b/src/server/apis/google/typings/albums.ts
new file mode 100644
index 000000000..1c9b379fe
--- /dev/null
+++ b/src/server/apis/google/typings/albums.ts
@@ -0,0 +1,148 @@
+export namespace Album {
+
+ export type Query = (AddEnrichment | BatchAddMediaItems | BatchRemoveMediaItems | Create | Get | List | Share | Unshare) & { body: any };
+
+ export enum Action {
+ AddEnrichment,
+ BatchAddMediaItems,
+ BatchRemoveMediaItems,
+ Create,
+ Get,
+ List,
+ Share,
+ Unshare
+ }
+
+ export interface AddEnrichment {
+ action: Action.AddEnrichment;
+ albumId: string;
+ body: {
+ newEnrichmentItem: NewEnrichmentItem;
+ albumPosition: MediaRelativeAlbumPosition;
+ };
+ }
+
+ export interface BatchAddMediaItems {
+ action: Action.BatchAddMediaItems;
+ albumId: string;
+ body: {
+ mediaItemIds: string[];
+ };
+ }
+
+ export interface BatchRemoveMediaItems {
+ action: Action.BatchRemoveMediaItems;
+ albumId: string;
+ body: {
+ mediaItemIds: string[];
+ };
+ }
+
+ export interface Create {
+ action: Action.Create;
+ body: {
+ album: Template;
+ };
+ }
+
+ export interface Get {
+ action: Action.Get;
+ albumId: string;
+ }
+
+ export interface List {
+ action: Action.List;
+ parameters: {
+ pageSize: number,
+ pageToken: string,
+ excludeNonAppCreatedData: boolean
+ };
+ }
+
+ export interface Share {
+ action: Action.Share;
+ albumId: string;
+ body: {
+ sharedAlbumOptions: SharedOptions;
+ };
+ }
+
+ export interface Unshare {
+ action: Action.Unshare;
+ albumId: string;
+ }
+
+ export interface Template {
+ title: string;
+ }
+
+ export interface Model {
+ id: string;
+ title: string;
+ productUrl: string;
+ isWriteable: boolean;
+ shareInfo: ShareInfo;
+ mediaItemsCount: string;
+ coverPhotoBaseUrl: string;
+ coverPhotoMediaItemId: string;
+ }
+
+ export interface ShareInfo {
+ sharedAlbumOptions: SharedOptions;
+ shareableUrl: string;
+ shareToken: string;
+ isJoined: boolean;
+ isOwned: boolean;
+ }
+
+ export interface SharedOptions {
+ isCollaborative: boolean;
+ isCommentable: boolean;
+ }
+
+ export enum PositionType {
+ POSITION_TYPE_UNSPECIFIED,
+ FIRST_IN_ALBUM,
+ LAST_IN_ALBUM,
+ AFTER_MEDIA_ITEM,
+ AFTER_ENRICHMENT_ITEM
+ }
+
+ export type Position = GeneralAlbumPosition | MediaRelativeAlbumPosition | EnrichmentRelativeAlbumPosition;
+
+ interface GeneralAlbumPosition {
+ position: PositionType.FIRST_IN_ALBUM | PositionType.LAST_IN_ALBUM | PositionType.POSITION_TYPE_UNSPECIFIED;
+ }
+
+ interface MediaRelativeAlbumPosition {
+ position: PositionType.AFTER_MEDIA_ITEM;
+ relativeMediaItemId: string;
+ }
+
+ interface EnrichmentRelativeAlbumPosition {
+ position: PositionType.AFTER_ENRICHMENT_ITEM;
+ relativeEnrichmentItemId: string;
+ }
+
+ export interface Location {
+ locationName: string;
+ latlng: {
+ latitude: number,
+ longitude: number
+ };
+ }
+
+ export interface NewEnrichmentItem {
+ textEnrichment: {
+ text: string;
+ };
+ locationEnrichment: {
+ location: Location
+ };
+ mapEnrichment: {
+ origin: { location: Location },
+ destination: { location: Location }
+ };
+ }
+
+} \ No newline at end of file