Commit graph

128 commits

Author SHA1 Message Date
Hayden
db80f8a159
chore: refactor api endpoints (#339)
* move typegen code

* update taskfile to fix code-gen caches and use 'dir' attribute

* enable dumping stack traces for errors

* log request start and stop

* set zerolog stack handler

* fix routes function

* refactor context adapters to use requests directly

* change some method signatures to support GID

* start requiring validation tags

* first pass on updating handlers to use adapters

* add errs package

* code gen

* tidy

* rework API to use external server package
2023-03-20 20:32:10 -08:00
Hayden
23b5892aef
feat: Notifiers CRUD (#337)
* introduce scaffold for new models

* wip: shoutrrr wrapper (may remove)

* update schema files

* gen: ent code

* gen: migrations

* go mod tidy

* add group_id to notifier

* db migration

* new mapper helpers

* notifier repo

* introduce experimental adapter pattern for hdlrs

* refactor adapters to fit more common use cases

* new routes for notifiers

* update errors to fix validation panic

* go tidy

* reverse checkbox label display

* wip: notifiers UI

* use badges instead of text

* improve documentation

* add scaffold schema reference

* remove notifier service

* refactor schema folder

* support group edges via scaffold

* delete test file

* include link to API docs

* audit and update documentation + improve format

* refactor schema edges

* refactor

* add custom validator

* set validate + order fields by name

* fix failing tests
2023-03-06 21:18:58 -09:00
Hayden
025521431e
feat: add scheduled maintenance tasks (#320)
* add scheduled maintenance tasks

* fix failing typecheck
2023-02-26 18:42:23 -09:00
Hayden
a6bcb36c5b
feat: import export rewrite (#290)
* WIP: initial work

* refactoring

* fix failing JS tests

* update import docs

* fix import headers

* fix column headers

* update refs on import

* remove demo status

* finnnneeeee

* formatting
2023-02-25 17:54:40 -09:00
Hayden
12975ce26e
feat: change auth to use cookies (#301)
* frontend cookie implementation

* accept cookies for authentication

* remove auth store

* add self attr
2023-02-17 21:57:21 -09:00
Hayden
bd321af29f
chore: developer cleanup (#300)
* new PR tasks

* add homebox to know words

* formatting

* bump deps

* generate db models

* ts errors

* drop id

* fix accessor

* drop unused time field

* change CI

* add expected error

* add type check

* resolve serveral type errors

* hoise in CI
2023-02-17 21:41:01 -09:00
Hayden
efd7069fe4
feat: hide registration button when disabled (#287)
* add allow registration to API Summary

* code gen

* use env for troubleshooting

* disable registration toggle based on backend
2023-02-15 08:58:38 -09:00
Hayden
607b06d2f2
fix: date and datetime regression (#282)
* use custom types.Date implementation

* fix user registration bug

* remove sanity check

* fix datetime bug
2023-02-15 08:40:35 -09:00
Hayden
9361997a42
feat(reporting): bill of materials (#275)
* new reporting service

* API route

* code gen

* get tsv export from tools page

* fix naming
2023-02-13 10:00:29 -09:00
Hayden
ce2fc7712a
fix: add custom action for fixing broken date/times (#268) 2023-02-08 17:59:04 -09:00
Hayden
bd06fdafaf
feat: enhanced search functions (#260)
* make login case insensitive

* expand query to support by Field and By AID search

* type generation

* new API callers

* rework search to support field queries

* improve unnecessary data fetches

* clear stores on logout

* change verbage

* add labels
2023-02-05 12:12:54 -09:00
Hayden
3d295b5132
feat: locations tree viewer (#248)
* location tree API

* test fixes

* initial tree location elements

* locations tree page

* update meta-data

* code-gen

* store item display preferences

* introduce basic table/card view elements

* codegen

* set parent location during location creation

* add item support for tree query

* refactor tree view

* wip: location selector improvements

* type gen

* rename items -> search

* remove various log statements

* fix markdown rendering for description

* update location selectors

* fix tests

* fix currency tests

* formatting
2023-01-28 11:53:00 -09:00
Hayden
c19fe94c08
feat: QR Codes (#226)
* code gen updates

* qrcode support

* remove opacity on toast

* update item view to use tab-like pages

* adjust view for cards

* fix old API calls for ioutils

* move embed

* extract QR code

* add docs for QR codes

* add QR code
2023-01-18 20:44:06 -09:00
Hayden
07441eec8e
feat: add lookup by asset ID (#208)
* add asset id redirecting

* dev env changes

* suggested changes from PR

* remove unnecessary proxy from nuxt config

* fix formatting

* change directory reference

* fix API key storage

* use /a/{id} as redirect

* run generators

* remove dependabot

Co-authored-by: Bradley Nelson <bradley@nel.family>
Co-authored-by: Bradley Nelson <BCNelson@users.noreply.github.com>
2023-01-14 09:24:11 -09:00
Hayden
891d41b75f
feat: new-card-design (#196)
* card option 1

* UI updates for item card

* fix test error

* fix pagination issues on backend

* add integer support

* remove date from cards

* implement pagination for search page

* resolve search state problems

* other fixes

* fix broken datetime

* attempt to fix scroll behavior
2023-01-01 12:50:48 -09:00
Hayden
6a8a25e3f8
feat: new dashboard implementation (#168)
* wip: charts.js experimental work

* update lock file

* wip: frontend redesign

* wip: more UI fixes for consistency across themes

* cleanup

* improve UI log

* style updates

* fix lint errors
2022-12-29 16:19:15 -09:00
Hayden
5bbb969763
feat: maintenance log (#170)
* remove repo for document tokens

* remove schema for doc tokens

* fix id template and generate cmd

* schema updates

* code gen

* bump dependencies

* fix broken migrations + add maintenance entry type

* spelling

* remove debug logger

* implement repository layer

* routes

* API client

* wip: maintenance log

* remove depreciated call
2022-12-09 20:57:57 -09:00
Hayden
d6da63187b
feat: new homepage statistic API's (#167)
* add date format and orDefault helpers

* introduce new statistics calculations queries

* rework statistics endpoints

* code generation

* fix styles on photo card

* label and location aggregation endpoints

* code-gen

* cleanup parser and defaults

* remove debug point

* setup E2E Testing

* linters

* formatting

* fmt plus name support on time series data

* code gen
2022-12-05 12:36:32 -09:00
Hayden
de419dc37d
feat: auth-roles, image-gallery, click-to-open (#166)
* schema changes

* db generate

* db migration

* add role based middleware

* implement attachment token access

* generate docs

* implement role based auth

* replace attachment specific tokens with gen token

* run linter

* cleanup temporary token implementation
2022-12-03 10:55:00 -09:00
Hayden
73c42f4784
fix: assign extension if not set (#161) 2022-12-01 18:10:50 -09:00
Hayden
f42a917390
feat: add tsv support for import files (#160)
* feat: add tsv support for import files

* add note in docs
2022-12-01 18:06:47 -09:00
Hayden
6dc2ae1bea
feat: asset tags/ids (#142)
* add schema

* run db migration

* bulk seed asset IDs

* breaking: update runtime options

* conditionally increment asset IDs

* update API endpoints

* fix import asset id assignment

* refactor display + marshal/unmarshal

* add docs page

* add to form field

* hide 000-000 values

* update ENV vars
2022-11-13 14:17:55 -09:00
Hayden
8e1947d971
fix: conditionally filter parent locations (#133) 2022-11-02 11:54:43 -08:00
Hayden
7e0f1fac23
feat: group statistics endpoint (#123)
* group statistics endpoint

* remove item store

* return possible errors

* add statistics tests
2022-11-01 13:58:05 -08:00
Hayden
a886fa86ca
feat: add archive item options (#122)
Add archive option feature. Archived items can only be seen on the items page when including archived is selected. Archived items are excluded from the count and from other views
2022-10-31 23:30:42 -08:00
Hayden
cd82fe0d89
refactor: remove empty services (#116)
* remove empty services

* remove old factory

* remove old static files

* cleanup more duplicate service code

* file/folder reorg
2022-10-29 20:05:38 -08:00
Hayden
6529549289
refactor: http interfaces (#114)
* implement custom http handler interface

* implement trace_id

* normalize http method spacing for consistent logs

* fix failing test

* fix linter errors

* cleanup old dead code

* more route cleanup

* cleanup some inconsistent errors

* update and generate code

* make taskfile more consistent

* update task calls

* run tidy

* drop `@` tag for version

* use relative paths

* tidy

* fix auto-setting variables

* update build paths

* add contributing guide

* tidy
2022-10-29 18:15:35 -08:00
Hayden
82269e8a95 clean logs 2022-10-25 11:24:19 -08:00
Hayden
d151d42081
feat: debug-endpoints (#110)
* reorg + pprof endpoints

* fix spacing issue

* fix generation directory
2022-10-24 18:24:18 -08:00
Hayden
a4b4fe3454
feat: allow nested relationships for locations and items (#102)
Basic implementation that allows organizing Locations and Items within each other.
2022-10-23 20:54:39 -08:00
Hayden
18488f5b15
refactor: cleanup-api-functions (#94)
* cleanup items endpoints

* refactor group routes

* refactor labels routes

* remove old partial

* refactor location routes

* formatting

* update names

* cleanup func

* speedup test runner with disable hasher

* remove duplicate code
2022-10-16 18:50:44 -08:00
Hayden
434f1fa411 add support for custom text fields 2022-10-15 21:41:27 -08:00
Hayden
dbaaf4ad0a
fix import bug and add ref support (#88)
* fix import bug and add ref support

* fix calls

* add docs
2022-10-15 17:46:57 -08:00
Hayden
461be2afca
feat: currency selection support (#72)
* initial UI for currency selection

* add task to purge invitation tokens

* group API contracts

* fix type import

* use auth middleware

* add currency setting support (UI)

* use group settings for format currency

* fix casing
2022-10-15 12:15:55 -08:00
Hayden
dea2dcfde8
feat: allow disable registration (#71) 2022-10-14 14:02:16 -08:00
Hayden
1279028d07 fix build injection 2022-10-13 17:01:18 -08:00
Hayden
ae73b194c4
fix: block self-delete on demo site (#57) 2022-10-13 09:37:29 -08:00
Hayden
30014a77ca
feat: expanded search for items (#46)
* expanded search for items

* range domain from email to example

* implement pagination for items
2022-10-12 21:13:07 -08:00
Hayden
14f1b93d38
chore: remove yaml config option 2022-10-12 13:03:42 -08:00
Hayden
92368dabf8
feat: automate demo-site deployment and configuration (#42)
* add demo env variable

* setup initialization when demo

* disable password when in demo mode

* expose demo status to API

* improve UI for demo instance
2022-10-12 12:53:22 -08:00
Hayden
0c90b05dca
feat: add roles, activation, superuser fields on user (#38) 2022-10-09 09:44:13 -08:00
Hayden
a6d2fd45df
feat: change password (#35)
* refactor: implement factories for testing

* add additional factories

* change protection for dropFields

* prevent timed attacks on login

* use switch instead of else-if

* API implementation for changing password

* add change-password dialog
2022-10-09 09:23:21 -08:00
Hayden
a6e3989aee
fix: ui/ux issues (#34)
* fix select first bug for creation

* add link to header

* fix date and display errors

* drop group name requirement
2022-10-09 05:03:24 -08:00
Hayden
79f7ad40cb
feat: user profiles (#32)
* add user profiles and theme selectors

* lowercase buttons by default

* basic layout

* (wip) init token APIs

* refactor server to support variable options

* fix types

* api refactor / registration tests

* implement UI for url and join

* remove console.logs

* rename repository factory

* fix upload size
2022-10-06 21:54:09 -05:00
Hayden
8ba954674e
feat: versioned migrations (#26)
* enable atlas migrations

* use embedded atlas migrations

* chores

* bad migration example

* tidy

* fix linter issues

* reset migration state

* sort slice before testing

* move temp write logic to migrations package
2022-09-27 20:26:44 -08:00
Hayden
343290a55a
refactor: repositories (#28)
* cleanup unnecessary mocks

* refactor document storage location

* remove unused function

* move ownership to document types to repo package

* move types and mappers to repo package

* refactor sets to own package
2022-09-27 15:52:13 -08:00
Hayden
31b34241e0
feat: item-attachments CRUD (#22)
* change /content/ -> /homebox/

* add cache to code generators

* update env variables to set data storage

* update env variables

* set env variables in prod container

* implement attachment post route (WIP)

* get attachment endpoint

* attachment download

* implement string utilities lib

* implement generic drop zone

* use explicit truncate

* remove clean dir

* drop strings composable for lib

* update item types and add attachments

* add attachment API

* implement service context

* consolidate API code

* implement editing attachments

* implement upload limit configuration

* improve error handling

* add docs for max upload size

* fix test cases
2022-09-24 11:33:38 -08:00
Hayden
6341aebe66 update docs 2022-09-14 09:35:23 -08:00
Hayden
1dc9d6396a setup docker volumes & versions 2022-09-13 21:15:01 -08:00
Hayden
0b92d57b85 embed version in binary 2022-09-13 20:06:07 -08:00
Hayden
95ab14b866
feat: items-editor (#5)
* format readme

* update logo

* format html

* add logo to docs

* repository for document and document tokens

* add attachments type and repository

* autogenerate types via scripts

* use autogenerated types

* attachment type updates

* add insured and quantity fields for items

* implement HasID interface for entities

* implement label updates for items

* implement service update method

* WIP item update client side actions

* check err on attachment

* finish types for basic items editor

* remove unused var

* house keeping
2022-09-12 14:47:27 -08:00
Hayden
ab376134b9 handle parse form error 2022-09-09 10:22:51 -08:00
Hayden
7db55ef1a5 updates 2022-09-09 10:20:38 -08:00
Hayden
a903880f82 initialize CSV Importer 2022-09-06 11:15:07 -08:00
Hayden
e73206875a testing + small fixes 2022-09-04 16:41:12 -08:00
Hayden
5f589f95b8 inject defaults + cleanup 2022-09-04 16:41:12 -08:00
Hayden
687282ca68 confirm casing 2022-09-04 16:41:12 -08:00
Hayden
194a90ccfb drop seeder and PSQL config 2022-09-04 16:41:12 -08:00
Hayden
c2613a03ca define constants at the top 2022-09-04 16:41:12 -08:00
Hayden
61483c3ea4 encapsulate notFoundHandler 2022-09-04 16:41:12 -08:00
Hayden
7ccd48ad79
ci: end-to-end CI testing (#1)
* do end-to-end testing

* set node version

* build then start

* remove test restrictions

* panic if mime type fails

* use timeout
2022-09-03 19:06:55 -08:00
Hayden
ad4c8c9ab4 end-to-end testing setup 2022-09-03 18:42:03 -08:00
Hayden
10f5da4727 comment out admin mw 2022-09-03 10:40:25 -08:00
Hayden
68204a4f22 switch to zero log 2022-09-03 10:38:35 -08:00
Hayden
b33ef5f029 fix linter errors 2022-09-03 01:52:05 -08:00
Hayden
08d6c83fd4 update CI 2022-09-03 01:24:28 -08:00
Hayden
f4f7123073 items and location item count 2022-09-03 01:17:48 -08:00
Hayden
8ece3bd7bf labels create and get 2022-09-01 17:52:40 -08:00
Hayden
f956ec8eb2 label stubs 2022-09-01 15:11:14 -08:00
Hayden
26ecb5a9d4 move to nuxt 2022-09-01 14:32:03 -08:00
Hayden
c7cfb4335b location endpoints 2022-08-30 21:22:01 -08:00
Hayden
682774c9ce cleanup user token access 2022-08-30 18:11:23 -08:00
Hayden
a9f53a4671 cleanup user implementation 2022-08-30 16:40:39 -08:00
Hayden
5471cb16ff logger 2022-08-30 16:07:05 -08:00
Hayden
b83505104a align types with new db schema 2022-08-30 10:05:11 -08:00
Hayden
4c76f6b367 update imports 2022-08-29 18:40:54 -08:00
Hayden
43eba5437a drop cli and bump deps 2022-08-29 18:34:27 -08:00
Hayden
29f583e936 Initial commit 2022-08-29 18:30:36 -08:00