store

package
v0.0.0-...-4cbfb34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

SPDX-Copyright: Copyright (c) Brad Rydzewski, project contributors, Capital One Services, LLC SPDX-License-Identifier: Apache-2.0 Copyright 2017 Brad Rydzewski, project contributors, Capital One Services, LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

SPDX-Copyright: Copyright (c) Brad Rydzewski, project contributors, Capital One Services, LLC SPDX-License-Identifier: Apache-2.0 Copyright 2017 Brad Rydzewski, project contributors, Capital One Services, LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddToContext

func AddToContext(c context.Context, store Store) context.Context

func AddUpdateSlackUrl

func AddUpdateSlackUrl(c context.Context, hostname string, user string, url string) error

func CheckValidUser

func CheckValidUser(c context.Context, login string) (bool, error)

CheckValidUser returns true if the user exists in the valid_user table

func CreateOrg

func CreateOrg(c context.Context, org *model.OrgDb) error

CreateOrg creates a new auto-enrolling org.

func CreateRepo

func CreateRepo(c context.Context, repo *model.Repo) error

CreateRepo creates a new repository.

func CreateUser

func CreateUser(c context.Context, user *model.User) error

CreateUser creates a new user account.

func DeleteOrg

func DeleteOrg(c context.Context, org *model.OrgDb) error

DeleteOrg deletes an auto-enrolling org

func DeleteRepo

func DeleteRepo(c context.Context, repo *model.Repo) error

DeleteRepo deletes a user repository.

func DeleteSlackUrl

func DeleteSlackUrl(c context.Context, hostname string, user string) error

func DeleteUser

func DeleteUser(c context.Context, user *model.User) error

DeleteUser deletes a user account.

func GetAllRepos

func GetAllRepos(c context.Context) ([]*model.Repo, error)

GetAllRepos gets a list of all repositories.

func GetAllUsers

func GetAllUsers(c context.Context) ([]*model.User, error)

GetAllUsers gets a list of all users.

func GetOrgName

func GetOrgName(c context.Context, owner string) (*model.OrgDb, error)

func GetRepo

func GetRepo(c context.Context, id int64) (*model.Repo, error)

GetRepo gets a repo by unique ID.

func GetRepoIntersect

func GetRepoIntersect(c context.Context, repos []*model.Repo) ([]*model.Repo, error)

GetRepoIntersect gets a repo list by account login.

func GetRepoIntersectMap

func GetRepoIntersectMap(c context.Context, repos []*model.Repo) (map[string]*model.Repo, error)

GetRepoIntersectMap gets a repo set by account login where the key is the repository slug and the value is the repository struct.

func GetRepoMulti

func GetRepoMulti(c context.Context, slug ...string) ([]*model.Repo, error)

GetRepoMulti gets a list of multiple repos by their full name.

func GetRepoOwnerName

func GetRepoOwnerName(c context.Context, owner, name string) (*model.Repo, error)

GetRepoOwnerName gets a repo by its owner and name.

func GetRepoSlug

func GetRepoSlug(c context.Context, slug string) (*model.Repo, error)

GetRepoSlug gets a repo by its full name.

func GetRepoUserId

func GetRepoUserId(c context.Context, id int64) ([]*model.Repo, error)

GetRepoUserId gets a repo list by unique user ID.

func GetReposForOrg

func GetReposForOrg(c context.Context, owner string) ([]*model.Repo, error)

GetReposForOrg returns all repos in the specified org

func GetSlackUrl

func GetSlackUrl(c context.Context, hostname string, user string) (string, error)

func GetUser

func GetUser(c context.Context, id int64) (*model.User, error)

GetUser gets a user by unique ID.

func GetUserEnabledOrgs

func GetUserEnabledOrgs(c context.Context, names []string) ([]*model.OrgDb, error)

func GetUserLogin

func GetUserLogin(c context.Context, login string) (*model.User, error)

GetUserLogin gets a user by unique Login name.

func GetValidOrgs

func GetValidOrgs(c context.Context) (set.Set, error)

