Gisle Aune
4 years ago
11 changed files with 0 additions and 533 deletions
-
9graph/resolvers/issue.resolvers.go
-
46graph/resolvers/issueitem.resolvers.go
-
12graph/resolvers/log.resolvers.go
-
191graph/resolvers/mutation.resolvers.go
-
101graph/resolvers/query.resolvers.go
-
2graph/schema/issue.gql
-
75graph/schema/issueitem.gql
-
60graph/schema/item.gql
-
14graph/schema/log.gql
-
11graph/schema/mutation.gql
-
12graph/schema/query.gql
@ -1,46 +0,0 @@ |
|||
package resolvers |
|||
|
|||
// This file will be automatically regenerated based on the schema, any resolver implementations
|
|||
// will be copied through when generating and any unknown code will be moved to the end.
|
|||
|
|||
import ( |
|||
"context" |
|||
|
|||
"git.aiterp.net/stufflog/server/graph/graphcore" |
|||
"git.aiterp.net/stufflog/server/graph/loaders" |
|||
"git.aiterp.net/stufflog/server/models" |
|||
) |
|||
|
|||
func (r *issueItemResolver) Issue(ctx context.Context, obj *models.IssueItem) (*models.Issue, error) { |
|||
return loaders.IssueLoaderFromContext(ctx).Load(obj.IssueID) |
|||
} |
|||
|
|||
func (r *issueItemResolver) Item(ctx context.Context, obj *models.IssueItem) (*models.Item, error) { |
|||
return r.Database.Items().Find(ctx, obj.ItemID) |
|||
} |
|||
|
|||
func (r *issueItemResolver) Remaining(ctx context.Context, obj *models.IssueItem) (int, error) { |
|||
if obj.Acquired { |
|||
return 0, nil |
|||
} |
|||
|
|||
loader := loaders.LogsByIssueLoaderFromContext(ctx) |
|||
logs, err := loader.Load(obj.IssueID) |
|||
if err != nil { |
|||
return 0, err |
|||
} |
|||
|
|||
remaining := obj.Quantity |
|||
for _, log := range logs { |
|||
if item := log.Item(obj.ID); item != nil { |
|||
remaining -= item.Amount |
|||
} |
|||
} |
|||
|
|||
return remaining, nil |
|||
} |
|||
|
|||
// IssueItem returns graphcore.IssueItemResolver implementation.
|
|||
func (r *Resolver) IssueItem() graphcore.IssueItemResolver { return &issueItemResolver{r} } |
|||
|
|||
type issueItemResolver struct{ *Resolver } |
@ -1,75 +0,0 @@ |
|||
""" |
|||
An issue item is a requirement of an item under an issue. |
|||
""" |
|||
type IssueItem { |
|||
"ID of the issue item listing." |
|||
id: String! |
|||
"The amount of the item associated with an issue." |
|||
quantity: Int! |
|||
"Whether the full quantity of item has been acquired." |
|||
acquired: Boolean! |
|||
|
|||
"Parent issue of the issue item." |
|||
issue: Issue! |
|||
"The item associated with the issue." |
|||
item: Item! |
|||
"The amount of items remaining." |
|||
remaining: Int! |
|||
} |
|||
|
|||
"Input for the items query." |
|||
input IssueItemFilter { |
|||
"Filter to only these IDs, used primarily by IDs." |
|||
issueItemIds: [String!] |
|||
"Filter to only these issues." |
|||
issueIds: [String!] |
|||
"Filter to only issues where these are the asignees." |
|||
issueAssignees: [String!] |
|||
"Filter to only issues where these are the owners." |
|||
issueOwners: [String!] |
|||
"Filter by issue minimum stage (inclusive)." |
|||
issueMinStage: Int |
|||
"Filter by issue maximum stage (inclusive)." |
|||
issueMaxStage: Int |
|||
"Filter to only list issue items with these items." |
|||
itemIds: [String!] |
|||
"Filter to only list issue items where the item has these tags." |
|||
itemTags: [String!] |
|||
"Only listed acquired or non-acquired items." |
|||
acquired: Boolean |
|||
} |
|||
|
|||
"Input for the items query." |
|||
input IssueIssueItemFilter { |
|||
"Filter to only these IDs, used primarily by IDs." |
|||
issueItemIds: [String!] |
|||
"Filter to only list issue items with these items." |
|||
itemIds: [String!] |
|||
"Filter to only list issue items where the item has these tags." |
|||
itemTags: [String!] |
|||
"Only listed acquired or non-acquired items." |
|||
acquired: Boolean |
|||
} |
|||
|
|||
"Input for the createIssueItem mutation." |
|||
input IssueItemCreateInput { |
|||
"Parent issue." |
|||
issueId: String! |
|||
"Item to associate with." |
|||
itemId: String! |
|||
"Quantity of the item." |
|||
quanitty: Int! |
|||
"Whether the item has already been acquired." |
|||
acquired: Boolean |
|||
} |
|||
|
|||
"Input for the editIssueItem mutation." |
|||
input IssueItemEditInput { |
|||
"The ID of the issue item to edit." |
|||
issueItemId: String! |
|||
"Update the quantity of the item." |
|||
setQuanitty: Int |
|||
"Update whether the item has been acquired." |
|||
setAcquired: Boolean |
|||
} |
|||
|
@ -1,60 +0,0 @@ |
|||
""" |
|||
An item that can be required for an issue. |
|||
""" |
|||
type Item { |
|||
"The item's unique ID." |
|||
id: String! |
|||
"Name of the item." |
|||
name: String! |
|||
"A description of the item." |
|||
description: String! |
|||
"Item tags." |
|||
tags: [String!]! |
|||
"Quantity unit. Usually absent, but otherwise most often 'g' or 'ml'" |
|||
quantityUnit: String |
|||
"URL for the image, if available." |
|||
imageUrl: String |
|||
} |
|||
|
|||
"Filter for the items query." |
|||
input ItemFilter { |
|||
"Get these item IDs. Mostly used internally." |
|||
itemIds: [String!] |
|||
"Limit to items with any of the following tags." |
|||
tags: [String!] |
|||
} |
|||
|
|||
"Input for the createItem mutation." |
|||
input ItemCreateInput { |
|||
"Put a name on it." |
|||
name: String! |
|||
"Describe it for me." |
|||
description: String! |
|||
"Add a tag or a few" |
|||
tags: [String!]! |
|||
"Optional: Quanity unit." |
|||
quantityUnit: String |
|||
"Optional: Upload an image." |
|||
image: Upload |
|||
} |
|||
|
|||
"Input for the editItem mutation." |
|||
input ItemEditInput { |
|||
"The item to edit." |
|||
itemId: String! |
|||
|
|||
"Update the name." |
|||
setName: String |
|||
"Update the description." |
|||
setDescription: String |
|||
"Add new tags. The tags are added after removeTag tags are removed." |
|||
addTags: [String!] |
|||
"Remove existing tags. If a tag exists both here and in addTags, it will not be removed." |
|||
removeTags: [String!] |
|||
"Update quantity unit." |
|||
setQuantityUnit: String |
|||
"Clear quantity unit." |
|||
clearQuantityUnit: Boolean |
|||
"Update the image URL with a new image." |
|||
updateImage: Upload |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue