Giter VIP home page Giter VIP logo

otwlgmailapp's Introduction

OtwlGmailApp

PLAN OF ACTION

  1. Create Draft

  2. View Draft

  3. View Attached Drive Files

  4. Remove Attached Drive File

  5. Download Attached Drive File

  6. Send draft by ID

  7. Update existing draft

  8. Delete Draft

PLAN 2

  1. TODOS - Frontend actions
  2. Service : Overflow Drive Owners -> Indicate whether drive is usable or not
  3. Service : Cleaner Service for older folders than X months

C# Endpoints for actions

--> <> Drafts Create

  1. if there exists a driveservice, return that token id as well to be used as a hidden field X-otwl-dserv-id & X-otwl-dserv-owner

--> <> Drafts List Drafts View

  1. When viewing ask to bring hidden X-otwl-dserv-vsid & X-otwl-dserv-owner ==> indicate to front end that there is a drive resource from older mails
  2. This front end DRIVE_VIEWSTATE_ID, DRIVE_VIEWSTATE_OWNER is important.

--> <> Drive List Files

  1. Use the front end DRIVE_VIEWSTATE_ID & DRIVE_VIEWSTATE_OWNER to get the files in that drive.
  2. Files should be downloadable
  3. Call returns list of files in that drive of type Model.DriveResourceType.FileListResource

--> <> Drive Remove File

  1. Use the front end DRIVE_VIEWSTATE_OWNER & Model.DriveResourceType.FileListResource.files[].id to remove files from the attached drive
  2. Singular file call only

--> <>

  1. Currently single file download & view available inside Model.DriveResourceType.FileListResource.files[].webviewLink
  2. PENDING : Can be configured for zip approach if needed, but expensive and unnecessary in my opinion.

--> <> Only Send Existing Draft

  1. Only send the existing draft that is on the server (Either consume directly or call after updating a draft)
  2. Make sure the DraftId being sent is the correct Id. (In this case i think msgList[].ThreadId)

--> <> Drafts Update

  • To, Cc, Bcc, Subject, Body
  • inlineAttachments, actionType
  • draft_msgId, draft_attachIds, TokenPossession, lstFsOrderFiles,
  • eml, att_sub

PENDING TO COMMIT

--> <> Drafts Delete

  1. This will permanently remove the draft from server.
  2. You MUST provide the existing DRIVE_VIEWSTATE_ID & DRIVE_VIEWSTATE_OWNER of the draft IF IT SO EXISTS. MAKE SURE TO PASS "" (empty quotes) for both ID and Owner if they dont exist. If that draft has no allocated drive resource then it is fine, otherwise the backend automatically attempt to first trash the drive folder then it will trash the mail.

--> Update Draft

  1. accept incoming draft with X-otwl-dserv-vsid

Flow ==>

  1. [Frontend] -> iF Ask to Create new draft =] <> GO to PostNewMail -> MultipartEmailGenerator -> Allocate drive.id and .webviewlink Embed beautified .webviewlink into mail body Embed .id into X-otwl-dserv-vsid property inside mail packet Post Draft

  2. [Frontend] -> iF ask to view existing draft =] <> While fetching draft data OR draft thread list -> initialize the DRIVE_VIEWSTATE_ID using the "X-otwl-dserv-vsid" header property in Thread.cs object Make Sure the send this as a NEW PARAMETER from frontend when updating/sending the draft

  3. [Frontend] -> iF ask to list files inside drive folder While fetching folder contents using DRIVE_VIEWSTATE_ID, make sure send this as a parameter to get a list of items that you can show in the "Drive Attached" files Dialog.

  4. [Frontend] -> iF ask to send existing draft

otwlgmailapp's People

Contributors

shubham1904 avatar benza613 avatar pritee99 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.