func ToContext

func ToContext(c Setter, store Store)

ToContext adds the Store to this context if it supports the Setter interface.

func UpdateRepo

func UpdateRepo(c context.Context, repo *model.Repo) error

UpdateRepo updates a user repository.

func UpdateUser

func UpdateUser(c context.Context, user *model.User) error

UpdateUser updates a user account.

Types

type Setter

type Setter interface {
	Set(string, interface{})
}

Setter defines a context that enables setting values.

type Store

type Store interface {
	// GetMigrations gets the set of migrations that were applied when service started
	GetMigrations() set.Set

	// GetUser gets a user by unique ID.
	GetUser(int64) (*model.User, error)

	// GetUserLogin gets a user by unique Login name.
	GetUserLogin(string) (*model.User, error)

	// CreateUser creates a new user account.
	CreateUser(*model.User) error

	// UpdateUser updates a user account.
	UpdateUser(*model.User) error

	// DeleteUser deletes a user account.
	DeleteUser(*model.User) error

	// GetAllUsers gets a list of all users.
	GetAllUsers() ([]*model.User, error)

	// GetRepo gets a repo by unique ID.
	GetRepo(int64) (*model.Repo, error)

	// GetRepoSlug gets a repo by its full name.
	GetRepoSlug(string) (*model.Repo, error)

	// GetRepoMulti gets a list of multiple repos by their full name.
	GetRepoMulti(...string) ([]*model.Repo, error)

	// GetAllRepos gets a list of all repositories.
	GetAllRepos() ([]*model.Repo, error)

	// GetRepoUserId gets a list by user unique ID.
	GetRepoUserId(int64) ([]*model.Repo, error)

	// CreateRepo creates a new repository.
	CreateRepo(*model.Repo) error

	// UpdateRepo updates a user repository.
	UpdateRepo(*model.Repo) error

	// DeleteRepo deletes a user repository.
	DeleteRepo(*model.Repo) error

	// CheckValidUser returns true if the user exists in the valid_user table
	CheckValidUser(string) (bool, error)

	// GetValidOrgs returns a list of the entries in the valid_orgs table
	GetValidOrgs() ([]string, error)

	// GetUserEnabledOrgs the auto-enrolling orgs with the specified names
	GetUserEnabledOrgs(names []string) ([]*model.OrgDb, error)

	// Returns the auto-enrolling org with the specified name
	GetOrgByName(owner string) (*model.OrgDb, error)

	// CreateOrg creates a new auto-enrolling org.
	CreateOrg(org *model.OrgDb) error

	// DeleteOrg deletes an auto-enrolling org.
	DeleteOrg(org *model.OrgDb) error

	// GetReposForOrg returns all repos in the specified org
	GetReposForOrg(owner string) ([]*model.Repo, error)

	// Returns the slack URL for the specified hostname and user
	// if the user string is blank, the default (admin-level) hostname is returned
	// if no hostname is found, an empty string is returned
	GetSlackUrl(hostname string, user string) (string, error)

	// Stores or updates the slack URL for the specified hostname and user
	// if the user string is blank, the default (admin-level) hostname is stored or updated
	AddUpdateSlackUrl(hostname string, user string, url string) error

	// Deletes the slack URL for the specified hostname and user
	// if the user string is blank, the default (admin-level) hostname is deleted
	DeleteSlackUrl(hostname string, user string) error
}

Store defines a data storage abstraction for managing structured data in the system.

func FromContext

func FromContext(c context.Context) Store

FromContext returns the Store associated with this context.

Directories

Path Synopsis
SPDX-Copyright: Copyright (c) Brad Rydzewski, project contributors, Capital One Services, LLC SPDX-License-Identifier: Apache-2.0 Copyright 2017 Brad Rydzewski, project contributors, Capital One Services, LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
SPDX-Copyright: Copyright (c) Brad Rydzewski, project contributors, Capital One Services, LLC SPDX-License-Identifier: Apache-2.0 Copyright 2017 Brad Rydzewski, project contributors, Capital One Services, LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL