diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-26 16:42:17 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-26 16:42:19 -0700 | 
| commit | 82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e (patch) | |
| tree | 2b684049829c72fbdd4289535b18a19b884f377b /golang/api/handlers/entities.go | |
| parent | 9b3e52e813bbd9dc9b1771ca2c63e33d93048e97 (diff) | |
| download | fatcat-82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e.tar.gz fatcat-82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e.zip  | |
remove golang API server
Not following that path; this is to prevent future confusion. All code
is still in version control.
Diffstat (limited to 'golang/api/handlers/entities.go')
| -rw-r--r-- | golang/api/handlers/entities.go | 151 | 
1 files changed, 0 insertions, 151 deletions
diff --git a/golang/api/handlers/entities.go b/golang/api/handlers/entities.go deleted file mode 100644 index 708aebdf..00000000 --- a/golang/api/handlers/entities.go +++ /dev/null @@ -1,151 +0,0 @@ - -package handlers - -import ( -    "github.com/go-pg/pg" -    "github.com/go-openapi/swag" -    "github.com/go-openapi/runtime/middleware" -    log "github.com/sirupsen/logrus" - -	"git.archive.org/bnewbold/fatcat/golang/gen/models" -	"git.archive.org/bnewbold/fatcat/golang/gen/restapi/operations" -) - -type CreatorRev struct { -    Id          int64 -    ExtraJson   string -    Name        string -    Orcid       string -    tableName struct{} `sql:"creator_rev"` -} - -type CreatorIdent struct { -    Id              string -    IsLive          bool -    RevId           int64 -    Rev             *CreatorRev -    RedirectId      string -    Redirect        *CreatorIdent -    tableName       struct{} `sql:"creator_ident"` -} - -type CreatorEdit struct { -    Id              int64 -    ExtraJson       string -    IdentId         string -    Ident           *CreatorIdent -    RevId           int64 -    Rev             *CreatorRev -    RedirectId      string -    Redirect        *CreatorIdent -    EditgroupId     int64 -    Editgroup       *Editgroup -    tableName       struct{} `sql:"creator_edit"` -} - -func (ci *CreatorIdent) State() string { -    if ci.IsLive && (ci.RedirectId == "") && (ci.RevId == 0) { -        return "deleted" -    } else if ci.IsLive && (ci.RedirectId != "") { -        return "redirect" -    } else if ci.IsLive && (ci.RedirectId == "") && (ci.RevId != 0) { -        return "active" -    } else if !ci.IsLive && (ci.RedirectId == "") && (ci.RevId != 0) { -        return "wip" -    } else { -        log.Fatalf("Invalid CreatorIdent state: %v", ci) -        panic("fail") -    } -} - -//// -func NewGetCreatorIDHandler(db *pg.DB) operations.GetCreatorIDHandler { -    return &getCreatorID{db: db} -} -type getCreatorID struct { -    db *pg.DB -} -func (d *getCreatorID) Handle(params operations.GetCreatorIDParams) middleware.Responder { -    // "get or 404" using params.ID. join creator_ident and creator_rev. -    // populate result data -    // return that -    db_entity_ident := &CreatorIdent{} -    err := d.db.Model(db_entity_ident). -        Column("creator_ident.*", "Rev"). -        Where("creator_ident.id = ?", swag.StringValue(¶ms.ID)). -        First() -    if err == pg.ErrNoRows { -        return operations.NewGetCreatorIDNotFound().WithPayload(&models.Error{Message: swag.String("no such entity")}) -    } else if err != nil { -        log.Fatal(err) -    } -    api_entity := &models.CreatorEntity{ -        Ident: db_entity_ident.Id, -        State: db_entity_ident.State(), -        Name: db_entity_ident.Rev.Name, -        Orcid: db_entity_ident.Rev.Orcid, -    } -    return operations.NewGetCreatorIDOK().WithPayload(api_entity) -} - -//// -func NewGetCreatorLookupHandler(db *pg.DB) operations.GetCreatorLookupHandler { -    return &getCreatorLookup{db: db} -} -type getCreatorLookup struct { -    db *pg.DB -} -func (d *getCreatorLookup) Handle(params operations.GetCreatorLookupParams) middleware.Responder { -    // get-or-create editgroup based on current editor (session) -    // insert new rev, ident, and edit -    return middleware.NotImplemented("operation .GetCreatorLookup has not yet been implemented") -} - -//// -func NewPostCreatorHandler(db *pg.DB) operations.PostCreatorHandler { -    return &postCreator{db: db} -} -type postCreator struct { -    db *pg.DB -} -func (d *postCreator) Handle(params operations.PostCreatorParams) middleware.Responder { -    // get-or-create editgroup based on current editor (session) -    var eg Editgroup -    if true { -        eg = Editgroup{Id: 1} -    } else { -        eg = GetOrCreateEditgroup() -    } -    ce := CreatorEdit{} - -    // big honking SQL to update 3 tables in a single INSERT -    _, err := d.db.QueryOne( -    //Model(ce).ExecOne( -        &ce, -        `WITH rev AS ( INSERT INTO creator_rev (name, orcid) -                       VALUES (?, ?) -                       RETURNING id ), -              ident AS ( INSERT INTO creator_ident (rev_id) -                         VALUES ((SELECT rev.id FROM rev)) -                         RETURNING id ) -        INSERT INTO creator_edit (editgroup_id, ident_id, rev_id) VALUES -            (?, (SELECT ident.id FROM ident), (SELECT rev.id FROM rev)) -        RETURNING *`, -        params.Body.Name, -        params.Body.Orcid, -        eg.Id) -    if err != nil { -        log.Fatal(err) -    } -    if err != nil { -        log.Fatal(err) -    } -    // redirect? or return the edit? -    api_edit:= models.EntityEdit { -        ID: ce.Id, -        Ident: ce.IdentId, -        Revision: ce.RevId, -        EditgroupID: ce.EditgroupId, -    } -    return operations.NewPostCreatorCreated().WithPayload(&api_edit) -}  | 
